Modulation¶
Linear modulations¶
- class sdr.LinearModulation
- Implements linear phase/amplitude modulation with arbitrary symbol mapping. 
- class sdr.PSK(sdr.LinearModulation)
- Implements phase-shift keying (PSK) modulation and demodulation. 
- class sdr.PiMPSK(sdr.PSK)
- Implements \(\pi/M\) phase-shift keying (\(\pi/M\) PSK) modulation and demodulation. 
- class sdr.OQPSK(sdr.PSK)
- Implements offset quadrature phase-shift keying (OQPSK) modulation and demodulation. 
Orthogonal modulations¶
Pulse shaping¶
- sdr.raised_cosine(alpha: float, span: int, sps: int, ...) ndarray
- Returns a raised cosine (RC) pulse shape. 
- sdr.root_raised_cosine(alpha: float, span: int, sps, ...) ndarray
- Returns a square root raised cosine (SRRC) pulse shape. 
Symbol mapping¶
- sdr.binary_code(n: int) ndarray
- Generates a binary code of length \(2^n\). 
Symbol encoding¶
- 
sdr.diff_encode(x: ArrayLike, y_prev: int = 0) ndarray
- Differentially encodes the input data \(x[k]\). 
- 
sdr.diff_decode(y: ArrayLike, y_prev: int = 0) ndarray
- Differentially decodes the input data \(y[k]\). 
  
    
      Last update:
      Aug 27, 2023