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
Adaptive Feedback Path Tracing Mismatch Problem
Started by ●July 31, 2005
Reply by ●August 1, 20052005-08-01
The comparison of the obtained filter and prescribed path is shown below: http://www.ntu.edu.sg/home2002/g02376479/1056.jpg
Reply by ●August 7, 20052005-08-07
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!!!
Reply by ●August 7, 20052005-08-07
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."
Reply by ●August 7, 20052005-08-07
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
Reply by ●August 8, 20052005-08-08
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!!! >
Reply by ●August 9, 20052005-08-09
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!
Reply by ●August 10, 20052005-08-10
Reply by ●August 12, 20052005-08-12