For multi-channel full-duplex audio applications, there is more than one way to design the acoustic echo cancellation (AEC) software. In this case study, we are limiting the discussion to the multi-channel scenario where there are multiple uncorrelated loudspeaker signals that are acoustically coupled with a microphone signal. The preferred method from a signal processing perspective is to apply an adaptive filter to each loudspeaker signal. Each filter generates an estimate of the echo signal based on their independent signal. Each filter is updated from the error signal. Another approach is to sum the loudspeaker signals together prior to applying an adaptive linear filter. These two methods present a clear tradeoff between computational complexity (measured in MIPS) and echo return loss enhancement (ERLE).
The table below shows the performance difference between the two filter configurations for 2 and 4 channel loudspeaker configurations.
|2 Channel – Loudspeaker Sum Excitation||7.1||62.4|
|2 Channel – Independent Loudspeaker Excitation||28.4||120.9|
|4 Channel – Loudspeaker Sum Excitation||6.8||62.4|
|4 Channel – Independent Loudspeaker Excitation||27.9||153.6|
Clearly, the independent configuration is much more effective at removing the echo than the summation approach, but the computational complexity is more than double, and continues to grow as the number of channels increases. We would only recommend summing the signals prior to AEC if the platform has very limited CPU resources, and cannot support multiple adaptive filters. The residual echo suppressor for this configuration will have to be tuned to behave aggressively, as compared to its independent counterpart.
VOCAL’s optimized software is available for the following platforms. Please contact us for specific Kernel Based Adaptive Acoustic Echo Canceller supported platforms and associated performance data.