comnum.monte_carlo_gmi#

comnum.monte_carlo_gmi(rx, tx, constellation, *, px=None)#

Generalised mutual information of bit-wise decoding (OptiCommPy monteCarloGMI).

Parameters:
  • rx (array_like) – the received symbols.

  • tx (array_like) – the transmitted symbols.

  • constellation (Constellation) – the alphabet.

  • px (array_like, optional) – prior probabilities of the points (probabilistic shaping); uniform by default. The constellation is normalised to unit energy under them and the LLRs include them.

Returns:

GMI (bits/symbol) and normalised GMI (per bit of information, GMI / H(X)).

Return type:

tuple[float, float]

Raises:

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