I'm currently working on a project related to active noise cancellation (ANC) which uses two microphones, where the first is the reference input and the second is the error input (I use the EVAL-ADAU1467 board to check). At this link (Acoustic Echo Cancellation & Noise Reduction Example Code) I found a ready-made noise reduction project and redesigned it for my task with two microphones. But according to the ANC, I made a gross error (in my opinion), deciding to use the same blocks for the microphone input error as for the microphone reference input. What are your thoughts on this? Also to understand what I did I add a project.
I also know that ADAU1467 in SigmaStudio is a module that implements the MFxLMS algorithm, which is an adaptive FIR filter based on minimizing the least rms value of the error signal. The algorithm is applied to noise cancellation applications where it takes into account the fact that the point of cancellation is not at the anti-noise output speaker but at the position of the microphone error. But I can't figure out how to use the odds I got, even though I followed the instructions from Modified FXLMS(ADAU145x) . Should I use them for FIR filter blocks or in the same MFxLMS? I'm just sure I've read (found) not enough discussions on this topic, maybe someone knows on this issue or discussions?
P.s. Also, the microphone input error is electret and I used a small circuit:
so that it emits less noise from the power supply, and I apply a voltage of 3.3V from J4 through a 1k1 ohm resistor. To tell the truth it does not cope with noise as I obviously messed up in it somewhere therefore I think to use the scheme on the AD8626ARZ amplifier chip:
which I found on the Internet. What can you say about them?