Using nLMS filter for feedback cancellation
Hi Brett,
I have read up on the other posts regarding the nLMS filter and that you have not yet had a chance to work with it. However, you did mention hearing a demo using a "real" mic and loudspeaker that worked well. I'm trying to create a feedback canceller for PA systems and I'm having trouble getting it to work. My application is similar to using AEC for a cell phone when there is a talkback signal...i.e. the mic signal and speaker signal are the same. Only differences in the two (feedback, room noise) should be cancelled out using the nLMS filter. My problem is how to input the "target" signal to PIN 1 of the nLMS block. Simply splitting the input signal and sending it to both PIN 0 and PIN1 of the nLMS block does not work...there is no output. This is strange since if the signals are identical the filter should simply pass the signal. I'm thinking that a delay block is required on one of the inputs, but trials so far have only resulted in noise and feedback. My though it that a feed-forward technique is required. The nLMS filter needs to know what the signal was supposed to be before the mic signal arrives. Adding a delay line in the mic feed also did not work. The test process flow that you posted works fine, and I can also substitute the sine wave generator in your example with a real mic signal and it works to cancel the white noise perfectly. It's only when I try to input a "real" signal for the speaker signal that it stops working. Any ideas?
Anyone? Surely one of the developers has some information on how to go about doing this.
Any information would be much appreciated!
I have really been wanting to devote more time to this and come up with a good example project, but it has been difficult to do that recently.
According to this example I posted last year ( https://ez.analog.com/message/26410#26410 ), pin 0 should contain the signal you want to keep + the additional noise you want to remove, whereas pin 1 should basically contain the noise you want to remove. So, if pin 0 = pin 1, then the output should be zero. In other words, if you remove noise from noise + signal (and signal is zero), then the result is zero.
If you want a talkback signal, then I think you would have to mix that in with the speaker output signal (into pin 1) in the proper proportion in order for it to be included as part of the target to cancel out.
I hope this makes sense. I'm going to check with the algorithm design team to see if they could come up with an example project that includes a talkback signal.
Just wondering if there has been any progress on this project?
Thanks!
Sorry, no progress. With some upcoming product releases on the horizon, we may not be able to devote time to this at the moment.
No progress about this project? It seems to be a good solution for an ANC project.
Unfortunately we haven't been able to devote resources to moving this project's development forward. We might be able to resume work in this area after completing current projects.
Please log in to reply.