<< Chapter < Page Chapter >> Page >

Least mean squares adaptive filters

Why lms?

In our system, the music that is being played by the computer is a known output that is being fed into the room, which has an unknown response, and picked up by the microphone. Since we have the signal both before and after the influence of the room, this is a candidate for an adaptive filter. The adaptive filter can be used to try to estimate the room’s response based on the music being outputted and the input to the microphone. Once an estimate is available, we can use it to remove the interference of the music from the input to the microphone.

Lms overview

One of the most popular adaptive algorithms used today is the Least Mean Squares (LMS) algorithm. Essentially, this algorithm attempts to minimize the error that occurs between the detected (or desired signal), d[n], and the estimated value of the signal, y[n]. This estimated signal is created by taking the original input, x[n] , and running it through an approximation of the unknown channel. Basically:

y [ n ] = x [ n ] h ˆ [ 0 ] + x [ n 1 ] h ˆ [ 1 ] + + x [ n N ] h ˆ [ N ] size 12{y \[ n \] =x \[ n \]* { hat {h}} \[ 0 \] +x \[ n - 1 \]* { hat {h}} \[ 1 \] + dotslow +x \[ n - N \]* { hat {h}} \[ N \] } {}

or

y [ n ] = x N T [ n ] h ˆ [ n ] size 12{y \[ n \] =x rSub { size 8{N} } rSup { size 8{T} } \[ n \]* { hat {h}} \[ n \] } {}

where N is the order to which you are approximating the unknown system, x N size 12{x rSub { size 8{N} } } {} is a vector of the last N value of x, and each h[n] is a weight.

Lms algorithm block diagram

x[n] is the input to the filter, v[n]is the interference in the room, h[n] is the impulse response we're modeling, and e[n]is the error in this modeling.

Once the signal and its approximation are found, the error is just the difference between the two signals at the current point in time.

e [ n ] = d [ n ] y [ n ] size 12{e \[ n \] =d \[ n \]- y \[ n \] } {}

Using the error, we can approximate the next set of weights as follows:

h ˆ [ n + 1 ] = h [ n ] + μ e [ n ] x N [ n ] size 12{ { hat {h}} \[ n+1 \] =h \[ n \]+μ*e \[ n \] *x rSub { size 8{N} } \[ n \]} {}

whereµis a constant.

ChoosingΜ

The choice ofµis an important one as it greatly affects how the system will perform. Small values allow for greater precision in convergence, but slow down the response time of the system. If the value is too small, then the adaptive filter will not adapt fast enough. If it is too large, the system will not converge at all, and the value weights will actually diverge. Experimentation with different systems and environments is necessary to choose the ideal value forµ.

Isolating the whistle

It can be shown that the error value will converge on a minimum point. This theoretical minimum will likely not be at zero error, since there is outside noise and interference, but it represents the original signal’s effect on d[n] being completely removed. In the case of our signal detection system, the whistle that we are trying to detect will still be in the e[n]and therefore we will use e[n] as the input to the rest of our system. Once the adaptive filter has settled down, this signal will be the input to the microphone minus the estimated value of the music when it reaches the microphone.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Canada: continuous adaptive non-linear analysis for driving applications. OpenStax CNX. Jan 23, 2008 Download for free at http://cnx.org/content/col10499/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Canada: continuous adaptive non-linear analysis for driving applications' conversation and receive update notifications?

Ask