comnum.theory_ser_esn0#

comnum.theory_ser_esn0(m, esn0_db, kind='qam')#

Theoretical SER over AWGN as a function of E_s/N_0: theory_ser() with E_b/N_0 = E_s/N_0 - 10 log10(log2 M), for the links whose SNR is per symbol.

Parameters:
  • m (int) – order.

  • esn0_db (float | array_like) – E_s/N_0 (dB).

  • kind (str) – "qam", "psk" or "pam".

Returns:

the symbol error probability at every E_s/N_0.

Return type:

float | numpy.ndarray

Raises:

ValueError – for an invalid parameter or input (the message names it).

Examples

>>> import comnum, math
>>> a = comnum.theory_ser_esn0(4, 10.0 + 10 * math.log10(2))
>>> round(a / comnum.theory_ser(4, 10.0), 12)
1.0