VOCAL’s Acoustic Echo Canceller is used in telecommunication applications to remove audible echoes caused primarily by:
- Acoustic coupling between the microphone and loudspeaker in the voice terminal – speaker phone, conferencing device or wireless handset
- Acoustic effects – acoustic wave reflections / acoustical reverberation effects – produced by the voice terminal’s environment
Acoustic Echo Cancellation (AEC) can be applied to hands-free telephone systems, speakerphones, intercom systems, videoconferencing systems, and baby monitors. In any audio system that exhibits sound feedback from the loudspeaker to the microphone, acoustic echo cancellation can be applied to remove the unwanted echo from the audio signal. Compared to line echo cancellation, acoustic echo cancellation is much more complex because the number of reflections is greater and the high variability in the echo path of the acoustic environment. A well-designed Acoustic Echo Canceller should be able to be easily integrated into a wide variety of acoustic environments with different levels and types of perceived echo paths and background noise. VOCAL’s AEC and noise control module can be used in nearly every acoustical environment to achieve to achieve clear, echo-free communication.
For systems with high levels of non-linearities, our solution also provides a non-linear processing option to remove any residual echo leftover from adaptive filtering. The amount of suppression of residual echo is dependent on the current state of the system.
Many environments contain high levels of background noise that can be prohibitive to effective communications. VOCAL’s acoustic echo canceller includes a noise reduction option to further improve the signal-to-noise ratio of audio signals and voice intelligibility, for both stationary and non-stationary noise. This is achieved by utilizing spectral subtraction via noise estimation and also the sound masking properties of the human ear to provide clear communication.
The Acoustic Echo Canceller is designed for removing/suppressing acoustic reflections, whereas line/network echo cancellers primarily address echo signals produced by reflections from hybrid circuits (or transformers) converting 4-wire interface into 2-wire interface in POTS/PSTN systems.
Characteristics of the reflected acoustic signals are as follows:
- Relatively long echo span (a.k.a. echo tail), often exceeding 160ms;
- Wider range of echo signal levels, often extending over high signal levels (thus corresponding to low ERL values, reaching negative values in some configurations);
- Frequent changes of echoes (illustrated by variations of echo path impulse responses), according to position of the voice terminal and/or speaker with respect to reflecting objects in the near-end room;
- Due to nonlinear behavior of the loudspeaker, the relationship between the acoustic pressure produced by the loudspeaker and the electrical signal driving it is not exactly linear; therefore, an adaptive filter that, in most designs, is a linear component, cannot adequately model the echo path. As a result, more stringent requirements are imposed onto the NLP so any audible traces of residual echoes are removed.
The above mentioned characteristics of echoes require acoustic echo cancellers be equipped with more advanced adaptive filters, double talk detectors and nonlinear processors than their line/network echo canceller counterparts.
For example, the adaptive filters used in Acoustic Echo Cancellers have to cover well the anticipated echo span; thus their lengths, in milliseconds, have to be at least as long as the echo span. VOCAL Acoustic Echo Canceller’s echo span coverage is configurable and can reach up to 256 milliseconds. In custom designs, the echo span coverage can be made longer than 256 milliseconds, if requested.
The VOCAL acoustic echo canceller is available for several different platforms, including ARM, Intel, ADI DSP, TI DSP, and platform independent C reference code. It uses a block NLMS algorithm, performed in the sub-band domain, providing a short convergence time. Echo cancellation is performed independently on each sub-band.
- Optimized for ANSI C and leading architectures
- Supports user callable functions
- ITU G.167 Recommendation compliant
- Rapid convergence
- Fast re-convergence for echo path changes
- Advanced double talk detection
- Low divergence during double talk
- Long configurable echo tail length (up to 512ms)
- Automatic echo delay estimation
- Non-linear Processing (NLP)
- Built-in Noise Reduction
- Anti-howling control
- Comfort Noise Generation (CNG) with noise matching feature
- Portable, re-entrant and re-locatable code
AEC Operational Characteristics
- Fast Convergence*: ERLE = 30dB in 1s
- Low Steady-State Mis-adjustment*: ERLE > 50 dB
- Double Talk Detector, cancellation during doubletalk
- Nonlinear Processing: Residual Echo < -60dB
- Noise Reduction: SNR Improvement > 15dB
*Note: These numbers reflected the capability of our implementation under constant excitation in a time-invariant environment.
AEC Design Constraints
- The standard VOCAL echo canceller operates on 16-bit signed input values, and returns 16-bit signed values. In addition, a 32-bit implementation is available.
- A variable internal excitation delay is available to provide full echo canceller tail length in the presence of known system latencies.
- Performance of echo cancellation is highly dependent on the device under test and its acoustic environment. The amount and speed of convergence is dependent on the level of linearity of the echo path and the level of the background noise.
- Large numbers of echo canceller control values are available to modify the behavior of the canceller should needs dictate, however doing so is not recommended.
AEC Operational Performance
Target sample rates: 8kHz to 48kHz
Echo tail length: VOCAL’s Acoustic Echo Canceller echo span coverage is configurable up to 512 milliseconds. In custom designs, the echo span coverage can exceed 512 milliseconds, if requested.
AEC Functional Description
In our implementation, the tx path is considered to be the signal that is transmitted by the loudspeaker; this is the excitation signal. The signal received by the microphone is considered the rx path, and also the local signal. Figure 1 shows the basic layout of VOCAL’s acoustic echo canceller and noise control module. The transmitted signal from the far-end user, tx_in[n], is used in the following blocks: echo canceller, residual echo suppression (NLP), transmit voice activity detection (Tx VAD), and double talk detection (DTD). The received signal from the microphone, rx_in[n], containing the echo signal and near-end talk is used in the blocks: receive voice activity detection (Rx VAD) and DTD. The rx_in[n] signal is then subtracted by the estimated echo signal, d[n], to produce the system identification error signal, e[n]. e[n] is used to update the echo canceller filter, and is processed by the residual echo suppressor and the noise reduction block. The control logic block uses decisions from the Tx VAD, Rx VAD, and DTD to determine the current state of the AEC system. This controls the operation of the echo canceller update and the NLP/NPP calculations.
Acoustic Echo Cancellers are expected to address (cancel/suppress) echoes of large energy, comparable or exceeding the equivalent energy of the incoming signals. Such conditions pose challenging requirements for double-talk detectors. An advanced VOCAL Acoustic Echo Canceller’s double-talk detector performs well in conditions where ERL > -6dB.
Adaptive filters of Acoustic Echo Cancellers have to react rapidly to echo path changes. VOCAL Acoustic Echo Canceller incorporates a subband adaptive filter whose adaptation speed is superior when compared with competitive solutions, while its adaptation depth is more than adequate.
VOCAL’s Acoustic Echo Canceller incorporates an advanced NLP which adequately removes traces of residual echoes.
Since signal gains are controllable by the end user (by adjusting volume knobs for the loudspeaker or for the microphone, and that affects the total system loop gain), Acoustic Echo Cancellers, being a part of the closed-loop system, can be potentially exposed to system instability, which, if not controllable, may manifest as a howling effect. VOCAL’s Acoustic Echo Canceller is equipped with an anti-howling feature that minimizes the howling effect.
Standards Compliance: A Brief Note
In general, acoustic echo canceller performance requirements are driven by “industry standards” and customer requirements.
In the area of telephony applications, there is ITU-T G.167 standard (a.k.a. Recommendations) that outlines specific performance requirements. However, the standard has become defunct. Thus, formally, it is no longer considered as being normative and governing the AEC product performance. Yet, it is still being frequently quoted and referenced.
Other applicable standards include ITU-T G.160, ITU-T P.340, 3GPP, IEEE and other related documents. It is worth mentioning that a G.167-compliant AEC does not necessarily meet ITU-T G.168 standard, despite the fact that requirements related to adaptation speed and echo path coverage for AEC are more demanding for AEC than for LEC/NEC.
- Texas Instruments – C6000 (TMS320C62x, TMS320C64x, TMS320C645x, TMS320C66x, TMS320C67x, DaVinci), OMAP, C5000 (TMS320C54x, TMS320C55x)
- Analog Devices – Blackfin, TigerSHARC, SHARC
- MIPS – MIPS32, MIPS64, MIPS4Kc
- ARM Architectures
- Intel / AMD – x86, x64 (both 32- and 64-bit modes)
Supported Operating Systems
- Google Android
- Apple iOS / iPhone / iPad & MacOS
- Unix, Linux, µClinux, BSD
- Microsoft Windows ACM / RTC / CE / Mobile
- eCOS / eCOSPro
- Wind River VxWorks
- Green Hills Integrity
- VOCAL LANsEND
- Micrium µCOS