Zero-Forcing (ZF) Receiver

Eliminating Interference Completely

MRC ignores interference and relies on favorable propagation to make it small. The zero-forcing (ZF) receiver takes the opposite approach: it designs the combining vectors to completely null out all inter-user interference. The price is noise enhancement — by forcing gkHhj=0\mathbf{g}_k^H \mathbf{h}_j = 0 for jkj \neq k, the combining vector may no longer point in the direction of maximum signal power.

The tradeoff between interference suppression and noise enhancement is governed by the condition number of the Gram matrix HHH\mathbf{H}^{H} \mathbf{H}. In the massive MIMO regime, the Gram matrix is well-conditioned, and the noise penalty of ZF vanishes — a satisfying convergence with the MRC result.

Definition:

Zero-Forcing (ZF) Receiver

The ZF receiver applies the combining matrix

GZF=H(HHH)1,\mathbf{G}^{\text{ZF}} = \mathbf{H} (\mathbf{H}^{H} \mathbf{H})^{-1},

so that (GZF)HH=IK(\mathbf{G}^{\text{ZF}})^H \mathbf{H} = \mathbf{I}_{K}, i.e., the effective channel after combining is the identity. The soft estimate is

x^ZF=(HHH)1HHy=x+(HHH)1HHw.\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{w}.

The interference is perfectly removed; the residual is shaped noise w~=(HHH)1HHw\tilde{\mathbf{w}} = (\mathbf{H}^{H} \mathbf{H})^{-1} \mathbf{H}^{H} \mathbf{w} with covariance σ2(HHH)1\sigma^2 (\mathbf{H}^{H} \mathbf{H})^{-1}.

GZF\mathbf{G}^{\text{ZF}} is the Moore–Penrose pseudoinverse H\mathbf{H}^\dagger of the tall matrix H\mathbf{H} (since NtKN_t \geq K and we assume H\mathbf{H} has full column rank).

Theorem: ZF SINR Expression

With the ZF receiver and equal per-user power PP, the post-detection SINR for user kk is

SINRkZF=Pσ2[(HHH)1]kk.\text{SINR}_k^{\text{ZF}} = \frac{P}{\sigma^2 [(\mathbf{H}^{H} \mathbf{H})^{-1}]_{kk}}.

Equivalently, defining SNR=P/σ2\text{SNR} = P / \sigma^2:

SINRkZF=SNR[(HHH)1]kk.\text{SINR}_k^{\text{ZF}} = \frac{\text{SNR}}{[(\mathbf{H}^{H} \mathbf{H})^{-1}]_{kk}}.

There is no interference term — ZF eliminates it by design. The denominator involves the kk-th diagonal entry of (HHH)1(\mathbf{H}^{H} \mathbf{H})^{-1}, which quantifies the noise enhancement for user kk. A large value of [(HHH)1]kk[(\mathbf{H}^{H} \mathbf{H})^{-1}]_{kk} means the ZF combining vector for user kk is long (high norm), amplifying noise.

Definition:

Condition Number and Noise Enhancement

The condition number of the Gram matrix is

κ(HHH)=λmax(HHH)λmin(HHH),\kappa(\mathbf{H}^{H} \mathbf{H}) = \frac{\lambda_{\max}(\mathbf{H}^{H} \mathbf{H})}{\lambda_{\min}(\mathbf{H}^{H} \mathbf{H})},

where λmax\lambda_{\max} and λmin\lambda_{\min} are the largest and smallest eigenvalues. The noise enhancement factor satisfies

[(HHH)1]kk1λmin(HHH),[(\mathbf{H}^{H} \mathbf{H})^{-1}]_{kk} \leq \frac{1}{\lambda_{\min}(\mathbf{H}^{H} \mathbf{H})},

so a well-conditioned Gram matrix (small κ\kappa) ensures bounded noise enhancement for all users.

Theorem: ZF in the Massive MIMO Limit

Under i.i.d. Rayleigh fading with NtN_t \to \infty and KK fixed, the ZF SINR for user kk satisfies

SINRkZFa.s.P(NtK)βk/σ2.\text{SINR}_k^{\text{ZF}} \xrightarrow{\text{a.s.}} P (N_t - K) \beta_k / \sigma^2.

In the massive MIMO regime NtKN_t \gg K, this approaches the MRC asymptotic SINR PNtβk/σ2P N_t \beta_k / \sigma^2.

The factor (NtK)(N_t - K) rather than NtN_t reflects the "degrees of freedom lost" by the ZF constraint: K1K - 1 dimensions are used to null interference, leaving NtK+1N_t - K + 1 effective dimensions for signal collection. When NtKN_t \gg K, this cost is negligible.

Common Mistake: ZF Fails When the Channel is Rank-Deficient

Mistake:

Applying ZF detection when H\mathbf{H} does not have full column rank (e.g., more users than antennas, or highly correlated channels) causes (HHH)1(\mathbf{H}^{H} \mathbf{H})^{-1} to blow up or become undefined.

Correction:

ZF requires rank(H)=K\text{rank}(\mathbf{H}) = K, which holds almost surely for NtKN_t \geq K with i.i.d. fading. For correlated channels with colinear users, the Gram matrix can be near-singular and the MMSE (regularized ZF) receiver should be used instead.

Example: Noise Enhancement in a 2-User ZF System

Consider Nt=4N_t = 4, K=2K = 2 with channel vectors h1=[1,1,0,0]T\mathbf{h}_1 = [1, 1, 0, 0]^T and h2=[1,0,1,0]T\mathbf{h}_2 = [1, 0, 1, 0]^T. Compute the noise enhancement factor [(HHH)1]11[(\mathbf{H}^{H} \mathbf{H})^{-1}]_{11} and compare with MRC.

ZF SINR vs. NtN_t: Noise Enhancement Effect

Compare the ZF and MRC SINR as a function of NtN_t. Notice that ZF starts below MRC at small Nt/KN_t/K ratios (due to noise enhancement) but converges to the same asymptote for large NtN_t. The gap K1K - 1 "lost degrees of freedom" is visible in the finite-antenna regime.

Parameters
8
10

Zero-Forcing (ZF) Receiver

A linear detector that uses the pseudoinverse H=H(HHH)1\mathbf{H}^\dagger = \mathbf{H}(\mathbf{H}^{H} \mathbf{H})^{-1} as the combining matrix, completely eliminating multi-user interference at the cost of noise enhancement.

Related: Pseudoinverse, Gram Matrix, Condition Number and Noise Enhancement

Noise Enhancement

The increase in effective noise power that results from ZF combining. Quantified by [(HHH)1]kk[(\mathbf{H}^{H} \mathbf{H})^{-1}]_{kk}, which can be large when the channel vectors are nearly colinear.

Related: Condition Number and Noise Enhancement, Zero-Forcing (ZF) Receiver

⚠️Engineering Note

Computational Cost of ZF Detection

ZF detection requires inverting the K×KK \times K Gram matrix HHH\mathbf{H}^{H} \mathbf{H}, costing O(K3)\mathcal{O}(K^{3}) via Cholesky decomposition. For K=16K = 16 this is manageable, but for large user counts the cubic cost becomes a bottleneck.

In practice, the Gram matrix is computed once per coherence interval and reused for all OFDM symbols within that interval. The per-symbol cost is O(NtK)\mathcal{O}(N_t K) (matrix-vector multiply), same as MRC. The dominant cost is the one-time matrix inversion at the start of each coherence block.

Practical Constraints
  • Cholesky decomposition: K3/3K^{3}/3 FLOPs per coherence block

  • Must be recomputed when the channel changes (every TcT_c seconds)

  • For K>32K > 32, iterative approximations (Section 9.6) become attractive

Quick Check

In the massive MIMO limit, the ZF SINR for user kk is P(NtK)βk/σ2P(N_t - K)\beta_k / \sigma^2. What does the factor (NtK)(N_t - K) represent?

The number of users being served

The effective degrees of freedom after nulling interference

The rank of the channel matrix

The number of pilot symbols needed