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