Connexions

You are here: Home » Content » Practical Issues in Wiener Filter Implementation
Content Actions
Lenses

What is a lens?

Lenses

A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual Connexions member, a community, or a respected organization.

This content is ...
In these lenses
  • This module is included inLens: richb's DSP resources
    By: Richard BaraniukAs a part of collection:"Adaptive Filters"

    Comments:

    "A good introduction in adaptive filters, a major DSP application."

    Click the "richb's DSP" link to see all content selected in this lens.

    richb's DSP
Tags

(?)

These tags come from the endorsement, affiliation, and other lenses that include this content.

Practical Issues in Wiener Filter Implementation

Module by: Douglas L. Jones

The weiner-filter, Wopt=R-1P W opt R P , is ideal for many applications. But several issues must be addressed to use it in practice.
Problem 1
In practice one usually won't know exactly the statistics of x k x k and d k d k (i.e. RR and PP) needed to compute the Weiner filter.
How do we surmount this problem?
[ Click for Solution 1 ]
Solution 1
Estimate the statistics r xx l ̂1Nk=0N-1 x k x k + l r xx l 1 N k 0 N 1 x k x k + l r xd l ̂1Nk=0N-1 d k x k - l r xd l 1 N k 0 N 1 d k x k - l then solve Ŵopt= R-1 ̂= P ̂ W opt R P
[ Hide Solution 1 ]
Problem 2
In many applications, the statistics of x k x k , d k d k vary slowly with time.
How does one develop an adaptive system which tracks these changes over time to keep the system near optimal at all times?
[ Click for Solution 2 ]
Solution 2
Use short-time windowed estiamtes of the correlation functions.
Equation in Question: r xx l ̂k=1Nm=0N-1 x k - m x k - m - l r xx l k 1 N m N 1 0 x k - m x k - m - l
r dx l ̂k=1Nm=0N-1 x k - m - l d k - m r dx l k 1 N m N 1 0 x k - m - l d k - m and W opt kR̂k-1P̂k W opt k R k P k
[ Hide Solution 2 ]
Problem 3
How can r xx k l ̂ r xx k l be computed efficiently?
[ Click for Solution 3 ]
Solution 3
Recursively! r xx k l= r xx k - 1 l+ x k x k - l - x k - N x k - N - l r xx k l r xx k - 1 l x k x k - l x k - N x k - N - l This is critically stable, so people usually do 1-α r xx kl=α r xx k - 1 l+ x k x k - l 1 α r xx l k α r xx k - 1 l x k x k - l
[ Hide Solution 3 ]
Problem 4
how does one choose N?

Tradeoffs

Larger NN → more accurate estimates of the correlation values → better Ŵopt W opt . However, larger NN leads to slower adaptation.
Note: The success of adaptive systems depends on xx, dd being roughly stationary over at least NN samples, N>M N M . That is, all adaptive filtering algorithms require that the underlying system varies slowly with respect to the sampling rate and the filter length (although they can tolerate occasional step discontinuities in the underlying system).

Computational Considerations

As presented here, an adaptive filter requires computing a matrix inverse at each sample. Actually, since the matrix RR is Toeplitz, the linear system of equations can be sovled with OM2 O M 2 computations using Levinson's algorithm, where MM is the filter length. However, in many applications this may be too expensive, especially since computing the filter output itself requires OM O M computations. There are two main approaches to resolving the computation problem
  1. Take advantage of the fact that Rk+1 R k 1 is only slightly changed from Rk R k to reduce the computation to OM O M ; these algorithms are called Fast Recursive Least Squareds algorithms; all methods proposed so far have stability problems and are dangerous to use.
  2. Find a different approach to solving the optimization problem that doesn't require explicit inversion of the correlation matrix.
Note: Adaptive algorithms involving the correlation matrix are called Recursive least Squares (RLS) algorithms. Historically, they were developed after the LMS algorithm, which is the slimplest and most widely used approach OM O M . OM2 O M 2 RLS algorithms are used in applications requiring very fast adaptation.

Comments, questions, feedback, criticisms?

Send feedback