On Mar 16, 12:59�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
3. Find delay between buffered speaker signal and buffered microphone
4. Use estimated delay to time align buffered microphone signal and
buffered speaker signal
5. Calculate the amplitude spectrum of the time-aligned (delayed)
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