comnum.theory_gmi#

comnum.theory_gmi(m, snr_db, kind='qam', *, px=None, fading='awgn', points=Ellipsis)#

Generalised mutual information of a Gray-labelled constellation over AWGN (OptiCommPy theoryGMI) or Rayleigh fading known at the receiver, by Gauss–Hermite quadrature.

Parameters:
  • m (int) – order.

  • snr_db (float | array_like) – E_s/σ² (dB), as theory_mi.

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

  • px (array_like, optional) – probabilities of the points.

  • fading (str) – "awgn" or "rayleigh".

  • points (int) – quadrature nodes per dimension.

Returns:

the GMI (bits/symbol) at every SNR.

Return type:

float | numpy.ndarray

Raises:

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