VOCAL’s Robust Acoustic Echo Cancellation (AEC) software is an efficient, portable, customizable full-duplex Acoustic Echo Canceller solution for removing echoes caused by acoustic coupling and reverberations between the microphone and loudspeaker in the voice.  Beyond adaptive filtering, double-talk detection, residual echo suppression, VOCAL’s AEC SDK can include features, such as noise reduction, anti-howling, automatic gain control and automatic delay estimation. VOCAL’s AEC with speech enhancement features provide high definition and high-fidelity audio quality for full-duplex audio communications.  VOCAL’s Robust Acoustic Echo Canceller software is platform independent C code, and is available for a wide variety of platforms, including ARM, Intel, ADI DSP, TI DSP.  This software can be applied to audio applications with sampling rates ranging from narrowband (8kHz), wideband (16kHz), and fullband (48/96kHz).

download brochure

Acoustic Echo Canceller Environment
Acoustic echo cancellers remove echoes caused by acoustic coupling and environmental acoustic effects

Acoustic Echo Cancellation (AEC) software can be applied to hands-free telephone systems, conferencing speakerphones, IP intercom systems, V2oIP videoconferencing systems, aeronautical headsets, and smart speakers. 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 library module can be used in nearly every acoustical environment to achieve to achieve highly intelligible and clear, echo-free communication.

Features

AEC Operational Characteristics

*Note: These numbers reflected the capability of our implementation under constant excitation in a time-invariant environment.

AEC Design Constraints

AEC Operational Performance

Target sample rates: 8kHz to 96kHz

Bit Depths Supported: 16-bit, 24-bit

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

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:

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.

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.

The figure below shows the basic layout of VOCAL’s Robust Acoustic Echo Canceller.  In our implementation, the Rin / Rout 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 Sin, and Sout is the echo cancelled, noise reduced result. The transmitted signal from the far-end user, Rin, is used in the following blocks: bulk echo delay estimation, subband adaptive filter, residual echo suppression (NLP), and double talk detection (DTD). The received signal from the microphone, Sin, containing the echo signal and near-end talk is used by the bulk echo delay estimation. The Sin signal is then subtracted by the estimated echo signal from the subband adaptive filter to produce the system identification error signal. This signal is used to update the echo canceller filter, double-talk detector, variable step size control and is processed by the residual echo suppressor and the noise reduction block. Finally, the result is processed through optional features, such as AGC and anti-howling.

acoustic echo canceller

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 AECs 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.

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. VOCAL’s AEC SDK incorporates an advanced NLP which adequately removes traces of residual echoes.

Many environments contain high levels of background noise that can be prohibitive to effective communications. VOCAL’s acoustic echo canceller software 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.

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 software 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.

More Information

Platforms

supported platforms

VOCAL’s optimized Echo Cancellation software is available for the following platforms. Please contact us for your specific Echo Cancellation application platform requirement.

ProcessorsOperating Systems
·        Texas Instruments – C6000 (TMS320C62x, TMS320C64x, TMS320C645x, TMS320C66x, TMS320C67x), DaVinci, OMAP, C5000 (TMS320C55x)

·        Analog Devices – Blackfin, TigerSHARC, SHARC

·        PowerPC

·        MIPS – MIPS32, MIPS64, MIPS4Kc

·        ARM – ARM7, ARM9, ARM9E, ARM10E, ARM11, StrongARM, ARMCortex-A8/A9/A15/A3x/A5x/A7x, Cortex-M3/M4/M7/M33

·        Intel / AMD – x86, x64 (both 32 and 64 bit modes)

·        Google Android

·        Apple iOS / iPhone / iPad & MacOS

·        Unix,  Linux, μClinux, BSD

·        Microsoft Windows ACM / RTC / CE / Mobile

·        Symbian

·        eCOS / eCOSPro

·        Wind River VxWorks

·        Green Hills Integrity

·        VOCAL LANsEND

·        Micrium μCOS