Linear Equalizers — ZF and MMSE

Why Settle for Linear?

MLSE is optimal but expensive. For channels with long delay spread, the trellis becomes infeasibly large and we need a cheaper decoder. The simplest compromise is to give up on sequence estimation entirely and treat each symbol independently, using a linear filter to approximate the channel inverse. We saw the relevant tool in Chapter 9: the Wiener filter, which minimizes mean-squared error subject to a linearity constraint. Apply it here and two named equalizers emerge — the zero-forcing (ZF) equalizer, which forces the ISI to zero regardless of noise, and the minimum mean-squared-error (MMSE) equalizer, which trades ISI for noise reduction. The analytical machinery is entirely from Chapter 9; what is new is the operational question of when linear processing is good enough.

Definition:

Linear Equalizer

A linear equalizer is an LTI filter with frequency response W(f)W(f) (or impulse response {w[k]}\{w[k]\}) applied to the received sequence y[n]y[n] to produce a scalar decision statistic:

z[n]  =  kw[k]y[nk].z[n] \;=\; \sum_{k} w[k]\, y[n-k].

The output z[n]z[n] is then quantized to the nearest point of A\mathcal{A} to produce a symbol-by-symbol decision x^[n]=argminaAz[n]a2\hat{x}[n] = \arg\min_{a \in \mathcal{A}} |z[n] - a|^2.

Linear equalizers are characterized by (i) their cost criterion (ZF, MMSE, least-squares), (ii) their implementation domain (frequency or time), and (iii) whether they operate at the symbol rate (TT-spaced) or fractionally (T/2T/2-spaced).

Definition:

Zero-Forcing Equalizer

The zero-forcing (ZF) equalizer is the linear filter whose frequency response is the inverse of the channel response:

WZF(f)  =  1H(f),H(f)0.W_{\text{ZF}}(f) \;=\; \frac{1}{H(f)}, \qquad H(f) \neq 0.

Its defining property: in the absence of noise, the cascade H(f)WZF(f)=1H(f) W_{\text{ZF}}(f) = 1 reproduces the transmitted symbol exactly — ISI is "forced to zero" at every frequency.

The ZF equalizer is ill-defined at channel nulls, and nearly so at near-nulls. The analytical pathology becomes operational pathology — noise is amplified by WZF(f)2=1/H(f)2|W_{\text{ZF}}(f)|^2 = 1/|H(f)|^2 at each frequency, which diverges as H(f)0H(f) \to 0. This is the noise enhancement problem that dominates the rest of the section.

Definition:

MMSE Equalizer

The minimum mean-squared-error (MMSE) equalizer is the Wiener filter that minimizes E[z[n]x[n]2]\mathbb{E}[|z[n] - x[n]|^2]. Assuming i.i.d. unit-variance symbols and white Gaussian noise of PSD N0N_0, its frequency response is

WMMSE(f)  =  H(f)H(f)2+N0.W_{\text{MMSE}}(f) \;=\; \frac{H^{*}(f)}{|H(f)|^2 + N_0}.

At high SNR (N00N_0 \to 0) the MMSE filter approaches the ZF filter. At low SNR, the regularization term N0N_0 dominates and the filter acts as a scaled matched filter H(f)H^{*}(f).

Equivalently in the time domain, wMMSE=(HHH+N0I)1HHeΔ\mathbf{w}_{\text{MMSE}} = (\mathbf{H}^{H} \mathbf{H} + N_0 \mathbf{I})^{-1} \mathbf{H}^{H}\mathbf{e}_{\Delta}, where H\mathbf{H} is a convolution (Toeplitz) matrix and eΔ\mathbf{e}_{\Delta} targets the symbol at delay Δ\Delta.

Theorem: MMSE Linear Equalizer via the Wiener Filter

Let {x[n]}\{x[n]\} be a wide-sense-stationary sequence with zero mean and autocorrelation rxx[k]=δ[k]r_{xx}[k] = \delta[k], passed through the LTI ISI channel of DDiscrete-Time ISI Channel with frequency response H(f)H(f), corrupted by white complex Gaussian noise of PSD N0N_0. The symbol-rate linear filter W(f)W(f) minimizing E[z[n]x[n]2]\mathbb{E}[|z[n] - x[n]|^2] is

WMMSE(f)  =  H(f)H(f)2+N0.W_{\text{MMSE}}(f) \;=\; \frac{H^{*}(f)}{|H(f)|^2 + N_0}.

The resulting minimum mean-squared error is

MSEmin  =  1/21/2N0H(f)2+N0df.\text{MSE}_{\min} \;=\; \int_{-1/2}^{1/2} \frac{N_0}{|H(f)|^2 + N_0}\, df.

The Wiener filter is the orthogonal projection of x[n]x[n] onto the subspace spanned by past and current observations. In the frequency domain this projection decouples per-frequency, so the optimal filter is the pointwise ratio of cross-PSD to observation PSD — exactly the MMSE expression.

Theorem: Output SNR of the ZF Equalizer

Let the channel have frequency response H(f)H(f) with H(f)|H(f)| bounded away from zero on [1/2,1/2][-1/2, 1/2], and let the noise be white Gaussian with PSD N0N_0. The output SNR of the TT-spaced zero-forcing equalizer is

SNRZFout  =  1N0(1/21/2dfH(f)2)1    1N0(1/21/2H(f)2df).\text{SNR}_{\text{ZF}}^{\text{out}} \;=\; \frac{1}{N_0} \cdot \left( \int_{-1/2}^{1/2} \frac{df}{|H(f)|^2} \right)^{-1} \;\leq\; \frac{1}{N_0} \cdot \left( \int_{-1/2}^{1/2} |H(f)|^2\, df \right).

The inequality is strict unless H(f)|H(f)| is constant; the gap quantifies the loss relative to the matched-filter bound.

The ZF equalizer outputs z[n]=x[n]+w~[n]z[n] = x[n] + \tilde{w}[n], where w~[n]\tilde{w}[n] has PSD N0/H(f)2N_0/|H(f)|^2. Its total variance is the integral of that PSD. Where H(f)|H(f)| is small, 1/H(f)21/|H(f)|^2 blows up — noise is amplified. The Cauchy–Schwarz upper bound compares the arithmetic and harmonic means of H(f)2|H(f)|^2 and shows that ZF is always at least as noisy as a system with flat channel of the same energy.

Key Takeaway

ZF makes the ISI vanish but inflates the noise by a factor equal to the integral of 1/H(f)21/|H(f)|^2. This factor blows up for channels with spectral nulls. MMSE regularizes that inverse and always outperforms ZF — strictly so, unless the noise is negligible.

Example: ZF and MMSE for a Two-Tap Channel

A normalized two-tap channel has taps h=[1,α]T/1+α2\mathbf{h} = [1, \alpha]^T / \sqrt{1+\alpha^2} with α=0.8\alpha = 0.8. The noise PSD is N0=0.1N_0 = 0.1 (input SNR =10= 10 dB). Derive the ZF and MMSE frequency responses, evaluate the noise enhancement at DC and at the first Nyquist null, and compute the minimum MSE achieved by the MMSE equalizer.

ZF and MMSE Frequency Responses

Compare H(f)|H(f)|, WZF(f)|W_{\text{ZF}}(f)|, and WMMSE(f)|W_{\text{MMSE}}(f)| for several canonical ISI channels. Note how the ZF curve rises at frequencies where the channel attenuates, while the MMSE curve flattens.

Parameters
15

BER vs SNR for ZF, MMSE, MMSE-DFE, and the MLSE Bound

BPSK bit-error rate as a function of SNR for the four equalizer families. The matched-filter bound is a lower bound on MLSE and a useful reference point. Observe the ordering: ZFMMSEMMSE-DFEMLSE boundAWGN\text{ZF} \succ \text{MMSE} \succ \text{MMSE-DFE} \succ \text{MLSE bound} \succ \text{AWGN} (where \succ denotes "higher BER").

Parameters
0
20

ZF Noise Enhancement at a Spectral Null

Animation showing how the ZF equalizer amplifies the noise PSD at a channel null, while MMSE gracefully caps the amplification.
As α1\alpha \to 1 in h=[1,α]h = [1, -\alpha], the channel develops a null at f=0f = 0. The ZF filter's magnitude diverges there; the MMSE filter saturates at 1/N01/N_0.
⚠️Engineering Note

Per-Subcarrier MMSE Is the Engine of OFDM

OFDM converts a wideband ISI channel into NN parallel flat-fading subchannels by inserting a cyclic prefix and performing an NN-point DFT at the receiver. On the kk-th subcarrier the received sample is Yk=HkXk+WkY_k = H_k X_k + W_k with HkH_k a scalar — the ISI has been diagonalized. The optimal per-subcarrier equalizer is then simply Wk=Hk/(Hk2+N0)W_k = H_k^{*} / (|H_k|^2 + N_0), the scalar MMSE equalizer. This is why OFDM's receiver is so much simpler than a single-carrier equalizer: the wideband MMSE frequency response is literally evaluated on a grid of subcarriers. The price of this simplification is the cyclic-prefix overhead and the peak-to-average power ratio of the transmitted waveform.

📋 Ref: IEEE 802.11a/g/n/ac/ax, 3GPP LTE/NR

Common Mistake: Never Use ZF When H(f)|H(f)| Has Nulls

Mistake:

Engineers newly introduced to channel inversion sometimes implement the ZF equalizer because "it removes the ISI exactly." For typical frequency-selective wireless channels, the resulting noise enhancement makes ZF uncompetitive — often by more than 6 dB.

Correction:

Use MMSE unless you have a specific reason not to. The MMSE filter costs one extra addition per subcarrier (the N0N_0 term in the denominator) and is always at least as good as ZF. At asymptotically high SNR they coincide; at low-to-moderate SNR, MMSE dominates.

Common Mistake: Input SNR vs Output SNR — Know Which You Are Plotting

Mistake:

When comparing equalizers on a BER-vs-SNR curve, students sometimes normalize the x-axis by the output SNR of the equalizer rather than the input SNR of the channel. This hides the equalizer's performance — every linear equalizer trivially achieves Q(2output SNR)Q(\sqrt{2 \cdot \text{output SNR}}).

Correction:

Always plot BER as a function of input SNR, i.e. Es/N0E_s / N_0 at the receiver's front end. The equalizer's loss relative to AWGN is then made visible as a horizontal shift of the BER curve.

Quick Check

As the noise PSD N00N_0 \to 0, the MMSE equalizer's frequency response approaches which of the following?

The matched filter H(f)H^{*}(f)

The ZF filter 1/H(f)1/H(f)

A constant (frequency-flat) response

Zero

Quick Check

For a flat channel H(f)1H(f) \equiv 1 and noise PSD N0N_0, the MMSE linear equalizer's minimum MSE is:

N0N_0

N0/(1+N0)N_0 / (1 + N_0)

11

00

Block Diagram: Linear Equalizer Receiver

Block Diagram: Linear Equalizer Receiver
ISI channel, AWGN, linear equalizer W(f)W(f), and symbol-by-symbol decision device. The equalizer's job is to make z[n]z[n] as close to x[n]x[n] as possible in mean-squared-error sense.

Why This Matters: OFDM Pilot-Assisted Equalization

In LTE and 5G NR, pilot symbols scattered through the time–frequency grid give the receiver per-subcarrier channel estimates H^k\hat{H}_k. Data symbols on each subcarrier are then equalized by W^k=H^k/(H^k2+N0^)\hat{W}_k = \hat{H}_k^{*} / (|\hat{H}_k|^2 + \hat{N_0}) — a direct implementation of the MMSE formula derived here. The equalizer's cost per received data symbol is a single complex multiplication; this scaling to massive-bandwidth systems is impossible with a time-domain single-carrier MLSE receiver.

Zero-forcing (ZF) equalizer

The linear filter WZF(f)=1/H(f)W_{\text{ZF}}(f) = 1/H(f) that inverts the channel response. Makes the noise-free cascade equal to the identity but amplifies noise at frequencies where H(f)|H(f)| is small.

Related: MMSE equalizer

MMSE equalizer

The linear filter WMMSE(f)=H(f)/(H(f)2+N0)W_{\text{MMSE}}(f) = H^{*}(f)/(|H(f)|^2 + N_0) that minimizes mean-squared error between equalized output and transmitted symbol. A regularized channel inverse; reduces to ZF at high SNR and to a matched filter at low SNR.

Related: Zero-forcing (ZF) equalizer