Expand description
Capacity of a MIMO channel realisation.
With the total transmit power $P$, the receiver noise variance $\sigma^{2}$ and $\rho = P / \sigma^{2}$:
- without channel knowledge at the transmitter, equal power on every antenna:
$$ C = \log_{2} \det\left(I_{n_{r}} + \frac{\rho}{n_{t}} H H^{H}\right); $$
- with channel knowledge, water-filling on the eigenmodes:
$C = \sum_{i} \log_{2}(1 + p_{i} \sigma_{i}^{2})$ (see
crate::precoding).
The ergodic capacity of a fading channel is the mean of these over the channel
realisations. Over the i.i.d. Rayleigh channel (entries $\mathcal{CN}(0, 1)$) it has
the closed form of Telatar (1999, Theorem 2), ergodic_rayleigh: with
$m = \min(n_{r}, n_{t})$, $n = \max(n_{r}, n_{t})$ and the associated Laguerre
polynomials $L_{k}^{n-m}$,
$$ C = \int_{0}^{\infty} \log_{2}\left(1 + \frac{\rho}{n_{t}} \lambda\right) \sum_{k=0}^{m-1} \frac{k!}{(k+n-m)!} \left[L_{k}^{n-m}(\lambda)\right]^{2} \lambda^{n-m} e^{-\lambda} , d\lambda , $$
the sum being $m$ times the density of an unordered eigenvalue of the Wishart matrix
$H H^{H}$ or $H^{H} H$ (wishart_eigenvalue_density). ergodic_rayleigh_limit
is its slope for $n_{r} = n_{t} \to \infty$ (eq. (13)). When $H$ is drawn once and
held, the rate $R$ is in outage with the probability outage_rayleigh
(eq. (16) and Example 7, for one antenna on one side), and outage_capacity_rayleigh
is the largest rate of outage probability $\varepsilon$ (eqs. (17), (18)).
§Examples
use comnum_mimo::capacity::{equal_power, water_filling};
use comnum_math::linalg::identity;
// two parallel unit channels at ρ = 10: 2 log2(1 + 5)
let h = identity(2);
assert!((equal_power(&h.view(), 10.0)? - 2.0 * 6f64.log2()).abs() < 1e-12);
assert!((water_filling(&h.view(), 10.0)? - 2.0 * 6f64.log2()).abs() < 1e-12);§References
- E. Telatar, “Capacity of multi-antenna Gaussian channels,” Eur. Trans. Telecommun., 10(6), 1999.
- G. J. Foschini and M. J. Gans, “On limits of wireless communications in a fading environment when using multiple antennas,” Wireless Pers. Commun., 6(3), 1998.
Functions§
- equal_
power - Capacity with equal power on the $n_{t}$ antennas (bits per channel use).
- ergodic_
rayleigh - Ergodic capacity (bits per channel use) of the i.i.d. Rayleigh channel with
n_rxreceive andn_txtransmit antennas, the total SNRsnr_lin(linear) spread equally on the transmit antennas, the channel known at the receiver only: Telatar (1999), Theorem 2, eq. (8), integrated by Simpson’s rule in $\lambda$ up to well beyond the largest eigenvalue after the change of variable $\lambda = u^{2}$ (the Laguerre functions oscillate with a nearly constant period in $u$), to about $10^{-10}$ relative. It is the mean ofequal_powerover the realisations of $H$. - ergodic_
rayleigh_ limit - The limit of $C / n$ (bits per channel use and per antenna) of
ergodic_rayleighwith $n$ antennas on each side, $n \to \infty$, at the total SNR $\rho$ (Telatar 1999, eq. (13), from the quarter-circle law of the eigenvalues of $H H^{H} / n$): - outage_
capacity_ rayleigh - The $\varepsilon$-capacity (bits per channel use) of
outage_rayleigh: the rate $R$ whose outage probability iseps(Telatar 1999, eqs. (17) and (18), Figs. 3 and 5), $R = \log_{2}(1 + \rho x / n_{t})$ with $P(k, x) = \varepsilon$ solved by bisection. - outage_
rayleigh - The outage probability $P(\log_{2} \det(I + \frac{\rho}{n_{t}} H H^{H}) < R)$ of a
rate
rate(bits per channel use) over a Rayleigh channel drawn once, with equal power on the transmit antennas and one antenna on one side. $\lVert h \rVert^{2}$ is then a gamma variable of shape $k = \max(n_{r}, n_{t})$, and - water_
filling - Capacity with water-filling on the eigenmodes (bits per channel use).
- wishart_
eigenvalue_ density - The density of one unordered eigenvalue of the complex Wishart matrix $H H^{H}$, $H$ of size $m \times n$ ($m \le n$) with i.i.d. $\mathcal{CN}(0, 1)$ entries (Telatar 1999, eq. preceding (8)):