Massive MIMO Simulation
Massive MIMO: Many Antennas, Simple Processing
Massive MIMO uses a very large number of base station antennas ( users) to concentrate energy to each user through beamforming. The remarkable result: as , even simple matched filtering becomes optimal, and all interference vanishes.
Definition: Massive MIMO System Model
Massive MIMO System Model
A massive MIMO base station with antennas serves single-antenna users ():
where and the BS applies conjugate beamforming (matched filter):
def massive_mimo_mf(y, H):
"""Conjugate beamforming / matched filter detection."""
return H.conj().T @ y
Definition: Channel Hardening
Channel Hardening
As , the Gram matrix converges:
This means the effective channel for each user becomes deterministic (no fading), eliminating the need for fast channel estimation.
Theorem: Favorable Propagation in Massive MIMO
For i.i.d. Rayleigh fading with antennas and users:
The user channels become asymptotically orthogonal. Matched filtering achieves near-optimal performance without matrix inversion.
With many antennas, random channel vectors in are nearly orthogonal by the law of large numbers.
Theorem: Spectral Efficiency Scaling
With conjugate beamforming, pilot contamination, and antennas serving users, the per-user uplink SE is:
where is the uplink SNR and is the pilot SNR. SE grows with but saturates due to pilot contamination.
Adding more antennas always helps, but pilot contamination from neighboring cells creates an interference floor.
Example: Simulating Massive MIMO with 64 Antennas
Simulate a massive MIMO system with antennas and users. Compare conjugate beamforming with ZF processing.
Implementation
M, K = 64, 8
rng = np.random.default_rng(42)
H = (rng.standard_normal((M, K)) + 1j*rng.standard_normal((M, K))) / np.sqrt(2*M)
# Channel hardening: H^H @ H -> I
gram = H.conj().T @ H
print(f"||H^H H - I|| = {np.linalg.norm(gram*M - np.eye(K)):.3f}")
# Conjugate BF
W_mf = H.conj()
# ZF
W_zf = H @ np.linalg.inv(H.conj().T @ H)
Massive MIMO Performance Scaling
Explore how massive MIMO performance scales with the number of antennas.
Parameters
Massive MIMO Concept
Quick Check
What does 'channel hardening' mean in massive MIMO?
The channel becomes more difficult to estimate
The effective channel gain becomes deterministic (no fading)
The channel becomes frequency-selective
The channel becomes rank-deficient
With many antennas, , eliminating fading fluctuations.
Key Takeaway
Massive MIMO () provides channel hardening and favorable propagation: simple matched filtering becomes near-optimal, and the system becomes interference-free as . This is why 5G base stations use 64-256 antennas.
Massive MIMO
A MIMO system with a very large number of base station antennas (typically ) serving many fewer users simultaneously.
Channel Hardening
The phenomenon where the effective channel gain becomes nearly deterministic as the number of antennas grows large.
Pilot Contamination
Interference in channel estimation caused by reuse of the same pilot sequences in neighboring cells; the fundamental limit of massive MIMO.