comnum.theory_ergodic_capacity#

comnum.theory_ergodic_capacity(n_rx, n_tx, snr_db)#

The ergodic capacity (bits per channel use) of the i.i.d. Rayleigh MIMO channel with equal power on the transmit antennas, in closed form (Telatar 1999, Theorem 2): the mean of mimo_capacity over the realisations.

Parameters:
  • n_rx (int) – receive antennas.

  • n_tx (int) – transmit antennas.

  • snr_db (float | array_like) – total transmit power over the noise variance per receive antenna (dB).

Returns:

the capacity at every SNR.

Return type:

float | numpy.ndarray

Raises:

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

Examples

>>> import comnum
>>> round(comnum.theory_ergodic_capacity(1, 1, 10.0), 4)   # log2(e) e^0.1 E1(0.1)
2.9065