Adaptive Digital has been developing echo canceller technology for over ten years.
This acoustic echo canceller for ARM devices is the fourth generation (AEC G4) acoustic echo canceller offered by Adaptive Digital.

Wideband Acoustic Echo Canceller: AEC G4

This Wideband Acoustic Echo Canceller G4 algorithm is too complex for Cortex-M3.

FEATURES

  1. Superior Double-Talk Performance
  2. Supports 8 kHz and 16 kHz sampling rates
  3. Able to achieve greater than 40 dB of ERLE without nonlinear processor
  4. Supports tail length up to 256 milliseconds
  5. Integrated noise-reduction
  6. Integrated automatic gain control
  7. Parameters are user configurable
  8. Non-linear processor
  9. Excellent voice quality
  10. Fast Convergence and reconvergence
  11. No divergence due to double-talk
  12. Integrated microphone equalization

GENERATION 4

  1. Functions are C-callable
  2. Multiple channel operation
  3. Parameters are user configurable
  4. Non-linear processor
  5. Excellent voice quality
  6. Fast Convergence
  7. No divergence due to double-talk
  8. Automatic Gain Control
  9. Noise reduction
  10. Equalization
  11. xDAIS compliant

WIDEBAND FEATURES

  1. Full duplex performance under a wide dynamic range of audio levels.
  2. Supports wideband audio (16 kHz, 32 kHz, 44.1, and 48 kHz sampling rates) with no artificial cutoff of high frequencies.
  3. Supports tail lengths up to 250 msec. with true full-duplex cancellation. (Not half-duplex suppression.)
  4. Converges within one second regardless of tail length and sampling rate.
Data sheet: .pdf

AVAILABILITY

ADT AEC G4 is available off the shelf on the following Platforms: Other configurations are available upon request.

Product Number Platform
ADT_aec_G4_armA8 ARM Cortex-A8
ADT_aec_G4_armA9 ARM Cortex-A9
ADT_aec_G4_armA15 ARM Cortex-A15

DESCRIPTION

The Adaptive Digital Technologies acoustic echo canceller (AEC) electronically removes both direct coupling and reflected echo, enabling true full-duplex hands-free telephony in mobile phones, speakerphones, and hands-free intercoms.
The fourth-generation canceller includes a noise reduction feature, as well as the typical anti-howling, nonlinear processing, and double-talk detection found in the first generation AEC. The acoustic noise reduction feature is particularly useful during speakerphone calls where there is background noise present such as an exhaust fan, and in noisy outdoor environments. By using Adaptive Digital’s acoustic echo canceller to eliminate this unwanted echo and reverberating interference, echo-free conversation can be achieved.

FUNCTIONAL DESCRIPTION

The following figure is a simplified block diagram of the Acoustic Echo Canceller. A description follows. In the description, you will find parameter names blue, underlined, and in inside parenthesis ( parameter ). This indicates that a user-controlled parameter is involved in the process being described.

The top half of the diagram shows the receive signal path, or the signal path from the telephone network to the speaker.


The bottom half of the diagram shows the transmit signal path from the microphone toward the telephone network. The AEC cancels the echo that occurs between the speaker output and the microphone input.

The terms Rx (Receive) and Tx (Transmit) may be confusing at first because both the receive and transmit paths have inputs and outputs. The names receive and transmit are used from the point-of-view of the person at the speaker/microphone side.

The terms Rx (Receive) and Tx (Transmit) may be confusing at first because both the receive and transmit paths have inputs and outputs. The names receive and transmit are used from the point-of-view of the person at the speaker/microphone side.

The RxIn signal coming from the network is fed into the RxNLP (Receive Nonlinear Processor). The RxNLP can attenuate (MaxRxAttendB ) the received signal by a variable amount based upon the talk state (single talk vs. double-talk). This attenuation improves the overall echo attenuation.

The output of the RxNLP is fed into a noise generator, which adds noise ( maxRxNoisedBm ) to the receive signal. This noise helps the AEC converge and remain converged even when nobody is speaking. The output of the noise generator is fed both to the transmit output (TxOut) and into the bulk delay block, whose delay is controlled by bulkDelaySamples. The bulk delay block compensates for the buffering delay at the RxOut and TxIn interfaces as well as any other non-acoustic system delays in the path between RxOut and TxIn. The output of the bulk delay is fed to the the adaptive filter.

The adaptive filter estimates the echo and subtracts it from the TxIn signal to form the residual signal. The residual signal is fed to the noise reduction block. This noise reduction block removes background noise and therefore improves the signal to noise ratio of the transmit signal. Noise Reduction parameters include ( nrSTIntervalMSec , nrLTIntervalMSec , nrMaxLossdB , nrHighSNRMarkdB , nrLowSNRMarkdB .)

The output of the noise reduction block is fed into an equalizer. The equalizer is used to flatten out the frequency response of the transmit channel. This may be necessary due to the acoustics of the hands-free device and due to the characteristics of the microphone itself. The equalizer gain vs. frequency band table is provided by the user parameter ( pTxEqualizerdB10 ).

The output of the transmit equalizer is fed into the TxNLP. The TxNLP is the transmit non-linear processor. The TxNLP increases the echo attenuation by attenuating the residual by a variable amount based upon the talk state. The TxNLP is controlled by ( maxTxLossB and targetResidualLeveldBm, worstExpectedERLdB, and maxTxNLPThresholddB ). The TxNLP block also includes a comfort noise generator that is turned on or off using ( cngEnable) .

The compute gain block computes the AGC gain. The output of the TxNLP is fed into the AGC gain block, which provides gain or loss depending upon the residual signal level. The AGC is controlled by ( agcEnable ,  agcMaxGaindB , agcMaxLossdB , agcTargetLeveldBm , and agcLowSigThreshdBm .)

The output of the AGC is fed to the transmit output (TxOut) of the AEC.

USER CONTROLLED PARAMETERS (SUMMARY)

  1. Sampling Rate
  2. Tail Length
  3. Frame Size
  4. NLP Control
  5. Max Noise Level
  6. AGC Control
  7. Equalizer Control
  8. Noise Reduction Control

SPECIFICATION

ARM® DEVICES

Cortex-A8 / A9 / A15

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of byte.
Sampling Rate
(Hz)
Tail Length
(msec)
MIPS Program Memory Data Scratch Per-Channel Stack
8000 32 31.5 113K 6.7K 0 26K 20K
8000 64 38 113K 6.7K 0 41K 20K
16000 32 71.5 113K 6.7K 0 41K 20K
16000 64 94 113K 6.7K 0 77K 20K
Specifications are approximate. Exact per-channel numbers can be obtained by using API functions AECG4_alloc or AECG4_staticAllocHelper.

FUNCTION

AECG4_ADT_create(…)                      Create and initializes an echo canceller channel
AECG4_ADT_applyl(…)                      Executes cancellation function
AECG4_ADT_backgroundHandler(…)           Handles background calculations
AECG4_ADT_delete(…)                      Deletes an echo canceller channel

For complete information, please contact sales. Tel: 1-800-340-2066 x120


or email us.


search our site

arm

Go to specification tables

AEC Generation 4

 

The fourth-generation acoustic echo canceller supports wide band audio (16 kHz, 32 kHz, 44.1, and 48 kHz sampling rates).

Contact us
  for more information