Digital Signal Processing/Wiener Filters

From Wikibooks, open books for an open world
Jump to: navigation, search

A Wiener Filter is a filtering system that is an optimal solution to the statistical filtering problem.

Statistical Filtering[edit]

Statement of Problem[edit]

Note:
The operator E[] is the expectation operator, and is defined as:
E[x] = \sum x f[n]
where fx[n] is the probability distribution function of x.

d[n] is the expected response value, or the value that we would like the input to approach.

\sigma_d^2 = E[d[n]d^*[n]]

e[n] is the estimation error, or the difference between the expected signal d[n] and the output of the FIR filter. We denote the FIR filter output with a hat:

\hat{d}[n] = \sum_{k=1}^M w_k u[n-k+1]

Where the convolution operation applies the input signal, u[n], to the filter with impulse response w[n].

We can define a performance index J[w] which is a function of the tap weights of the FIR filter, w[n], and can be used to show how close the filter is to reaching the desired output. We define the performance index as:

J[w] = E[e[n]e^*[n]]

J[w] is also known as the mean-squared error signal. The goal of a Wiener filter is to minimize J[w] so that the filter operates with the least error.

Adaptive Filtering[edit]

Adaptive filtering is a situation where the coefficients of a filter change over time, typically in response to changes in the characteristics of the input signal.

Wiener-Hopf Equations[edit]

Rw_o = p
w_o = R^{-1}p

Where R is the autocorrelation matrix. wo is the optimal set of filter coefficients, arranged in a vector, and p is the cross-correlation vector.

Wiener Filters[edit]

Wiener Filters are typically implemented with FIR filter constructions. This is because the wiener filter coefficients change over time, and IIR filter can become unstable for certain coefficient values. To prevent this instability, we typically construct adaptive filters with FIR structures.