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.
Continuous-phase modulations¶
- class sdr.CPM
Implements continuous-phase modulation (CPM).
Orthogonal modulations¶
Pulse shaping¶
-
sdr.rectangular(sps: int, span: int =
1
, ...) NDArray[float64] Returns a rectangular pulse shape.
- sdr.gaussian(time_bandwidth: float, span, ...) NDArray[float64]
Returns a Gaussian pulse shape.
- sdr.raised_cosine(alpha: float, span: int, ...) NDArray[float64]
Returns a raised cosine (RC) pulse shape.
- sdr.root_raised_cosine(alpha: float, span, ...) NDArray[float64]
Returns a square root raised cosine (SRRC) pulse shape.
Symbol encoding¶
-
sdr.diff_encode(x: ArrayLike, y_prev: int =
0
) NDArray[int_] Differentially encodes the input data \(x[k]\).
-
sdr.diff_decode(y: ArrayLike, y_prev: int =
0
) NDArray[int_] Differentially decodes the input data \(y[k]\).
Last update:
Jan 27, 2024