The MIMO Detection Problem
Why MIMO Detection Is Hard
A MIMO receiver sees a linear superposition of symbols, each drawn from a discrete constellation. The channel mixes them; the noise perturbs them. The receiver must untangle the mixture and snap each component back onto its finite alphabet. If the alphabet were continuous, least squares would suffice. Because it is discrete, the problem becomes combinatorial β and, in its exact form, as hard as the closest-vector problem in a general lattice. The story of MIMO detection is the story of trading complexity for accuracy along that discrete-continuous divide.
Definition: MIMO Detection Model
MIMO Detection Model
Consider a narrowband point-to-point MIMO link with transmit and receive antennas. At a single channel use the received vector is The constellation is a finite set of unit-energy symbols (e.g., QPSK, 16-QAM). Assuming the receiver knows (pilot-based channel estimation; see Chapter 8), the MIMO detection problem is to produce an estimate of the transmitted vector.
In this chapter we hold fixed and known. Joint estimation of and (blind / semi-blind detection) is a different beast entirely.
Definition: Maximum-Likelihood MIMO Detector
Maximum-Likelihood MIMO Detector
With equiprobable symbols and white Gaussian noise, the maximum-likelihood detector minimizes the Euclidean distance between the observation and the noise-free hypothesis: The minimization is over a discrete set of size .
The ML detector minimizes the symbol-vector error probability. It does NOT minimize the per-symbol (bit) error rate β for that, one needs the max-marginal (MAP) detector.
Theorem: Exponential Complexity of Exact ML Detection
Computing by exhaustive search over requires evaluations of the metric . Moreover, the problem of deciding whether a given vector is the closest lattice point is -hard in the worst case.
The search space is a discrete product of constellations. Each additional transmit antenna multiplies the number of candidates by . For 16-QAM we face candidates per channel use β already too many for real-time hardware at Gbps rates.
Counting candidates
There are vectors in . Each requires an matrix-vector product plus an norm, giving total operations. This is exponential in .
NP-hardness of closest vector problem
Without the constellation constraint, the ML problem is equivalent to finding the closest point of the lattice to . Micciancio (2001) proved that the Closest Vector Problem (CVP) in is -hard. The MIMO detection problem is a bounded-CVP variant and inherits this worst-case hardness.
Consequence
No algorithm computes the exact ML solution in polynomial time in the worst case, assuming . Sphere decoding (Section 12.4) circumvents worst-case complexity by exploiting the typical-case structure of Gaussian noise channels.
Remark on practical sizes
For 64-QAM: candidates. For 256-QAM: β a hopeless number at any clock rate. The need for suboptimal or structured search is not academic: it is forced by hardware reality.
Key Takeaway
MIMO detection is a discrete inverse problem: recover a finite-alphabet vector from a linear noisy mixture. The channel matrix plays two roles simultaneously β it is both the regressor that constrains the estimate and the basis of a lattice whose geometry determines how hard the discrete search is.
Why This Matters: MIMO Detection in 5G NR
A 5G NR gNB running 4-layer spatial multiplexing with 256-QAM faces candidate vectors per resource element. With 14 OFDM symbols, 273 PRBs, and thousands of REs per slot, brute-force ML is categorically impossible. Real basestations combine MMSE-SIC with list detection and soft-output iteration with the LDPC decoder. The latency budget β under 1 ms for URLLC β shapes every algorithmic choice.
See full treatment in The Restricted Isometry Property
ML Detection Complexity Grows Exponentially
Number of candidate vectors as a function of for different constellation sizes. Note the logarithmic vertical axis.
Parameters
Common Mistake: ML Vector Detection vs. Per-Bit MAP
Mistake:
One assumes the ML detector minimizes BER because it is "optimal."
Correction:
The ML detector minimizes the vector (symbol-block) error probability, not the bit error rate. A single symbol flip can corrupt many bits if the constellation is not Gray-coded. For minimum BER one should compute per-bit posterior probabilities via the max-marginal (bit-MAP) detector, which marginalizes rather than jointly minimizes. The distinction matters most at low SNR and for high-order constellations; at high SNR the two detectors are practically indistinguishable.
Example: ML Detection by Exhaustive Search
With , QPSK alphabet , and observation , compute . Assume the noise is negligible and report the minimizer of .
Enumerate the alphabet
candidates. For a real-only sketch, restrict attention to (real QPSK). The four real-valued candidates are .
Compute the metric for each
For : , metric . For : , metric . For : symmetric β metric . For : metric .
Pick the minimum
The minimum occurs at , yielding .
Interpret
Even for this toy real case, the correct decision is not the one you would get by naively solving and rounding β the coupling between streams biases the rounded estimate. This coupling is exactly what linear and nonlinear detectors (next sections) must compensate for.
Historical Note: The Birth of MIMO Detection
1995β2005The MIMO channel model crystallized in the mid-1990s in two landmark papers: Telatar's information-theoretic analysis (1995, published 1999) established capacity, and Foschini's D-BLAST / V-BLAST architectures (1996, 1998) turned the capacity promise into a detection algorithm. Exact ML was recognized as infeasible from the start; the intellectual history of MIMO detection is the successive refinement of good suboptimal replacements, each exploiting a little more of the linear algebra or the lattice geometry than the previous one.
MIMO Detection
The task of recovering a finite-alphabet vector from given the channel and the noise statistics.
Related: Maximum Likelihood, Closest Vector Problem
Quick Check
For transmit antennas and 16-QAM, how many candidates does exact ML detection enumerate per channel use?
Each of antennas chooses independently from symbols.