Acoustic echo cancellation (AEC) is a critical component of audio teleconferencing. In conferencing systems, the acoustic coupling between the loudspeaker and microphone is disruptive to the flow of conversation and inhibits the ability of achieving full-duplex communication. AEC is considered an adaptive system identification problem. In other words, the microphone signal is considered the desired output of an unknown system excited by a reference signal, in this case is the loudspeaker signal. The goal of AEC is to create a filter that matches unknown signal to be removed from the microphone signal. The most common objective function of AEC system is to minimize the mean square error of the desired signal subtracted by the loudspeaker signal convolved with the adaptive filter.
The two main difficulties of acoustic echo cancellation in a full-duplex teleconference is that the unknown system is considered time-varying and adaptation during doubletalk situations needs to be avoided. A doubletalk situation is when both far-end and near-end speakers are talking in concert. Handling of these two conflicting situations is a challenging problem. As the echo path is constantly changing the system has to constantly adapt the cancellation filter. When a doubletalk situation occurs, the near-end speaker corrupts the adaptation process and therefore, adaptation has to be frozen. In a single path echo canceller, a doubletalk detector is implemented to stop adaptation.
The two most popular methods of doubletalk detection are the Giegel and cross-correlation based detectors. In an AEC as compared to a line echo canceller, doubletalk detection contains more errors. The reason for this is that the Giegel detector relies on the fact that echo return loss remains within a narrow range of values. While this is true for line echo cancellation, it cannot be maintained in acoustic systems where the echo return loss can range over 30dB between implementations. The problem with correlation based systems is that they often rely on the system having achieved some convergence. As mentioned previously, in acoustic environments the echo path is constantly changing and the convergence of the system cannot be guaranteed. Implementation of a two-path echo canceller is a simple, but effective way to mitigate these challenges.
In a two-path echo canceller system two sets of filters are used. The foreground filter is the filter used for the output of the AEC system, while the background filter is generally continuously adapting its coefficients. Based on several tests, when the background filter is perceived to have achieve better cancellation than the foreground filter, the coefficients of the background filter are downloaded to the foreground filter. Since the background filter is allowed to adapt freely, it is able to better model the echo paths changes. Meanwhile during doubletalk situations in which the background filter to diverges, the output of the system is unaffected as the coefficients of the foreground have not been updated. The use of the two-path method provides a security blanket of an AEC system and does not rely heavily on the tuning of thresholds as compared to doubletalk detectors in single-path systems.