Acoustic Echo Cancellation Vs. Acoustic Echo Suppression
- On September 2, 2018
- echo cancellation, echo suppression
Echo is a known problem in telephony and when it appears it dramatically reduces the quality of the audio. In some cases the echo can even turn out to howling effect that generates a deafening noise. To familiarize yourself with the basic terms that relates to echo cancellation, you are invited to read our blog-series on echo cancellation. In this post we discuss the two basic mechanisms to handle echo: Acoustic Echo Cancellation (AEC) & Acoustic Echo Suppression (AES), the main differences between them and how to select the best approach to your project.
How each of these mechanisms works?
Acoustic Echo Cancellation calculates the echo from the speaker (far-end) signal taking into account multiple factors like echo-path, volume levels and distortion. Afterwards, it subtracts the calculated echo from the microphone (near-end) signal. On the other hand, Acoustic Echo Suppression checks the speaker (far-end) signal and microphone (near-end) signal and when it detects echo, it mutes the microphone signal.
Both AEC and AES needs to detect the echo that the far-end generates. However, while the AES only needs to detect the echo location, the AEC also needs to calculate the actual echo using the original speaker signal so it can be subtracted from the signal that is captured by the microphone.
But, why does it matter…?
Well, each voice system has different characteristics and might therefore require a different behavior in handling the echo.
For example, in many PA systems, the microphone records the near-end speech, and shortly afterwards the returned echo. As a result the two signals are too close to be easily separated. Therefore, in PA systems the suppression mechanism is usually not a good option. On the other hand, there are systems in which the behavior of the echo is volatile and prevents a robust calculation of the echo. In such cases usually suppression will provide better results.
Now, Let us briefly review the major pros and cons of each mechanism.
Echo cancellation requires significant processing time in order to calculate the exact echo image. On the other hand, echo suppression requires moderate processing time.
Robustness and flexibility to echo behavior
Echo cancellation needs to calculate the exact echo from the speaker signal, hence any sudden change in echo behavior might lead to a short burst of echo until the echo calculations will be updated to reflect the new behavior of the echo. On the other hand, echo suppression is dependent on echo detection and is not very sensitive to minor changes in the behavior of the echo.
A double talk is the case where both parties talk simultaneously. Echo cancellation subtracts echo from the near-end signal therefore it works in the presence of double-talk. On the other hand, echo suppression mutes the near-end signal upon detection of echo and as a result, in case of double-talk it might mute also the near-end or alternatively extract echo. In general, in systems where extensive double-talk should be supported, the echo suppression is not a good option.
As a rule of thumb, AEC is better for systems that are stable or for systems that have significant double talk like PA systems. AES is better for systems with low resources and limited double-talk,or for systems with unstable echo behavior. As you can see, there are pros and cons for each method and there is no “good” or “bad”. For each project the right solution needs to be selected. From our experience, in many cases a hybrid approach might be used. Such a hybrid approach can be a combination of AEC & AES with specific tuning parameters to match the requirements of each project.