The NLMS-based echo cancellers for both hybrid and acoustic echo canceling do exist and perform well, however, acoustic echo cancellation is more complex due to the specifics of the acoustic echo paths and the need for the acoustic echo cancellers to operate in the presence of noise in the echo path (examples: noise in the car, noise in a crowded room). For these reasons a number of enhancements has been proposed and implemented in the acoustic echo cancellers (AECs) by researchers.
There are certain improvements possible when employing a frequency-domain AEC. As you should have already realized, the NLMS algorithm presented earlier entirely operates in the time domain, no work is done there on the spectrum.
The first problem with time-domain AECs is their resource requirements, MIPs. Normally, the AECs need to have many filter coefficients to efficiently cancel the acoustic echo. But doing long convolutions to generate the replica of the echo signal is expensive when doing them directly in the time domain. It is possible to modify the initial NLMS algorithm so that the filter coefficients are updated once per a block of samples y(i)…y(i+N) instead of doing that each new sample y(i). The NLMS algorithm such modified is called the block NLMS (or BNLMS) algorithm. The advantage of keeping the coefficients fixed during the block of N samples y(i) is that it is possible to replace the time-domain convolution by multiplication in the frequency domain. The direct convolution computation in the time domain has a cost proportional to N2 (e.g. the number of multiplications, if we compute it for N samples and there are N coefficients in the filter). Frequency domain processing requires computation of several Discrete Fourier Transforms (DFTs) of the signals. The Fast Fourier Transform (FFT) is a very efficient DFT implementation and it is known to have a computational cost proportional to N*log2 (N). So it is more efficient to use convolution by FFT for big Ns. The disadvantage of using BNLMS is that it has slower convergence, which is due to the effective scaling of the adaptation step b down N times. Also, such and similar simple frequency-domain echo cancellers introduce a processing delay. Hence, we have a tradeoff between the convergence time, delay and cost. It should be noted, however, that FFTs require additional memory, so, we also trade memory for MIPs.
Another problem with AECs is that if their implementation is a time-domain NLMS, then they will perform poorly in the presence of noise (BNLMS will suffer from noise too). This problem is especially important for the AECs that need to work in the cars, crowded rooms or otherwise noisy locations. When implementing the AECs with frequency-domain analysis and synthesis blocks (or sub-band processing), it can be possible not only to reduce the computational cost, but also reduce the processing delay, have better noise immunity and even suppress the noise by frequency-domain noise suppressors directly integrated in such AECs. Doing so will greatly improve the quality of speech in the end. Also, with frequency-domain processing, it's possible to have better immunity to the nonlinearities in the echo paths because the AEC will adapt to the strong fundamental frequencies, while their weak harmonics can be suppressed as part of noise. This all is impossible to achieve with time-domain AECs.
Finally, it is important how the echo canceller behaves in the double-talk situations, when both talkers talk simultaneously. Obviously, the parties prefer to hear each other throughout the entire conversation and hear little or no echo during double-talks. Therefore, the echo canceller's double-talk performance should also be addressed when designing and testing echo cancellers or simply choosing which one to integrate to the phone.
Previous Page | Next Page
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15
Kane Computing Ltd
7 Theatre Court, London Road, Northwich, Cheshire, CW9 5HB, UK
Tel: +44(0)1606 351006 - Fax: +44(0)1606 351007/8
Email: email@example.com - Web: www.kanecomputing.com
If you found this page useful, bookmark and share it on: