arm

The high definition acoustic echo canceller supports 8 kHz, 16 kHz, 32 kHz, 44.1, and 48 kHz sampling rates.

RELATED PRODUCTS:

 

HD Acoustic Echo Cancellation - Full Band, Multi-Mic

HD AEC is capable of eliminating the acoustic echo in difficult conditions such as unbalanced speech levels, close speaker to mic proximity, background noise, indoor/outdoor environments, reflective room surface, double talk, and echo path changes.

Designed for Next Gen products: HD AEC is a high definition, Multi-Mic Capable, Fullband, Full-Duplex Acoustic Echo Canceller which includes a noise reduction feature, as well as the typical anti-howling, nonlinear processing, and double-talk detection.

FEATURES

  • Superior Double-Talk Performance
  • Supports 8 kHz, 16 kHz, 32 kHz, 44.1 kHz, and 48 kHz sampling rates
  • Able to achieve greater than 40 dB of ERLE without nonlinear processor
  • Supports true cancellation at tail lengths up to 500 msec
  • Can be customized for tail lengths greater than 500 msec
  • Full-duplex performance
  • Fast convergence and reconvergence
  • No divergence due to doubletalk
  • Integrated noise-reduction
  • Integrated automatic gain control
  • Parameters are user configurable
  • No divergence due to double-talk
  • Integrated microphone equalization
  • Functions are C-callable
  • Multiple channel operation

AVAILABILITY

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

Platform
ARMv7 Cortex-A8 / A9 / A12 / A15 / A17
ARMv7 Cortex-M3 / M4 / M7
ARMv8 Cortex-A53 / A57

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.

aec block diagram


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)

  • Sampling Rate
  • Tail Length
  • Frame Size
  • NLP Control
  • Max Noise Level
  • AGC Control
  • Equalizer Control
  • Noise Reduction Control

SPECIFICATION

ARM® DEVICES

Cortex-A

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of byte.

Platform Sampling Rate Tail Length (msec) MIPS*per Mic Per Channel Memory
ARM Cortex-A 8 kHz 32 25 24K
64 27.5 33K
128 29.75 54K
256 36.5 109K
320 51.25 143K
400 66 191K
ARM Cortex-A 16 kHz 32 55 44K
64 59 61K
128 60.5 96K
256 76.5 180K
320 112 228K
400 137.5 293K
ARM Cortex-A 32 kHz 32 66 61K
64 70.8 96K
128 72.6 180K
256 91.8 396K
320 134.4 529K
400 165 718K
ARM Cortex-A 48 kHz 32 75 78K
64 82.6 136K
128 84.7 280K
256 107.1 678K
320 156.8 932K
400 192.5 1302K
* with Anti-howling

Note: MIPS generated with single mic enabled, and running with on chip (internal) program and data memory only.

 

ARM® DEVICES

Cortex-M4

CPU UTILIZATION & MEMORY REQUIREMENTS
All Memory usage is given in units of byte.

Platform Sampling Rate Tail Length (msec) MIPS*per Mic Per Channel Memory
ARM Cortex-M4 8 kHz 32 56 47k
64 57 50k
128 61 57k
256 68 65k
512 82 96k
ARM Cortex-M4 16 kHz 32 114 50k
64 121 57k
128 135 65k
256 162 96k
512 233 147k
ARM Cortex-M4 32 kHz 32 131 55k
64 139 62k
128 142 70k
64 180 101k
64 250 152k
Note: HD AEC Cortex-M4 MIPS generated with 0 wait state FLASH.
Specifications measure on TI Tiva C series ARM Cortex-M4 based MCU.

FUNCTION

HDAEC_ AECG4_
AEC_ADT_create(…)Create and initializes an echo canceller channel
AEC_ADT_applyl(…)Executes cancellation function
AEC_ADT_backgroundHandler(…)Handles background calculations
AEC_ADT_delete(…)Deletes an echo canceller channel

For complete information, please contact sales. Tel: 1-610-825-0182 x120

email
or email us.