The Wiener Filter
Estimating a Signal from Noisy Observations
The matched filter answers the question: "Is the signal there?" Now we ask a different question: "What is the signal?" Given a noisy observation , where is a WSS signal process and is noise, we want to design an LTI filter that produces the best estimate of in the minimum mean-square error (MMSE) sense. This is the Wiener filter β the frequency-domain solution to the LMMSE estimation problem for stationary processes. The result is elegant: the optimal filter simply weights each frequency by the fraction of total power at that frequency that comes from the signal.
Definition: The Wiener Filtering Problem
The Wiener Filtering Problem
Let , where and are jointly WSS, zero-mean processes that are uncorrelated: for all . The Wiener filtering problem is to find the LTI filter that minimizes the mean-square error where is the filtered estimate.
Theorem: The Wiener-Hopf Equation
The optimal (non-causal) Wiener filter satisfies the Wiener-Hopf equation in the time domain: or equivalently, for all .
This is the orthogonality principle in disguise: the estimation error must be orthogonal to the observation for all . Writing out this orthogonality condition gives a convolution equation relating the optimal filter to the input and cross-correlation functions.
Orthogonality principle
The MSE is minimized when the error is orthogonal to the data: for all . This gives i.e., .
Substitute $ au = t - s$
Setting : This is the Wiener-Hopf integral equation.
Theorem: The Non-Causal Wiener Filter
For the signal-plus-noise model with and uncorrelated WSS processes, the non-causal Wiener filter has frequency response where is the signal PSD and is the noise PSD. The minimum MSE is
At each frequency, the Wiener filter computes a weight equal to the fraction of total power contributed by the signal. Where , the filter passes that frequency almost unchanged (). Where , the filter suppresses that frequency (). The Wiener filter is the optimal frequency-by-frequency tradeoff between signal distortion and noise suppression.
Transform the Wiener-Hopf equation
Taking the Fourier transform of : Since and are uncorrelated, and . Solving:
Minimum MSE
The error PSD is , since the signal component not passed by the filter is lost. Substituting: Integrating: .
Alternative form
Using , we can write and .
Example: Wiener Filter for Signal in White Noise
A WSS signal with PSD (Lorentzian spectrum) is observed in additive white noise with PSD . Find the Wiener filter frequency response and the MMSE.
Wiener filter
\gamma = N_0/(2A)\check{h}_{\text{opt}}(f) = \frac{1}{1 + \gamma + \gamma (f/f_0)^2} = \frac{1}{(1 + \gamma)(1 + (f/f_1)^2)}f_1 = f_0 \sqrt{(1 + \gamma)/\gamma}A/N_0$).
Limiting cases
- High SNR (): (pass everything).
- Low SNR (): (suppress everything). The Wiener filter automatically adapts its bandwidth to the SNR.
MMSE
$ This can be evaluated in closed form but the key insight is that MMSE decreases as the signal PSD becomes more concentrated (narrowband signals are easier to extract).
Example: Discrete-Time Wiener Filter for AR(1) Signal
An AR(1) signal with and is observed in additive white noise: with . Find the DT Wiener filter.
Signal PSD
From Section 15.1, .
Noise PSD
(flat).
Wiener filter
\sigma_v^2 \to 0f = 0a > 0f = 1/2a < 0$).
Wiener Filter Frequency Response vs. SNR
Explore how the Wiener filter adapts to the signal-to-noise ratio at each frequency. Adjust the signal and noise PSDs to see the filter shape change.
Parameters
Wiener Denoising: Before and After
See the Wiener filter in action. A realization of a WSS signal is corrupted by noise, and the Wiener filter extracts the signal estimate. Compare input and output in both time and frequency domains.
Parameters
Matched Filter vs. Wiener Filter
| Property | Matched Filter | Wiener Filter |
|---|---|---|
| Goal | Maximize output SNR at one instant | Minimize MSE of signal estimate |
| Signal model | Known deterministic | WSS random process |
| Noise | White (PSD ) | Any WSS noise |
| Optimal | ||
| Performance metric | ||
| Uses signal shape? | Yes (explicitly) | Only through PSD |
| Application | Radar, digital communications | Speech enhancement, channel estimation |
Quick Check
As the noise PSD at all frequencies, what does the Wiener filter converge to?
The identity filter
The matched filter
Zero (suppress everything)
With no noise, the observation equals the signal, so the optimal estimate is to pass unchanged: .
Quick Check
The Wiener filter for a narrowband signal in broadband noise has frequency response that is approximately:
A bandpass filter matching the signal bandwidth
An allpass filter
A notch filter at the signal frequency
Where , ; where , . So the Wiener filter naturally becomes a bandpass filter matched to the signal's spectral support.
Wiener Filtering in Speech Enhancement
The Wiener filter is the workhorse of noise suppression in speech processing. In practice, the signal and noise PSDs are estimated from the data (e.g., using voice activity detection to identify noise-only frames). The short-time Fourier transform (STFT) provides a time-varying spectral estimate, and the Wiener filter is applied independently to each frequency bin. This simple approach β estimate and , then multiply by β remains competitive with far more complex algorithms.
- β’
PSD estimation errors cause 'musical noise' artifacts
- β’
Non-stationary noise requires adaptive PSD tracking
LMMSE Channel Estimation for Massive MIMO
The Wiener filter principle extends directly to MIMO channel estimation. When the channel vector has spatial covariance and the observations are corrupted by white noise of power , the LMMSE estimator is , which is the matrix analogue of the scalar Wiener filter . This work by the CommIT group showed how to exploit spatial covariance structure to dramatically improve channel estimation in massive MIMO systems, reducing pilot overhead and improving spectral efficiency.
Wiener Filter
The LMMSE-optimal LTI filter for estimating a WSS signal from noisy observations. For signal-plus-noise with uncorrelated components, the frequency response is .
Related: Matched Filter
Key Takeaway
The non-causal Wiener filter is the LMMSE-optimal LTI filter for extracting a WSS signal from additive uncorrelated noise. It weights each frequency by the local signal-to-noise ratio, automatically adapting its bandwidth to the noise level. The MMSE is .