comnum.theory_cm_capacity#
- comnum.theory_cm_capacity(constellation, snr_db, *, fading='awgn', points=Ellipsis)#
The CM capacity (bits per channel use) of a constellation with uniform inputs over AWGN or Rayleigh fading known at the receiver (Caire, Taricco & Biglieri 1998, eq. (10)):
theory_mi()of any constellation, uniform inputs.- Parameters:
constellation (Constellation) – the points (normalised inside).
snr_db (float | array_like) –
E_s/σ²(dB).fading (str) –
"awgn"or"rayleigh".points (int) – quadrature nodes per dimension.
- Returns:
the capacity at every SNR.
- Return type:
- Raises:
ValueError – for an invalid parameter or input (the message names it).
Examples
>>> import comnum >>> round(comnum.theory_cm_capacity(comnum.Constellation("qam", 4), 30.0), 6) 2.0