The Non-Causal Wiener Filter
When You Are Allowed to Look Into the Future
If we record the observation sequence off-line and then process it, we can use samples from both the past and the future of time to estimate . This is the setting of smoothing: image denoising, audio restoration, seismic trace processing. The non-causal Wiener filter is the best linear smoother, and its transfer function is so simple that it deserves to be memorized.
Theorem: Non-Causal Wiener Filter
Let be jointly WSS with spectra and for all . The MMSE non-causal linear estimator has transfer function and the non-causal MMSE per sample is
Read the formula as a frequency-by-frequency matched filter. At each frequency , we have a "cross-correlation" between the desired signal and the observation, and an "observation power" . The Wiener gain is the cross-spectrum normalized by the observation spectrum. Where the signal is strong relative to the observation β meaning β the gain is close to one. Where the signal is drowned in noise β meaning β the gain is close to zero. The filter attenuates the bands where listening would hurt you.
Write the Wiener-Hopf equation for $\mathcal{K} = \mathbb{Z}$
From TOrthogonality Principle (Wiener-Hopf Equations) with the orthogonality condition becomes for every . The left-hand side is the convolution .
Take the DTFT
The Fourier transform turns convolution into multiplication: . Dividing by gives the boxed formula.
Compute the MMSE in the frequency domain
By TMMSE of the Wiener Estimator the MMSE is . Using Parseval: . Similarly . Subtracting gives the stated formula.
Definition: Signal in Additive Independent Noise
Signal in Additive Independent Noise
The canonical application is where is a zero-mean WSS noise process independent of . In this case , so and the non-causal Wiener filter takes the classical form
Theorem: MMSE for Signal in Additive Independent Noise
Under the setting of DSignal in Additive Independent Noise,
The integrand is the harmonic mean of and at each frequency (up to a factor of 2). It is always less than : the Wiener filter never does worse than simply keeping the signal or throwing it away at each frequency, because the optimum choice is to do something in between.
Substitute into the MMSE formula
From TNon-Causal Wiener Filter with and :
Wiener Filter Frequency Response
AR(1) signal observed in additive white noise . Visualize the non-causal and causal Wiener filters on the same axes. High SNR: both gains approach 1 at signal peaks. Low SNR: both gains collapse toward zero. Compare the phase of the causal filter (implicit here β only magnitude is shown).
Parameters
MMSE vs SNR: Causal, Non-Causal, and the Signal Variance Floor
For the AR(1)+noise problem, trace the three MMSE curves as SNR varies. At high SNR both filters drive the MMSE to zero; at low SNR both are limited by the signal variance. The gap between causal and non-causal MMSE is the price of real-time processing.
Parameters
Wiener Denoising in the Time Domain
Simulate an AR(1) realization, add white noise, and compare the noisy observation, the true signal, the non-causal estimate (via DFT), and the causal estimate (via the recursive first-order filter derived from spectral factorization). Vary the AR coefficient and SNR to see the filter adapt.
Parameters
Example: AR(1) Signal in White Noise: Closed-Form Non-Causal Wiener Filter
Let where is white with variance and , and let with independent white noise of variance . Derive and the non-causal MMSE in closed form.
Compute the signal PSD
The AR(1) has transfer function driven by white noise, so .
Form the observation PSD
. The cross-PSD is since and are independent.
Write the Wiener gain
This is a real-valued, frequency-selective attenuator. At and the signal PSD takes its extreme values, and the gain is correspondingly large or small.
Compute the MMSE
Using TMMSE for Signal in Additive Independent Noise: . In the high-SNR limit we get (linearly in ). In the low-SNR limit the MMSE approaches the signal variance β the filter effectively gives up.
Common Mistake: Breaks the Non-Causal Formula
Mistake:
Applying at frequencies where .
Correction:
If the observation PSD vanishes at some frequency β for example, is band-limited and is outside the band β then there is no observation power at that frequency and the formula is indeterminate. The correct interpretation: set at such frequencies (we have no information, so estimate zero). The integrand in the MMSE formula should then be replaced by at those frequencies (we lose the signal power entirely).
Key Takeaway
The non-causal Wiener filter has a one-line formula: . It is a frequency-selective attenuator that keeps bands of high SNR and suppresses bands of low SNR. The MMSE is the integral of , which is never negative by Cauchy-Schwarz on the cross-spectrum.
Implementing the Non-Causal Wiener Filter with the DFT
In practice the non-causal filter is implemented block-by-block on a finite observation segment using the DFT. Take an -point DFT of the observation, multiply by the sampled Wiener gain , and inverse-DFT. This is asymptotically the optimal smoother, but it introduces circular-convolution artifacts at the block boundaries. Overlap-save and overlap-add reduce the boundary effects. For very long recordings the gain can be precomputed once and reused β the per-sample cost of the filter is then by FFT, compared with the cost of solving the Toeplitz Wiener-Hopf system directly.
- β’
Block-based DFT implementation requires on the DFT grid.
- β’
Finite-block effects appear at boundaries; overlap-save recommended for streaming.