-
sdr.ebn0_to_snr(ebn0: ArrayLike, bps: int, rate: int =
1
, sps: int =1
) NDArray[float_] Converts from \(E_b/N_0\) to \(S/N\).
\[ \frac{S}{N} = \frac{E_b}{N_0} \frac{k}{n} \log_2 M \frac{f_{sym}}{f_s} \]- Parameters:¶
- ebn0: ArrayLike¶
Bit energy \(E_b\) to noise PSD \(N_0\) ratio in dB.
- bps: int¶
Bits per symbol \(\log_2 M\), where \(M\) is the modulation order.
- rate: int =
1
¶ Code rate \(r = k/n\), where \(k\) is the number of information bits and \(n\) is the number of coded bits.
- sps: int =
1
¶ Samples per symbol \(f_s / f_{sym}\).
- Returns:¶
The signal-to-noise ratio \(S/N\) in dB.
Examples¶
Convert from \(E_b/N_0 = 5\) dB to \(S/N\) for a 4-QAM signal with \(r = 2/3\) and 1 sample per symbol.
In [1]: sdr.ebn0_to_snr(5, 2, rate=2/3, sps=1) Out[1]: 6.249387366082999
Convert from \(E_b/N_0 = 10\) dB to \(S/N\) for a 16-QAM signal with \(r = 1\) and 4 samples per symbol.
In [2]: sdr.ebn0_to_snr(10, 4, rate=1, sps=4) Out[2]: 10.0