Insignal processing,theWiener filteris afilterused to produce an estimate of a desired or target random process by linear time-invariant (LTI) filtering of an observed noisy process, assuming knownstationarysignal and noise spectra, and additive noise. The Wiener filter minimizes the mean square error between the estimated random process and the desired process.
Description
editThe goal of the Wiener filter is to compute astatistical estimateof an unknown signal using a related signal as an input and filtering that known signal to produce the estimate as an output. For example, the known signal might consist of an unknown signal of interest that has been corrupted by additivenoise.The Wiener filter can be used to filter out the noise from the corrupted signal to provide an estimate of the underlying signal of interest. The Wiener filter is based on astatisticalapproach, and a more statistical account of the theory is given in theminimum mean square error (MMSE) estimatorarticle.
Typical deterministic filters are designed for a desiredfrequency response.However, the design of the Wiener filter takes a different approach. One is assumed to have knowledge of the spectral properties of the original signal and the noise, and one seeks thelinear time-invariantfilter whose output would come as close to the original signal as possible. Wiener filters are characterized by the following:[1]
- Assumption: signal and (additive) noise are stationary linearstochastic processeswith known spectral characteristics or knownautocorrelationandcross-correlation
- Requirement: the filter must be physically realizable/causal(this requirement can be dropped, resulting in a non-causal solution)
- Performance criterion:minimum mean-square error(MMSE)
This filter is frequently used in the process ofdeconvolution;for this application, seeWiener deconvolution.
Wiener filter solutions
editLetbe an unknown signal which must be estimated from a measurement signal.Where Alpha is a tunable parameter.is known as prediction,is known as filtering, andis known as smoothing (see Wiener filtering chapter of[1]for more details).
The Wiener filter problem has solutions for three possible cases: one where a noncausal filter is acceptable (requiring an infinite amount of both past and future data), the case where acausalfilter is desired (using an infinite amount of past data), and thefinite impulse response(FIR) case where only input data is used (i.e. the result or output is not fed back into the filter as in the IIR case). The first case is simple to solve but is not suited for real-time applications. Wiener's main accomplishment was solving the case where the causality requirement is in effect;Norman Levinsongave the FIR solution in an appendix of Wiener's book.
Noncausal solution
editwherearespectral densities.Provided thatis optimal, then theminimum mean-square errorequation reduces to
and the solutionis the inverse two-sidedLaplace transformof.
Causal solution
editwhere
- consists of the causal part of(that is, that part of this fraction having a positive time solution under the inverse Laplace transform)
- is the causal component of(i.e., the inverse Laplace transform ofis non-zero only for)
- is the anti-causal component of(i.e., the inverse Laplace transform ofis non-zero only for)
This general formula is complicated and deserves a more detailed explanation. To write down the solutionin a specific case, one should follow these steps:[2]
- Start with the spectrumin rational form and factor it into causal and anti-causal components:wherecontains all the zeros and poles in the left half plane (LHP) andcontains the zeroes and poles in the right half plane (RHP). This is called theWiener–Hopf factorization.
- Dividebyand write out the result as apartial fraction expansion.
- Select only those terms in this expansion having poles in the LHP. Call these terms.
- Divideby.The result is the desired filter transfer function.
Finite impulse response Wiener filter for discrete series
editThe causalfinite impulse response(FIR) Wiener filter, instead of using some given data matrix X and output vector Y, finds optimal tap weights by using the statistics of the input and output signals. It populates the input matrix X with estimates of the auto-correlation of the input signal (T) and populates the output vector Y with estimates of the cross-correlation between the output and input signals (V).
In order to derive the coefficients of the Wiener filter, consider the signalw[n] being fed to a Wiener filter of order (number of past taps)Nand with coefficients.The output of the filter is denotedx[n] which is given by the expression
The residual error is denotede[n] and is defined ase[n] =x[n] −s[n] (see the corresponding block diagram). The Wiener filter is designed so as to minimize the mean square error (MMSEcriteria) which can be stated concisely as follows:
wheredenotes the expectation operator. In the general case, the coefficientsmay be complex and may be derived for the case wherew[n] ands[n] are complex as well. With a complex signal, the matrix to be solved is aHermitianToeplitz matrix,rather thansymmetricToeplitz matrix.For simplicity, the following considers only the case where all these quantities are real. The mean square error (MSE) may be rewritten as:
To find the vectorwhich minimizes the expression above, calculate its derivative with respect to each
Assuming thatw[n] ands[n] are each stationary and jointly stationary, the sequencesandknown respectively as the autocorrelation ofw[n] and the cross-correlation betweenw[n] ands[n] can be defined as follows:
The derivative of the MSE may therefore be rewritten as:
Note that for real,the autocorrelation is symmetric:Letting the derivative be equal to zero results in:
which can be rewritten (using the above symmetric property) in matrix form
These equations are known as theWiener–Hopf equations.The matrixTappearing in the equation is a symmetricToeplitz matrix.Under suitable conditions on,these matrices are known to be positive definite and therefore non-singular yielding a unique solution to the determination of the Wiener filter coefficient vector,.Furthermore, there exists an efficient algorithm to solve such Wiener–Hopf equations known as theLevinson-Durbinalgorithm so an explicit inversion ofTis not required.
In some articles, the cross correlation function is defined in the opposite way:Then, thematrix will contain;this is just a difference in notation.
Whichever notation is used, note that for real:
Relationship to the least squares filter
editThe realization of the causal Wiener filter looks a lot like the solution to theleast squaresestimate, except in the signal processing domain. The least squares solution, for input matrixand output vectoris
The FIR Wiener filter is related to theleast mean squares filter,but minimizing the error criterion of the latter does not rely on cross-correlations or auto-correlations. Its solution converges to the Wiener filter solution.
Complex signals
editFor complex signals, the derivation of the complex Wiener filter is performed by minimizing=.This involves computing partial derivatives with respect to both the real and imaginary parts of,and requiring them both to be zero.
The resulting Wiener-Hopf equations are:
which can be rewritten in matrix form:
Note here that:
The Wiener coefficient vector is then computed as:
Applications
editThe Wiener filter has a variety of applications in signal processing, image processing,[3]control systems, and digital communications. These applications generally fall into one of four main categories:
For example, the Wiener filter can be used in image processing to remove noise from a picture. For example, using the Mathematica function:
WienerFilter[image,2]
on the first image on the right, produces the filtered image below it.
It is commonly used to denoise audio signals, especially speech, as a preprocessor beforespeech recognition.
History
editThe filter was proposed byNorbert Wienerduring the 1940s and published in 1949.[4][5]The discrete-time equivalent of Wiener's work was derived independently byAndrey Kolmogorovand published in 1941.[6]Hence the theory is often called theWiener–Kolmogorovfiltering theory (cf.Kriging). The Wiener filter was the first statistically designed filter to be proposed and subsequently gave rise to many others including theKalman filter.
See also
editReferences
edit- ^abBrown, Robert Grover; Hwang, Patrick Y.C. (1996).Introduction to Random Signals and Applied Kalman Filtering(3 ed.). New York: John Wiley & Sons.ISBN978-0-471-12839-7.
- ^Welch, Lloyd R."Wiener–Hopf Theory"(PDF).Archived fromthe original(PDF)on 2006-09-20.Retrieved2006-11-25.
- ^Boulfelfel, D.; Rangayyan, R. M.; Hahn, L. J.; Kloiber, R. (1994). "Three-dimensional restoration of single photon emission computed tomography images".IEEE Transactions on Nuclear Science.41(5): 1746–1754.Bibcode:1994ITNS...41.1746B.doi:10.1109/23.317385.S2CID33708058.
- ^Wiener N: The interpolation, extrapolation and smoothing of stationary time series', Report of the Services 19, Research Project DIC-6037 MIT, February 1942
- ^Wiener, Norbert (1949).Extrapolation, Interpolation, and Smoothing of Stationary Time Series.New York: Wiley.ISBN978-0-262-73005-1.
- ^Kolmogorov A.N: 'Stationary sequences in Hilbert space', (In Russian) Bull. Moscow Univ. 1941 vol.2 no.6 1-40. English translation in Kailath T. (ed.)Linear least squares estimationDowden, Hutchinson & Ross 1977ISBN0-87933-098-8
Further reading
edit- Thomas Kailath,Ali H. Sayed,andBabak Hassibi,Linear Estimation, Prentice-Hall, NJ, 2000,ISBN978-0-13-022464-4.
External links
edit- MathematicaWienerFilterfunction