system identification with LMS-algorithm - need help

Guest #2736408
Rate this post
useful
not useful
Dear community,

for further work in active noise control with LMS algorithm in first 
step I need to identify the secondary path of the system which contains 
maintainly an analog low pass and two analog band stop filters.

My problem is that the identification doesn't work exactly. The 
frequency response of my adaptive filter doesn't meet the response of 
the analog filters, most notably in phase (q.v. figure 
frequency_responses). When I use this approximated path for the active 
noise control, the whole system doesn't work very well.

However the adaption of the secondary path reaches a converged state 
with an error power of about 10^(-20) (q.v. figure adaption_error) 
which, I think, is a good result.

For the adaption I use a 100-tap FIR filter with an LMS-adaption step 
size of mu=0.00025 and a noise source (q.v. system_view.html).

Can anyone help me by tuning the algorithm for better results?

Maybe it's even impossible to approximate an analog path with an FIR 
filter exactly?

Thank you very much.

Rainer
Attached files:
Guest #2736578
Rate this post
useful
not useful
Thank you for reply.

In this figure you can see the impulse response of the approximating FIR 
filter.

After the 40th tap, which is at 20us, the coefficient values of the FIR 
filter are pretty small. So I think increasing the filter order would 
not improve performance.

Maybe I should also decrease the step size mu of the algorithm for a 
smaller remaining error. I will try to work this out.
Attached files:
Admin #2736993
Rate this post
useful
not useful
Your impulse response seems to be long enough to the right, but not to 
the left. You need a few anticausal taps. Delay the output signal by a 
few samples, until you get a few real zero taps at the beginning of the 
impulse response, then you will be able to identify the system much 
better. Of course, you can't use anticausal filters in real life (which 
is why ANC doesn't really work that well).
Guest #2738128
Rate this post
useful
not useful
I tried some positions for the delay taps. When I delay the input of the 
analog filters the phase of the FIR filter rises. Now I tried some 
numbers of delays, at one number of taps the phase of the analog filters 
is met, but the magnitude got worse. Also in the implulse response there 
didn't come up zero taps at the beginning yet.
Is that right or is there another way?
Guest #2748555
Rate this post
useful
not useful
Thanks for your help. Those anticausal steps do work. In real I also 
will have delay taps caused by an DA and an AD converter.

Meanwhile I figured out another way:
I send one single pulse to the secondary path. At the sink the impulse 
response sampled with the frequecy of the FIR filter is measured.
That works very good, too. And it's much faster.

Now my FxLMS algorithm does work. Thank you for your help.

Reply

Please log in before posting.

or

Log in with Google account

Registration is free and takes only a minute.

Register now