Skip to main content

gmi

Function gmi 

Source
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.