DSPRelated.com
Forums

Acoustic Echo Cancellation

Started by John McDermick March 16, 2011
On Mar 16, 12:59&#4294967295;pm, John McDermick <johnthedsp...@gmail.com> wrote:
> > Do it adaptively, and you don't have to the delay at all. > > If I do not delay the signal which is fed to the filter, then the > delay will manifest itself > in the filter tap values instead...so the delay compensation is going > to be there no > matter what....right??? > > Also, you say "do it adaptively"....is there a non-adaptive approach > and how well would > that work?
Sorry for the _delay_ :) I was out of town. In your steps 3 - 5 you state: 3. Find delay between buffered speaker signal and buffered microphone signal 4. Use estimated delay to time align buffered microphone signal and buffered speaker signal 5. Calculate the amplitude spectrum of the time-aligned (delayed) speaker signal. That is NOT an adaptive algorithm. If done adaptively, you don't need to know the delay. The canceller's filter will determine it automatically, and place the impulse respone estimate accordingly. In fact, the filter will give you the estimate of the impulse response, place the delay appropriately, and perform the subtraction. Which your description won't do. For the acoustic echo cancellation problem, the two biggest challenges you should have is the inherent non-linearity of the impulse response, and the non-stationarity of the impulse response. The delay estimate and signal subtraction should be trivial, and performed as part of the adaptive process. In fact, the impulse response estimate, even if extremely poor due to a bad model, is trivially generated by the echo canceller filter. Maurice Givens