sdr.snr_to_ebn0(snr: ArrayLike, bps: ArrayLike, rate: ArrayLike = 1.0, sps: ArrayLike = 1) NDArray[float64]

Converts from S/N to Eb/N0.

EbN0=SNfsfsymnk1log2M

Parameters:
snr: ArrayLike

Signal-to-noise ratio S/N in dB.

bps: ArrayLike

Coded bits per symbol log2M, where M is the modulation order.

rate: ArrayLike = 1.0

Code rate r=k/n, where k is the number of information bits and n is the number of coded bits.

sps: ArrayLike = 1

Samples per symbol fs/fsym.

Returns:

The bit energy Eb to noise PSD N0 ratio in dB.

Examples

Convert from S/N=5 dB to Eb/N0 for a 4-QAM signal with r=2/3 and 1 sample per symbol.

In [1]: sdr.snr_to_ebn0(5, 2, rate=2/3, sps=1)
Out[1]: 3.7506126339170005

Convert from S/N=10 dB to Eb/N0 for a 16-QAM signal with r=1 and 4 samples per symbol.

In [2]: sdr.snr_to_ebn0(10, 4, rate=1, sps=4)
Out[2]: 10.0