MIMO — Capacity path
1. Intro → 2. Channel model → 3. SISO capacity → 4. Ergodic SISO → 5. MIMO capacity
Tools: Shannon calculator
Introduction
Capacity formulas and diversity analyses assume you already have a channel model. Skip that step, jump straight to \(\log\det\), and it is hard to see why correlated antennas multiplex poorly. So we build the flat MIMO channel from scratch, simulate it, and meet the SVD that turns a matrix into parallel gains.
Motive
We need a model simple enough to analyse and rich enough to show rank, condition number, and correlation. The i.i.d. Rayleigh matrix is the usual starting point. Once you can draw \(\mathbf{H}\), compute its singular values, and form \(\mathbf{HH}^H\), every later capacity Monte Carlo is just a loop around those steps.
Technical development
Flat-fading MIMO equation
Within one coherence block, after pulse shaping and matched filtering, a narrowband MIMO link is
\[\mathbf{y}=\mathbf{Hx}+\mathbf{n}, \qquad H_{ij}\sim\mathcal{CN}(0,1)\ \text{i.i.d. in the canonical model.}\]The noise is usually taken i.i.d. \(\mathcal{CN}(0,N_0)\) across receive antennas. The i.i.d. assumption on \(H_{ij}\) means the antennas are far enough apart, and the scattering rich enough, that no two paths share a fade. Real arrays violate that; a Kronecker model \(\mathbf{R}_r^{1/2}\mathbf{H}_w\mathbf{R}_t^{1/2}\) reintroduces correlation when you need it.
SVD and parallel channels
Any matrix admits a singular value decomposition \(\mathbf{H}=\mathbf{U}\boldsymbol{\Sigma}\mathbf{V}^H\). If the transmitter precodes with \(\mathbf{V}\) and the receiver shapes with \(\mathbf{U}^H\), the link becomes a set of non-interfering gains \(\sigma_1\ge\sigma_2\ge\cdots\). Without transmitter CSI you cannot diagonalise with \(\mathbf{V}\), but the eigenvalues of \(\mathbf{HH}^H\) still appear inside the capacity determinant.

How this achieves the motive
Figure 1 makes the point. Four antennas do not automatically give four equal pipes; they give four numbers \(\sigma_i\), some large, some small. Capacity and multiplexing live in those numbers. Diversity lives in how \(\mathbf{H}\) wanders over time. Correlation squeezes the singular-value spread further—worth remembering when someone claims “\(8\times 8\) MIMO” in a line-of-sight hallway.
Sample simulation
import numpy as np
import matplotlib.pyplot as plt
rng = np.random.default_rng(0)
H = (rng.standard_normal((4, 4)) + 1j * rng.standard_normal((4, 4))) / np.sqrt(2)
s = np.linalg.svd(H, compute_uv=False)
print("singular values:", np.round(s, 3))
plt.figure(figsize=(7, 4))
plt.stem(np.arange(1, 5), s)
plt.xlabel("index i"); plt.ylabel("sigma_i(H)")
plt.title("One 4x4 i.i.d. Rayleigh draw")
plt.grid(True); plt.show()
Sample results
With seed 0 the stem plot matches Figure 1. Re-run with other seeds: sometimes the fourth singular value is tiny, sometimes the first two dominate. That variability is why ergodic capacity averages over many matrices, and why outage capacity asks for a rate that almost all matrices can support.
Next topic
With a channel model in hand, ask what rate a single antenna link supports when \(h\) fades. That is SISO capacity over a fading channel—the natural step before MIMO capacity.
References
- D. Tse and P. Viswanath, Fundamentals of Wireless Communication, Cambridge University Press, Cambridge, UK, 2005. Chapters 7–8.
- A. Paulraj, R. Nabar, and D. Gore, Introduction to Space-Time Wireless Communications, Cambridge University Press, Cambridge, UK, 2003.
- A. Goldsmith, Wireless Communications, Cambridge University Press, Cambridge, UK, 2005.
Frequently asked questions
Why model the MIMO channel as a matrix of i.i.d. complex Gaussians? The i.i.d. Rayleigh model assumes rich scattering and enough antenna separation that the paths fade independently. It maximises the typical rank of \(\mathbf{H}\) and is the standard baseline for capacity and diversity analysis. Real arrays often need a Kronecker or measured correlation model on top.
What does the singular-value decomposition of \(\mathbf{H}\) achieve? Writing \(\mathbf{H}=\mathbf{U}\boldsymbol{\Sigma}\mathbf{V}^H\) exposes parallel gains \(\sigma_i\). With transmitter CSI you can precode along \(\mathbf{V}\) and receive along \(\mathbf{U}^H\) to obtain non-interfering spatial streams. Without transmitter CSI the eigenvalues of \(\mathbf{HH}^H\) still appear inside the capacity determinant.
When do correlated antennas hurt spatial multiplexing? Correlation reduces the spread of singular values: weak modes become weaker. In a line-of-sight hallway or with closely spaced handset antennas, the effective rank drops and multiplexing gain shrinks even if the brochure still lists many antennas.
Why average capacity over many channel draws? One realisation of \(\mathbf{H}\) can be unusually well or poorly conditioned. Ergodic capacity is the expected mutual information over the ensemble of fades; outage capacity instead asks for a rate that almost all realisations can support.
How can this article be cited? Does this text appear in one of your books?
This article is not part of any of my books. It is only available here.
To cite, please use the following format:
Viswanathan Mathuranathan, “Characterizing a MIMO channel – Channel State Information (CSI) and Condition number”, Gaussianwaves.com, August 20, 2014, https://www.gaussianwaves.com/2014/08/characterizing-a-mimo-channel/
Thank you