Successive Interference Cancellation and V-BLAST

Detecting One Stream at a Time

If we could decode one symbol perfectly, subtract its contribution from the received vector, and then face a smaller MIMO problem with one less interferer, the whole task would become iterative rather than combinatorial. This is the idea behind Successive Interference Cancellation. The remarkable fact is that, when the ordering is chosen correctly and the receiver uses MMSE filters, this greedy procedure achieves MIMO capacity. The reason is the chain rule of mutual information: every decoded stream appears as genuine side information to the streams that follow.

Definition:

Successive Interference Cancellation (SIC)

SIC detects the ntn_t streams sequentially. At each step kk (k=1,…,ntk = 1, \ldots, n_t):

  1. Form a linear estimate x~Ο€(k)\tilde{x}_{\pi(k)} of the Ο€(k)\pi(k)-th transmitted symbol using a ZF or MMSE filter matched to the remaining channel submatrix.
  2. Make a hard decision x^Ο€(k)=QA(x~Ο€(k))\hat{x}_{\pi(k)} = \mathcal{Q}_{\mathcal{A}}(\tilde{x}_{\pi(k)}).
  3. Subtract the reconstructed contribution: y←yβˆ’HΟ€(k)x^Ο€(k)\mathbf{y} \leftarrow \mathbf{y} - \mathbf{H}_{\pi(k)} \hat{x}_{\pi(k)}, where HΟ€(k)\mathbf{H}_{\pi(k)} is the Ο€(k)\pi(k)-th column of H\mathbf{H}.
  4. Deflate H\mathbf{H} by removing its Ο€(k)\pi(k)-th column.

The permutation Ο€\pi determines the detection order.

The V-BLAST algorithm (Foschini et al., 1998) is the archetype: MMSE filters at each stage, with Ο€\pi chosen to maximize the post-detection SINR at every step.

Definition:

Optimal V-BLAST Ordering

At step kk, the optimal ordering rule selects Ο€(k)=arg⁑max⁑iβˆ‰{Ο€(1),…,Ο€(kβˆ’1)}Ξ³i(k),\pi(k) = \arg\max_{i \notin \{\pi(1),\ldots,\pi(k-1)\}} \gamma_i^{(k)}, where Ξ³i(k)\gamma_i^{(k)} is the post-MMSE SINR on stream ii when the streams already decoded have been subtracted off. Equivalently, Ο€(k)\pi(k) is the index of the smallest diagonal entry of the MMSE error-covariance matrix at stage kk.

The intuition: decode the strongest (most reliable) stream first. Its decision is most likely correct, so its subtraction injects the least residual error into the subsequent stages.

MMSE-SIC with Optimal Ordering (V-BLAST)

Complexity: O(nt4)O(n_t^4) naive; O(nt3)O(n_t^3) with recursive updates
Input: y∈Cnr\mathbf{y} \in \mathbb{C}^{n_r}, H∈CnrΓ—nt\mathbf{H} \in \mathbb{C}^{n_r \times n_t}, Οƒ2\sigma^2, alphabet A\mathcal{A}
Output: x^∈Ant\hat{\mathbf{x}} \in \mathcal{A}^{n_t}
1. S←{1,…,nt}\mathcal{S} \leftarrow \{1,\ldots,n_t\}, y(1)←y\mathbf{y}^{(1)} \leftarrow \mathbf{y}, H(1)←H\mathbf{H}^{(1)} \leftarrow \mathbf{H}
2. for k=1k = 1 to ntn_t do
3. M(k)←(H(k)HH(k)+Οƒ2I)βˆ’1\quad \mathbf{M}^{(k)} \leftarrow (\mathbf{H}^{(k)H} \mathbf{H}^{(k)} + \sigma^2 \mathbf{I})^{-1}
4. j⋆←arg⁑min⁑j∈S[M(k)]jj\quad j^\star \leftarrow \arg\min_{j \in \mathcal{S}} [\mathbf{M}^{(k)}]_{jj}
5. gj⋆←j⋆-thΒ rowΒ ofΒ M(k)H(k)H\quad \mathbf{g}_{j^\star} \leftarrow j^\star\text{-th row of } \mathbf{M}^{(k)} \mathbf{H}^{(k)H}
6. x~j⋆←gj⋆y(k)\quad \tilde{x}_{j^\star} \leftarrow \mathbf{g}_{j^\star} \mathbf{y}^{(k)}
7. x^j⋆←QA(x~j⋆)\quad \hat{x}_{j^\star} \leftarrow \mathcal{Q}_{\mathcal{A}}(\tilde{x}_{j^\star})
8. y(k+1)←y(k)βˆ’Hj⋆(k)x^j⋆\quad \mathbf{y}^{(k+1)} \leftarrow \mathbf{y}^{(k)} - \mathbf{H}^{(k)}_{j^\star} \hat{x}_{j^\star}
9. H(k+1)←H(k)\quad \mathbf{H}^{(k+1)} \leftarrow \mathbf{H}^{(k)} with column j⋆j^\star removed
10. S←Sβˆ–{j⋆}\quad \mathcal{S} \leftarrow \mathcal{S} \setminus \{j^\star\}
11. end for
12. return x^\hat{\mathbf{x}}

The ntn_t-fold inversion can be replaced by a single QR decomposition with column pivoting β€” this is the numerically preferred implementation.

Theorem: MMSE-SIC Achieves Gaussian MIMO Capacity

Let x∼CN(0,Q)\mathbf{x} \sim \mathcal{CN}(\mathbf{0}, \mathbf{Q}) with diagonal Q\mathbf{Q} and noise w∼CN(0,Οƒ2I)\mathbf{w} \sim \mathcal{CN}(\mathbf{0}, \sigma^2 \mathbf{I}). The sum rate achieved by MMSE-SIC β€” with any ordering Ο€\pi, assuming genie-aided error-free decoding at each stage β€” equals the Gaussian MIMO mutual information: βˆ‘k=1ntlog⁑2(1+Ξ³Ο€(k)(k))=log⁑2det⁑ ⁣(I+1Οƒ2HQHH).\sum_{k=1}^{n_t} \log_2(1 + \gamma_{\pi(k)}^{(k)}) = \log_2 \det\!\left(\mathbf{I} + \frac{1}{\sigma^2} \mathbf{H} \mathbf{Q} \mathbf{H}^{H}\right).

Each decoded stream becomes side information for the next. The chain rule of mutual information says nothing is lost when conditional information is used; SIC just instantiates the chain rule operationally.

,

Key Takeaway

MMSE-SIC is not merely a good heuristic β€” it is, up to ordering and coding details, an optimal receiver architecture for the Gaussian MIMO channel. The chain rule of mutual information is the theoretical engine; SIC is the algorithm that mechanizes it.

Error Propagation β€” The Honest Caveat

The capacity result assumes error-free cancellation at every stage. In practice, a single wrong decision at step kk contaminates every subsequent step. The effect is called error propagation and it is the reason uncoded MMSE-SIC loses several dB to coded systems. Proper ordering mitigates but does not eliminate propagation. Modern implementations combine SIC with strong per-stream channel coding (LDPC, Polar) so that early decoding errors are vanishingly rare.

Ordering Impact on V-BLAST BER

Compare the BER of V-BLAST with optimal ordering versus a fixed (arbitrary) ordering. At low-to-moderate SNR the ordering can buy 2-4 dB.

Parameters
4

Example: Two-Stream SIC Walkthrough

With H=[1.00.50.21.0]\mathbf{H} = \begin{bmatrix} 1.0 & 0.5 \\ 0.2 & 1.0 \end{bmatrix}, Οƒ2=0.01\sigma^2 = 0.01, and observation y=(1.2,0.9)T\mathbf{y} = (1.2, 0.9)^T, run MMSE-SIC with optimal ordering on real BPSK (alphabet {βˆ’1,+1}\{-1, +1\}). Report the detection order and the two decisions.

Historical Note: V-BLAST at Bell Labs

1996–1998

In 1996 Foschini proposed Diagonal-BLAST (D-BLAST) as the first architecture aimed at approaching MIMO capacity. Its practical descendant, V-BLAST (1998, Wolniansky, Foschini, Golden, and Valenzuela), was demonstrated on a Bell Labs testbed that achieved 20-40 bit/s/Hz over the same bandwidth used by a single-antenna link. The demonstration was a turning point: it made the capacity gains of MIMO tangible for industry and set the tone for the next two decades of wireless design.

⚠️Engineering Note

SIC Implementation in Modern Receivers

Industrial SIC receivers almost always run with QR-based recursive updates rather than repeated matrix inversions. The ordering is often computed once per coherence interval (not per symbol) and reused across many OFDM tones. Error propagation is managed by: (i) strong per-layer channel coding with interleaving, so a bad stream error becomes a burst the outer code can fix; (ii) list-SIC, where several candidate decisions are carried forward at each stage; (iii) iterative feedback between SIC and the outer decoder.

Practical Constraints
  • β€’

    LTE/5G NR turbo-receivers iterate between SIC and LDPC/Polar decoding

  • β€’

    Fixed-point SIC on commercial modems runs at under 10-bit internal precision

πŸ“‹ Ref: 3GPP TS 38.211, Section 6.3
πŸŽ“CommIT Contribution(2014)

Integer-Forcing Linear Receivers

J. Zhan, B. Nazer, U. Erez, M. Gastpar, G. Caire β€” IEEE Trans. Information Theory, vol. 60, no. 12

The integer-forcing receiver reinterprets MIMO detection as decoding integer linear combinations of lattice codewords rather than individual symbols. By matching the receiver's "effective channel" to a full-rank integer matrix A\mathbf{A}, one obtains a novel linear receiver that strictly outperforms MMSE and, in many regimes, closes most of the gap to MMSE-SIC without its error-propagation issues. The algorithm hinges on LLL-type lattice reduction (Section 12.5) to find a good integer matrix, and it is one of the cleanest bridges between lattice-code theory and practical MIMO receiver design.

integer-forcinglattice-codesmimo-detectionView Paper β†’

Successive Interference Cancellation

A multi-user / multi-stream receiver architecture that decodes one signal at a time, subtracting its contribution from the aggregate observation before decoding the next. Optimal for the Gaussian MIMO channel under the chain rule of mutual information.

Related: Optimal V-BLAST Ordering, MMSE Detector

V-BLAST

Vertical Bell Labs Layered Space-Time architecture. A specific MMSE-SIC receiver that decodes the highest-SINR stream first, subtracts its contribution, and iterates. Invented at Bell Labs in 1998.

Related: Successive Interference Cancellation (SIC), Foschini

Quick Check

In V-BLAST with optimal ordering, which stream is decoded FIRST at each stage?

The stream with the smallest channel gain

The stream with the highest post-detection SINR

The stream with the first index (k=1k=1) for simplicity

A random stream (ordering does not matter)

V-BLAST Ordered SIC Architecture

V-BLAST Ordered SIC Architecture
At each stage the receiver computes the MMSE estimate of every remaining stream, picks the one with the highest post-detection SINR, slices it to the constellation, subtracts its channel contribution from y\mathbf{y}, and deflates H\mathbf{H} by removing the corresponding column. The process repeats until all ntn_t streams are decoded.