MIMO Receivers

The MIMO Detection Challenge

Given the received signal y=Hx+n\mathbf{y} = \mathbf{H}\mathbf{x} + \mathbf{n}, how do we recover the transmitted vector x\mathbf{x}? This is a vector detection problem where inter-antenna interference makes the streams coupled. The optimal ML detector has exponential complexity in NtN_t, motivating a hierarchy of sub-optimal but practical receivers. Understanding their performance-complexity trade-offs is central to MIMO system design.

Definition:

Maximum-Likelihood (ML) MIMO Detector

The ML detector jointly searches over all possible transmitted vectors to find:

x^ML=arg⁑min⁑x∈SNtβˆ₯yβˆ’Hxβˆ₯2\hat{\mathbf{x}}_{\text{ML}} = \arg\min_{\mathbf{x} \in \mathcal{S}^{N_t}} \|\mathbf{y} - \mathbf{H}\mathbf{x}\|^2

where S\mathcal{S} is the scalar constellation set (e.g., QPSK).

For a constellation of size ∣S∣=M|\mathcal{S}| = M and NtN_t transmit antennas, the ML detector evaluates MNtM^{N_t} candidate vectors. This exponential complexity makes ML detection impractical for large NtN_t or high-order modulation.

The ML detector achieves the optimal diversity order NrN_r for spatial multiplexing (no transmit-side coding). Sphere decoding can reduce the average complexity while preserving ML optimality, but its worst-case complexity remains exponential.

Definition:

Zero-Forcing (ZF) MIMO Receiver

The ZF receiver applies the pseudo-inverse of H\mathbf{H}:

x^ZF=(HHH)βˆ’1HHy=x+(HHH)βˆ’1HHn\hat{\mathbf{x}}_{\text{ZF}} = (\mathbf{H}^{H}\mathbf{H})^{-1}\mathbf{H}^{H} \mathbf{y} = \mathbf{x} + (\mathbf{H}^{H}\mathbf{H})^{-1}\mathbf{H}^{H} \mathbf{n}

The ZF receiver completely eliminates inter-stream interference but amplifies noise. The post-detection SNR for stream kk is:

SNRkZF=1Οƒ2[(HHH)βˆ’1]kk\text{SNR}_{k}^{\text{ZF}} = \frac{1}{\sigma^2 [(\mathbf{H}^{H}\mathbf{H})^{-1}]_{kk}}

The noise enhancement is particularly severe when H\mathbf{H} is ill-conditioned (when singular values span a wide range).

ZF requires Nrβ‰₯NtN_r \geq N_t so that HHH\mathbf{H}^{H}\mathbf{H} is invertible. Its diversity order is only Nrβˆ’Nt+1N_r - N_t + 1, which can be much less than the ML diversity order of NrN_r.

Definition:

MMSE MIMO Receiver

The MMSE receiver minimises the mean squared error E[βˆ₯x^βˆ’xβˆ₯2]\mathbb{E}[\|\hat{\mathbf{x}} - \mathbf{x}\|^2]:

x^MMSE=(HHH+Οƒ2INt)βˆ’1HHy\hat{\mathbf{x}}_{\text{MMSE}} = \left(\mathbf{H}^{H}\mathbf{H} + \sigma^2 \mathbf{I}_{N_t}\right)^{-1}\mathbf{H}^{H} \mathbf{y}

The MMSE filter balances interference suppression and noise amplification by adding a regularisation term Οƒ2I\sigma^2\mathbf{I}. The post-detection SINR for stream kk is:

SINRkMMSE=1[(HHH+Οƒ2I)βˆ’1]kkβˆ’1\text{SINR}_k^{\text{MMSE}} = \frac{1}{[(\mathbf{H}^{H}\mathbf{H} + \sigma^2\mathbf{I})^{-1}]_{kk}} - 1

At high SNR, MMSE converges to ZF; at low SNR, it reduces to a matched filter.

The MMSE receiver achieves the same diversity order as ZF (Nrβˆ’Nt+1N_r - N_t + 1) but with a significant SNR advantage, especially in ill-conditioned channels.

Definition:

Ordered Successive Interference Cancellation (OSIC)

Ordered SIC (OSIC) extends linear detection (ZF or MMSE) with successive cancellation and optimal ordering:

  1. Find the strongest layer: determine which stream kk has the highest post-detection SNR/SINR under the current linear filter.
  2. Detect: apply the kk-th row of the linear filter to y\mathbf{y} and make a hard decision x^k\hat{x}_k.
  3. Cancel: subtract the detected layer's contribution x^khk\hat{x}_k \mathbf{h}_k from y\mathbf{y}.
  4. Deflate: remove column kk from H\mathbf{H} and repeat from step 1 with the reduced system.

OSIC improves the diversity order compared to pure linear detection. With MMSE-OSIC, the first detected layer achieves diversity Nrβˆ’Nt+1N_r - N_t + 1 and subsequent layers achieve progressively higher diversity orders.

,

MMSE-OSIC Detection Algorithm

Complexity: O(Nt2Nr)O(N_t^2 N_r) per iteration, O(Nt3Nr)O(N_t^3 N_r) total β€” polynomial in NtN_t, compared to O(MNt)O(M^{N_t}) for ML.
Input: Received signal y\mathbf{y}, channel matrix H\mathbf{H}, noise variance Οƒ2\sigma^2
Initialise: y1=y\mathbf{y}_1 = \mathbf{y}, H1=H\mathbf{H}_{1} = \mathbf{H}, K={1,2,…,Nt}\mathcal{K} = \{1, 2, \ldots, N_t\}
For i=1,2,…,Nti = 1, 2, \ldots, N_t:
\quad 1. Compute MMSE filter: Gi=(HiHHi+Οƒ2I)βˆ’1HiH\mathbf{G}_i = (\mathbf{H}_{i}^{H} \mathbf{H}_{i} + \sigma^2 \mathbf{I})^{-1}\mathbf{H}_{i}^{H}
\quad 2. Compute post-detection SINR for each k∈Kk \in \mathcal{K}:
\quad\quad SINRk=1[(HiHHi+Οƒ2I)βˆ’1]kkβˆ’1\text{SINR}_k = \frac{1}{[(\mathbf{H}_{i}^{H} \mathbf{H}_{i} + \sigma^2 \mathbf{I})^{-1}]_{kk}} - 1
\quad 3. Select strongest layer: ki=arg⁑max⁑k∈KSINRkk_i = \arg\max_{k \in \mathcal{K}} \text{SINR}_k
\quad 4. Detect: x^ki=Q([Giyi]ki)\hat{x}_{k_i} = \mathcal{Q}([\mathbf{G}_i \mathbf{y}_i]_{k_i}) (quantise to constellation)
\quad 5. Cancel: yi+1=yiβˆ’x^kihki\mathbf{y}_{i+1} = \mathbf{y}_i - \hat{x}_{k_i} \mathbf{h}_{k_i}
\quad 6. Deflate: remove column kik_i from Hi\mathbf{H}_{i} to form Hi+1\mathbf{H}_{i+1}, update K←Kβˆ–{ki}\mathcal{K} \leftarrow \mathcal{K} \setminus \{k_i\}
End For
Output: Detected vector x^=[x^1,…,x^Nt]T\hat{\mathbf{x}} = [\hat{x}_1, \ldots, \hat{x}_{N_t}]^T

Error propagation is the main limitation: an incorrect hard decision in step 4 introduces a residual interference term that degrades all subsequent layers.

MIMO Receiver BER Comparison

Compare the bit error rate of different MIMO receivers (ML, ZF, MMSE, ZF-OSIC, MMSE-OSIC) as a function of SNR. Observe the diversity order differences from the slope of the BER curves.

Parameters
2
2

OSIC Layer-by-Layer Detection

Step-by-step animation of the ordered successive interference cancellation algorithm: the strongest layer is detected first, its contribution is subtracted, and the process repeats with the reduced system until all layers are recovered.
OSIC detects layers in order of decreasing SINR, cancelling each detected layer before proceeding to the next.

OSIC Detection Step-by-Step

Watch the OSIC algorithm detect layers one by one. Each frame shows the current received signal constellation after cancelling previously detected layers, highlighting the layer being detected and the decision boundary.

Parameters
2
2
15

MIMO Receiver Comparison

ReceiverComplexityDiversity OrderProsCons
MLO(MNt)O(M^{N_t})NrN_r (optimal)Optimal performanceExponential complexity
ZFO(Nt2Nr)O(N_t^2 N_r)Nrβˆ’Nt+1N_r - N_t + 1Simple, no noise variance neededNoise amplification
MMSEO(Nt2Nr)O(N_t^2 N_r)Nrβˆ’Nt+1N_r - N_t + 1Better SNR trade-off than ZFRequires noise variance estimate
ZF-OSICO(Nt3Nr)O(N_t^3 N_r)Up to NrN_rHigher diversity than linear ZFError propagation
MMSE-OSICO(Nt3Nr)O(N_t^3 N_r)Up to NrN_rBest sub-optimal receiverError propagation, ordering overhead

Example: ZF vs. MMSE Noise Enhancement

A 2Γ—22 \times 2 MIMO channel has:

H=[10.90.91]\mathbf{H} = \begin{bmatrix} 1 & 0.9 \\ 0.9 & 1 \end{bmatrix}

with Οƒ2=0.1\sigma^2 = 0.1 (SNR = 10 dB per stream). Compare the post-detection SNR for stream 1 under ZF and MMSE detection.

Quick Check

For a 4Γ—44 \times 4 MIMO system with 64-QAM, how many candidate vectors must the ML detector evaluate?

64Γ—4=25664 \times 4 = 256

644=16,777,21664^4 = 16{,}777{,}216

464β‰ˆ3.4Γ—10384^{64} \approx 3.4 \times 10^{38}

642=409664^2 = 4096

⚠️Engineering Note

MIMO Detection Complexity in Practice

The choice of MIMO detector is dictated by hardware constraints:

  • ML detection (O(MNt)O(M^{N_t})) is infeasible beyond Nt=4N_t = 4 with 16-QAM in real-time hardware. For 5G NR with Nt=4N_t = 4 layers and 256-QAM, ML requires 2564β‰ˆ4.3Γ—109256^4 \approx 4.3 \times 10^9 evaluations per detection β€” impossible at sub-millisecond latency.

  • Sphere decoding achieves ML performance with polynomial average complexity at moderate-to-high SNR (∼O(Nt3)\sim O(N_t^3) average), but worst-case complexity remains exponential. This makes it unsuitable for hard real-time applications where worst-case latency must be bounded.

  • MMSE-OSIC (O(Nt3Nr)O(N_t^3 N_r)) is the standard choice in LTE and 5G NR for up to 4 MIMO layers. For 5G NR massive MIMO with 8+ layers, even OSIC becomes expensive, and simple linear MMSE detection is used β€” justified because channel hardening in massive MIMO makes linear receivers near-optimal.

  • Fixed-point arithmetic: ASIC implementations use 10-16 bit fixed-point for the MMSE matrix inversion via Cholesky decomposition, requiring careful numerical analysis to avoid precision loss in ill-conditioned channels.

Practical Constraints
  • β€’

    ML detection limited to Nt≀4N_t \leq 4 with low-order modulation in hardware

  • β€’

    Sphere decoding unsuitable for hard real-time due to variable complexity

  • β€’

    Massive MIMO (Nt≫KN_t \gg K) favours linear MMSE over SIC

⚠️Engineering Note

Receiver Pipeline in 5G NR

In 5G NR, the MIMO detection pipeline must complete within the HARQ timing budget (typically 3-4 ms for sub-6 GHz):

  1. Channel estimation: DMRS-based, using LMMSE interpolation across the time-frequency resource grid. For 4x4 MIMO with 100 MHz bandwidth, this requires estimating ∼105\sim 10^5 complex channel coefficients per slot.

  2. MIMO detection: MMSE with optional OSIC for rank ≀4\leq 4. The matrix inversion (HHH+Οƒ2I)βˆ’1(\mathbf{H}^{H}\mathbf{H} + \sigma^2\mathbf{I})^{-1} is computed per resource block (12 subcarriers) using Cholesky decomposition, amortising the O(Nt3)O(N_t^3) cost across subcarriers with similar channel responses.

  3. Soft demapping: The MMSE output is converted to log-likelihood ratios (LLRs) for each coded bit, which are fed to the LDPC decoder. Approximate LLR computation (assuming Gaussian post-detection interference) is standard.

The entire pipeline must sustain throughputs exceeding 1 Gbps, requiring massively parallel ASIC/FPGA implementations.

Practical Constraints
  • β€’

    HARQ round-trip budget: 3-4 ms (sub-6 GHz), 1 ms (mmWave)

  • β€’

    Cholesky decomposition preferred over direct inversion for numerical stability

πŸ“‹ Ref: 3GPP TS 38.212/38.214 (physical layer procedures)

Maximum-Likelihood (ML) Detector

The optimal MIMO detector that jointly searches over all MNtM^{N_t} candidate transmit vectors to minimise the Euclidean distance βˆ₯yβˆ’Hxβˆ₯2\|\mathbf{y} - \mathbf{H}\mathbf{x}\|^2.

Related: Zero-Forcing (ZF) Receiver, MMSE MIMO Receiver

Zero-Forcing (ZF) Receiver

A linear MIMO receiver that applies the pseudo-inverse (HHH)βˆ’1HH(\mathbf{H}^{H}\mathbf{H})^{-1}\mathbf{H}^{H} to eliminate inter-stream interference, at the cost of noise amplification.

Related: MMSE MIMO Receiver, Maximum-Likelihood (ML) Detector

MMSE MIMO Receiver

A linear MIMO receiver that minimises mean squared error by applying (HHH+Οƒ2I)βˆ’1HH(\mathbf{H}^{H}\mathbf{H} + \sigma^2\mathbf{I})^{-1}\mathbf{H}^{H}, balancing interference suppression and noise enhancement.

Related: Zero-Forcing (ZF) Receiver, Ordered Successive Interference Cancellation (OSIC)

Ordered Successive Interference Cancellation (OSIC)

A nonlinear MIMO detection strategy that sequentially detects layers in order of decreasing post-detection SINR, cancelling each detected layer's interference before proceeding.

Related: MMSE MIMO Receiver, V-BLAST