- class sdr.PSK
Implements phase-shift keying (PSK) modulation and demodulation.
Examples¶
See the Phase-shift keying example.
Constructors¶
-
PSK(order: int, phase_offset: float =
0.0
, ...) Creates a new PSK object.
Methods¶
-
bit_error_rate(ebn0: ArrayLike | None =
None
) ndarray Computes the bit error rate (BER) at the provided \(E_b/N_0\) values.
- demodulate(x_hat: ArrayLike) ndarray
Demodulates the complex symbols \(\hat{x}[k]\) to decimal symbols \(\hat{s}[k]\) using maximum-likelihood estimation.
- modulate(symbols: ArrayLike) ndarray
Modulates to decimal symbols \(s[k]\) to complex symbols \(x[k]\).
-
symbol_error_rate(esn0: ArrayLike | None =
None
) ndarray Computes the symbol error rate (SER) at the provided \(E_s/N_0\) values.
Properties¶
- property phase_offset : float
The phase offset \(\phi\) in degrees.
- property symbol_map : ndarray
The symbol map \(\{0, \dots, M-1\} \mapsto \mathbb{C}\). This maps decimal symbols from \(0\) to \(M-1\) to complex symbols.
-
PSK(order: int, phase_offset: float =