sdr.ebn0_to_snr(ebn0: ArrayLike, bps: int, rate: int = 1, sps: int = 1) NDArray[float_]

Converts from Eb/N0 to S/N.

SN=EbN0knlog2Mfsymfs

Parameters:
ebn0: ArrayLike

Bit energy Eb to noise PSD N0 ratio in dB.

bps: int

Bits per symbol log2M, 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 fs/fsym.

Returns:

The signal-to-noise ratio S/N in dB.

Examples

Convert from Eb/N0=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 Eb/N0=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