MIMO detection algorithms

MIMO detection algorithms recover several spatial streams that arrive mixed together at a multi-antenna receiver. The four main approaches are zero forcing (ZF), minimum mean square error (MMSE), successive interference cancellation (SIC) and maximum likelihood (ML), and they trade bit error rate against processing cost. ML gives the lowest error rate and the highest cost, ZF the reverse, and ordered MMSE-SIC comes within a few dB of ML at a fraction of its complexity.

This page compares the detectors directly, with bit error rate (BER) curves computed by simulation. Spatial multiplexing covers why parallel streams exist and how channel rank limits them, while MIMO precoding covers the transmit-side counterpart.

The MIMO detection problem

With Nt transmit and Nr receive antennas, the received vector is:

y = √(ρ/Nt) H s + n

Here s holds one unit-energy symbol per stream, H is the Nr×Nt channel matrix, ρ is the SNR per receive antenna and n is unit-variance noise. The receiver knows H from pilots and must decide on s. Each receive antenna sees a sum of every stream, so the task is an interference problem as much as a noise problem. The detectors differ in how they treat that interference.

Linear detectors apply a matrix to y and slice each stream separately. Non-linear detectors decide on streams jointly or in sequence, which lets them use the discrete constellation as extra information.

Zero forcing detection

Zero forcing applies the pseudo-inverse of H, written for H̃ = √(ρ/Nt) H:

WZF = (H̃H H̃)−1 H̃H

The product WZF H̃ is the identity, so inter-stream interference is removed completely. The cost is noise enhancement. Along a weak direction of H the inverse has a large gain, and that gain multiplies the noise as well. The output SNR of stream k is 1 / [(H̃H H̃)−1]kk.

MMSE detection

The MMSE detector adds a noise term to the inverse:

WMMSE = (H̃H H̃ + I)−1 H̃H

It accepts some residual interference in exchange for less noise. At high SNR the identity term becomes small and MMSE approaches ZF. At low SNR the filter tends toward a matched filter. MMSE needs a noise estimate and is otherwise no harder to build than ZF, so few receivers use plain ZF when MMSE is available.

Successive interference cancellation

SIC detects one stream, rebuilds its contribution to y, subtracts it and repeats on a smaller problem. Each stage removes an interferer, which leaves more spatial freedom for the streams still to be detected. Order matters: the stream with the smallest mean square error goes first, because an early wrong decision is subtracted incorrectly and propagates to later stages. Ordered detection of this kind is the idea behind the V-BLAST receiver.

SIC can use ZF or MMSE filtering at each stage. The curves below show that this choice is large: ordered MMSE-SIC is far better than ordered ZF-SIC at the same order of complexity.

Maximum likelihood detection

ML compares y against every possible transmitted vector and picks the closest:

ŝ = arg min ||y − H̃ s||2 over all s

With Gaussian noise and equally likely symbols this minimises the vector error probability. The search covers MNs candidates for M-point modulation and Ns streams, and that exponent is the whole difficulty. Figure 3 and the complexity table below put numbers on it.

Worked example: one received vector through each detector

Take a 2×2 real channel with unit-energy BPSK on each stream and noise variance 0.1, so each stream has 10 dB SNR:

H = [1, 0.8; 0.7, 1], s = (+1, −1), n = (−0.55, +0.05), which gives y = (−0.35, −0.25)

The singular values of H are 1.751 and 0.251, so the channel has one weak direction, and its determinant is 0.44. The noise sample was chosen to lie largely along that weak direction, which holds about 57% of its energy, and it is about 1.7 standard deviations on the first antenna. It is an illustration of how the detectors fail, not a typical sample.

DetectorSoft output for s1, s2DecisionResult
ZF−0.341, −0.011(−1, −1)s1 wrong
MMSE−0.229, −0.107(−1, −1)s1 wrong
Ordered MMSE-SICs2 = −0.107, then s1 = +0.654(+1, −1)Correct
MLSmallest metric 0.305(+1, −1)Correct

ZF gives output SNRs of only 0.72 dB and 1.14 dB, because its noise gains are 8.47 and 7.70. MMSE improves those to SINRs of 2.94 dB and 3.52 dB. Both still lose s1.

SIC starts with s2, which has the smaller MMSE (0.308 against 0.337). That decision is right, so subtracting h2·(−1) leaves r = (0.45, 0.75), and maximal ratio combining on the first column gives (0.45 + 0.7×0.75)/1.49 = +0.654. With the interferer gone, s1 sees 11.73 dB SNR, about 11 dB better than under ZF.

ML checks all four candidates. The squared distances are 8.425 for (+1, +1), 0.305 for (+1, −1), 0.325 for (−1, +1) and 4.205 for (−1, −1). The correct vector wins by a narrow margin, which shows why this noise sample is close to the limit for any detector.

BER of MIMO detection algorithms

Figures 1 and 2 show uncoded QPSK in independent Rayleigh fading with perfect channel knowledge at the receiver. Each point uses 8 million bits for 2×2 and 2.4 million bits for 4×4, and points with fewer than 20 bit errors are not plotted. As a check, the simulated 2×2 ZF curve matches the closed form for one-branch Rayleigh fading to within about 3%: 0.0534 against 0.0532 at 12 dB, and 0.00775 against 0.00776 at 21 dB.

Bit error rate of MIMO detection algorithms ZF, MMSE, ordered SIC and maximum likelihood for 2×2 QPSK in Rayleigh fading
Figure 1: Simulated uncoded BER for 2×2 QPSK. ZF and MMSE keep a shallow slope while ML falls about twice as fast.
Bit error rate of ZF, MMSE, ordered SIC and maximum likelihood MIMO detection for 4×4 QPSK in Rayleigh fading
Figure 2: Simulated uncoded BER for 4×4 QPSK. The gap between linear and joint detection grows with the antenna count.
SNR needed (dB)ZFMMSEZF-SICMMSE-SICML
2×2, BER 10−219.918.116.814.213.0
2×2, BER 10−329.928.226.422.318.5
4×4, BER 10−222.918.316.512.310.8
4×4, BER 10−3Above 24Above 24Above 2416.714.2

Three patterns are visible:

  • Slope. With Nt = Nr, ZF has diversity order 1, so BER falls one decade per 10 dB. ML reaches diversity order Nr, and its 2×2 curve falls 1.16 decades between 18 and 24 dB.
  • Antenna count. Moving from 2×2 to 4×4 does not help linear detection at equal SNR per antenna, while the ML requirement at 10−3 drops from 18.5 to 14.2 dB.
  • Filter choice inside SIC. At 2×2 and BER 10−3, MMSE-SIC needs 4.1 dB less than ZF-SIC. At 4×4 the same comparison is well beyond the plotted range for ZF-SIC.

Channel coding changes the absolute numbers. Decoders work from soft information, and the outer code provides diversity across fading, so coded gaps between detectors are usually smaller than these uncoded ones. The ordering seldom changes.

Complexity of MIMO detection

Maximum likelihood MIMO detection candidate count M to the power of spatial streams for QPSK to 256-QAM
Figure 3: Exhaustive ML search size. Each added stream multiplies the count by the constellation size.
DetectorMain costScalingError propagation
ZFMatrix inverse per channel updateAbout N3None
MMSERegularised inverse, noise estimateAbout N3None
Ordered SICRepeated filtering and sortingAbout N3 to N4Yes
MLExhaustive search per symbol vectorMNsNone

Exhaustive ML is workable for two QPSK streams (16 candidates) and for four (256). Four streams of 16-QAM need 65,536 candidates per subcarrier and symbol, and four of 64-QAM need about 16.8 million. Sphere decoders reach near-ML results by searching only candidates inside a radius, though their run time varies with channel and noise, which makes fixed-latency hardware harder to build. K-best and other list detectors bound that time at some loss in BER.

Choosing a detector

  • Massive MIMO uplinks with many more antennas than streams: linear MMSE is usually enough, since the channel is well conditioned.
  • Equal-antenna links at high spectral efficiency, such as 4×4 at 64-QAM: ordered MMSE-SIC or a list detector, depending on latency limits.
  • Few streams at low modulation order: ML is practical and costs little.
  • Ill-conditioned or correlated channels: prefer non-linear detection or drop the stream count, since linear noise enhancement rises quickly. See MIMO capacity for the effect of correlation.

Receiver noise figure and channel estimate quality set the operating SNR on these curves, and hardware impairments set a floor beneath them. The MIMO transceiver architecture article covers the hardware side, and SNR and Eb/N0 explains how to convert between the usual SNR definitions.

Frequently asked questions

Which MIMO detection algorithm is best?

ML has the lowest error rate but is often too expensive at high modulation orders. For most practical links with equal transmit and receive antennas, ordered MMSE-SIC or a near-ML list detector gives the best balance. When receive antennas greatly outnumber streams, linear MMSE is usually the right choice.

What is the difference between ZF and MMSE detection?

ZF removes all inter-stream interference and ignores noise, while MMSE minimises the sum of interference and noise. MMSE is never worse in mean square error terms and matters most at low SNR or in poorly conditioned channels. At very high SNR the two converge.

Why does ML have higher diversity than ZF?

ZF spends receive dimensions nulling other streams, and with Nt = Nr it has only one dimension left for each stream, so diversity order is 1. ML nulls nothing, so every stream benefits from all Nr antennas and the slope of its BER curve reaches Nr.

Does SIC suffer from error propagation?

Yes. A wrong decision at an early stage adds interference to later ones instead of removing it. Ordering by reliability reduces the effect, and in coded systems the receiver can decode a stream before subtracting it, which makes the subtracted signal far more reliable.

Related topics

These detectors work on the streams described in spatial multiplexing and are limited by the channels analysed in MIMO capacity. For antenna configurations, see MIMO and multiple antenna systems; for the transmit-side alternative, see MIMO precoding. Modulation error budgets are covered in modulation, EVM and PAPR, and the wider design context is in RF design.

Leave a Comment

Scroll to Top