Forums

Adaptive Feedback Path Tracing Mismatch Problem

Started by shengzheng1983 July 31, 2005
Hi, all

I'm doing the acoustic feedback path tracing for hearing aids
applications. My method belongs to non-continuous method. i have a
random noise u(n)as the input of my adapitve filter and a prescribed
160-tap feedback path F(z). I use 160FIR adaptive FIR filter W(z) to
model the original 160-tap feedback path. The echo is obtained by
passing u(n) through the F(z), and outside there is a speech signal
s(n). So my desired signal is 

d(n)=s(n)+echo(n)    and input is u(n).

The adaptation is done using NLMS algorithm. After adaptation, I found
the frequency response of W(z) and F(z) is much different. Especially
for the low frequency range, the magnitude response of W(z) is much
greater than F(z) (-20db compared to -40db). And the high freq. range
response is acceptable. I thought it was due the problem for FIR
system since all zeros. So i tried it using IIR system. But still the
low freq. range deviates a lot. 

Could anyone help me to figure out where the problem is. I really
appreciate any comment. Thanks a lot!!

Rgds,

Sheng Zheng

The comparison of the obtained filter and prescribed path is shown
below:

http://www.ntu.edu.sg/home2002/g02376479/1056.jpg

But i still can't find a proper way to compensate the dc shift. SOme
suggested using leaky LMS or add a high pass filter. just not very
clear about such methos.

Can anyone give me some guidance/hints here?
thanks a lot!!!

in article MvydnTTRc4strmvfRVn_vQ@giganews.com, shengzheng1983 at
shengzheng80@hotmail-dot-com.no-spam.invalid wrote on 08/07/2005 12:15:

> But i still can't find a proper way to compensate the dc shift. SOme > suggested using leaky LMS or add a high pass filter. just not very > clear about such methods.
you apparently know how to do a normalized LMS. do you know what is meant by "leaky" LMS? it's fairly easy to modify code to do that. adding an HPF (essentially a DC blocking filter) will kill DC, even if there *was* some in the input so that might kill the good along with the bad.
> Can anyone give me some guidance/hints here?
sorry, no one here at comp.dsp knows anything about LMS filters. :-) well, if you don't believe that, at least you need to be very specific about what you want to do, have done, and plan to do because we ain't gonna design this for you. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
robert bristow-johnson wrote:
> in article MvydnTTRc4strmvfRVn_vQ@giganews.com, shengzheng1983 at > shengzheng80@hotmail-dot-com.no-spam.invalid wrote on 08/07/2005 12:15: > > >>But i still can't find a proper way to compensate the dc shift. SOme >>suggested using leaky LMS or add a high pass filter. just not very >>clear about such methods. > > > you apparently know how to do a normalized LMS. do you know what is meant > by "leaky" LMS? it's fairly easy to modify code to do that.
Is that when someone steals your LMS code, and publishes it on the web? :-) The critical thing with leaky LMS is not knowing what it means, but why it is needed. For some reason lots of descriptions of it fail to mention why you need to do it.
> adding an HPF (essentially a DC blocking filter) will kill DC, even if there > *was* some in the input so that might kill the good along with the bad. > > >>Can anyone give me some guidance/hints here? > > > sorry, no one here at comp.dsp knows anything about LMS filters. > > :-) > > well, if you don't believe that, at least you need to be very specific about > what you want to do, have done, and plan to do because we ain't gonna design > this for you.
Steve
Of course, the proper way to compensate for the DC shift is to exactly 
subtract it out. 

 I think that a leaky estimator of position would require a velocity input.  

In article <MvydnTTRc4strmvfRVn_vQ@giganews.com>, 
shengzheng80@hotmail-dot-com.no-spam.invalid (shengzheng1983) wrote:
>But i still can't find a proper way to compensate the dc shift. SOme >suggested using leaky LMS or add a high pass filter. just not very >clear about such methos. > >Can anyone give me some guidance/hints here? >thanks a lot!!! >
I know modification in the code is simple.
But as what u said, i don't know why leaky adaptation is needed here
and in what situations leaky algorithm is preferred?

I'm still an undergraduate student and have a lot of things to learn
in this area.

Thank you all guys for your response!

I am also doing the program, can you send me your code? I think it can
help me.
Thanks!~

I do it by putting a high pass filter in front of the adaptive filter.
I can get acceptable result in such way as the DC portion is removed.
But i STILL don't understand the leaky algorithm applied here.