- sdr.plot.ser(esn0: ArrayLike, ser: ArrayLike, **kwargs)
Plots the symbol error rate (SER) as a function of \(E_s/N_0\).
- Parameters:¶
- esn0: ArrayLike¶
The symbol energy \(E_s\) to noise PSD \(N_0\) ratio (dB).
- ser: ArrayLike¶
The symbol error rate \(P_e\).
- **kwargs
Additional keyword arguments to pass to
matplotlib.pyplot.semilogy()
.
Examples¶
Plot theoretical SER curves for BPSK, QPSK, and 8-PSK in an AWGN channel.
In [1]: bpsk = sdr.PSK(2); \ ...: qpsk = sdr.PSK(4); \ ...: psk8 = sdr.PSK(8); \ ...: esn0 = np.linspace(0, 10, 1000) ...: In [2]: plt.figure(figsize=(8, 4)); \ ...: sdr.plot.ser(esn0, bpsk.symbol_error_rate(esn0), label="BPSK"); \ ...: sdr.plot.ser(esn0, qpsk.symbol_error_rate(esn0), label="QPSK"); \ ...: sdr.plot.ser(esn0, psk8.symbol_error_rate(esn0), label="8-PSK"); \ ...: plt.title("SER curves for BPSK, QPSK, and 8-PSK in an AWGN channel"); \ ...: plt.tight_layout(); ...: