comnum.theory_ser#

comnum.theory_ser(m, ebn0_db, kind='qam')#

Theoretical SER over AWGN (exact for square QAM and PAM, a tight bound for PSK).

Parameters:
  • m (int) – order.

  • ebn0_db (float | array_like) – E_b/N_0 (dB).

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

Returns:

the symbol error probability at every E_b/N_0.

Return type:

float | numpy.ndarray

Raises:

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

Examples

>>> import comnum
>>> round(comnum.theory_ser(2, 0.0, "psk"), 6)
0.07865
>>> bool(comnum.theory_ser(16, 10.0) > comnum.theory_ber(16, 10.0))
True