pub fn gmi(
kind: ConstellationKind,
m: usize,
snr_db: f64,
px: Option<&[f64]>,
points: usize,
) -> Result<f64>Expand description
Generalised mutual information (bits/symbol) of the bit-wise decoder of a Gray-labelled
constellation over AWGN, by Gauss–Hermite quadrature (OptiCommPy theoryGMI).
GMI = H(X) - Σ_k H(B_k | Y) with the labels of the points (point i carries the
bits of i); same channel conventions and parameters as mi. For uniform symbols
it is Σ_k I(B_k; Y), OptiCommPy’s formula; with shaping the bits are dependent and
Σ_k I(B_k; Y) can exceed the entropy of the source, while H(X) - Σ_k H(B_k | Y)
is the rate achievable by bit-metric decoding (Böcherer 2014) and the limit of the
Monte Carlo estimators (OptiCommPy’s monteCarloGMI included).
G. Böcherer, “Achievable rates for shaped bit-metric decoding,” arXiv:1410.8075, 2014; A. Alvarado, T. Fehenberger, B. Chen and F. M. J. Willems, J. Lightw. Technol., 36(2), 424–439, 2018.
§Errors
Error::Config for an invalid constellation or probabilities.