DSPRelated.com
Forums

Filtered-X LMS - what's the purpose?

Started by Jack L. September 25, 2004
Hi group, I have read a bit upon the Filteret-X LMS algorithm that seems to
be particularly useful in ANCs. However, I can't really get the purpose of
this algorithm; exactly, what problem is it trying to solve, or why was it
"invented"?

The weight update equation is somewhat different to the ordinary LMS in the
sense that the new weight is the result of the present weight minus my*error
signal*filtered input signal.

Finally, I'm also interested in knowing why many litterature introduce to
this filtered-x LMS, especially in books on active noise control, often in
connection with MIMO systems.

Thanks in advance! :-)

--
Mvh / Best regards,
Jack, Copenhagen

The email address is for real. :)



On Sun, 26 Sep 2004 00:54:23 +0200, "Jack L." <jack_nospam@nospam.dk>
wrote:

>Hi group, I have read a bit upon the Filteret-X LMS algorithm that seems to >be particularly useful in ANCs. However, I can't really get the purpose of >this algorithm; exactly, what problem is it trying to solve, or why was it >"invented"?
the problem with the LMS algorithm is that for systems where eigenvalue spread is large, the convergence rate can be slow. filtered-x algorithm is one of the family of self-normalizing lms like algorithms invented to solve this eigenvalue spread dependency.
mkl wrote:
> On Sun, 26 Sep 2004 00:54:23 +0200, "Jack L." <jack_nospam@nospam.dk> > wrote: > > the problem with the LMS algorithm is that for systems where > eigenvalue spread is large, the convergence rate can be slow. > filtered-x algorithm is one of the family of self-normalizing lms like > algorithms invented to solve this eigenvalue spread dependency.
Hi mkl, thanks for your fast response. Are you suggesting that the filtered-x LMS has an equivalent effect as the normalized LMS? What I don't understand is the filtering part: The reference signal is convolved with some transfer function... Is the TF a mathematical model of the acoustics of some arbitrary room? Wouldn't that require computing the impulse response of that room? The same transfer function also exists at the output of the adaptive filter before y(n) gets into the summation. I found a model of FXLMS here: http://joho.densi.kansai-u.ac.jp/anc/image/block_FXLMS.gif. The TFs in that case are C and C-hat. -- Mvh / Best regards, Jack, Copenhagen The email address is for real. :)
The filtered-x lms algoritm is for 'non-electrical' cancellers - that
is, where there's more than just a wire between the filter output and
the adaption, such as in anc systems as you mention.  In an anc system
for example, the x-filter would include the dac, amp, speaker,
acoustic path, mic, and adc - the x-filter is essentially compensation
for this response.


It's kinda easy to derive.  Start with a normal 'electrical' lms.  You
can insert a filter to the update (correlator) as long as you put the
same filter in both input paths.  Now slide the one filter around past
the error summer to just after the lms filter and you have the
'non-electrical' canceller - the other filter is the x-filter.


This really has nothing to do with normalization, it has to do with
phase.  Without the x-filter the non-electrical canceller is basically
unstable.  The usual x-filter has the right phase but not necessarily
the optimal magnitude.


Matt


"Jack L." <jack_nospam@nospam.dk> wrote in message news:<iHm5d.52844$Vf.2508476@news000.worldonline.dk>...
> Hi group, I have read a bit upon the Filteret-X LMS algorithm that seems to > be particularly useful in ANCs. However, I can't really get the purpose of > this algorithm; exactly, what problem is it trying to solve, or why was it > "invented"? > > The weight update equation is somewhat different to the ordinary LMS in the > sense that the new weight is the result of the present weight minus my*error > signal*filtered input signal. > > Finally, I'm also interested in knowing why many litterature introduce to > this filtered-x LMS, especially in books on active noise control, often in > connection with MIMO systems. > > Thanks in advance! :-)