Skip to content

Acoustic Echo Canceller in Radius NX with 6x6 AEC added

This page is in reference to using acoustic echo cancellation with a Radius NX and Server D100. For acoustic echo cancellation with either a Radius AEC or a 4 Channel AEC Input Card installed in an Edge, Radius AEC, or Radius 12x8 EX DSP, go here.

Introduction

Acoustic echo cancellation, or AEC, is a digital audio signal processing technique used in audio and video teleconferencing when conversation takes place between people in a local conference room and one or more callers located at a distance from the local room. The AEC process serves to enhance intelligibility for the distant callers by removing echoes acoustically generated in the local room.

Consider the scenario of a remote loudspeaker on a standard telephone handset, conferencing into a large room with one or more loudspeakers and microphones (see diagram below). As the remote or "far end" party speaks, the audio comes out the loudspeakers, and is then picked up by the microphones, which sends that audio back to the far end. The result is the far end caller hears an echo of his or her own speech. This can make communication difficult, especially with longer round-trip delays. An acoustic echo canceller (AEC) is used to provide intelligible, echo-free audio for the far end caller by reducing or eliminating the echo of their own voice.

Acoustic echo canceller (AEC) with noise reduction block diagram:

The Symetrix AEC algorithm removes far end audio picked up by local microphones. It also reduces noise picked up by the microphones in the local room. This echo-free signal is then sent back to the far end.

Composer includes a multi-channel, adaptive filter-based acoustic echo cancellation (AEC) algorithm that uses less processing power than previous methods. On the Radius NX, AEC is enabled by adding the AEC Coprocessor Card, which also provides non-linear processing (NLP), automatic gain control (AGC), and noise reduction. The D100 offers the same AEC features, but through software, no additional hardware required.

Module Specifications and Features

The Radius NX AEC is based on technology licensed from DSP Algorithms (www.dspalgorithms.com). The the Server D100 AEC is based on technology licensed from Adaptive Digital (www.adaptivedigital.com) Some of the features include:

  • Superior and consistent single-talk echo reduction of 60dB in any acoustic environment.

  • Proprietary robust and effective double talk detector.

  • Echo reduction of 20dB or more during double-talk periods.

  • Instant full convergence to 60dB echo reduction in 100 milliseconds, or less. Rate of adaptation is fast enough to allow excellent performance even with moving microphones and dynamic gain changes.

  • The Radius NX supports multiple microphones (up to 4 inputs per card/module, 16 per unit, fully loaded)

  • Supports routing any audio through the AEC algorithm

  • The Radius NX supports up to 6 reference inputs with a max of 6 AEC inputs while the Server D100 supports up to 8 reference inputs with a max of 8 AEC inputs.

  • Low algorithm processing latency, 11ms for Radius NX and 64 ms for Server D100

  • The Radius NX supports a noise cancellation algorithm providing up to 20 dB background noise reduction. Noise reduction level is user adjustable.

  • The Server D100 supports a noise cancellation algorithm providing an integer value of 1 (least) to 30 (most aggressive) instead of a floating-point dB value.

  • The algorithm is effective against moderate nonlinearities in the acoustic response model and Reference signals.

  • Consistent performance in all acoustic environments, from a small room with a reverberation time of less than 100ms to a large conference hall with reverberation time of 1.5 seconds or more.

  • Suitable for any application that requires echo and/or noise cancellation, including speakerphones, audio and video conferencing, desktop conferencing, voice over IP, Internet phones, and many others.

  • Fully configurable. System designers have complete control over system switches and algorithm parameters, including the ability to enable/disable and set the target level of individual channels in any functional block.

  • Fully compliant with the G.167 standard.

Input Considerations

The AEC algorithm removes echo and noise from each input individually, based upon the signal that is routed into the corresponding 'Ref' node. The current maximum size of the module is 8 AEC inputs and outputs with one reference. The current maximum size the module can be with a unique reference for each channel, is 6 inputs and outputs with 6 references for the Radius NX and 8 inputs and outputs with 8 references for the Server D100. There is a hardware limit of one module per AEC coprocessor core installed in the Radius NX.

Each module offers inputs, Reference inputs, and outputs for sending to the far end, configured during placement in the site file. The reference inputs provide a reference signal to the AEC inputs which will then remove this signal before sending to the corresponding output. This signal would typically be the voice from the far end.

For the Radius NX, any signal may be connected to the AEC module's inputs. It could be from a local microphone, a Dante connected microphone, or a signal from an entirely different room. In this way, the module acts as an AEC coprocessor and does not have to be associated with any particular DSP unit or physical space.

Since the Server D100 does not include analog audio inputs, it functions entirely within the digital domain.

Module Configuration

The Radius NX AEC module allows configuring the number of inputs and references. Based on that, a maximum tail length is displayed. By reducing the number of microphones and/or references, a longer tail can be obtained.

Most designs can use a single reference for all inputs. This is because in a typical conference room, all microphones are "hearing" the same reference signal. If this is not the case, additional references can be added to accommodate the situation.

Input # Ref # Radius NX Tail Length Server D100 Tail Length
4 1 400 mS 250 mS
4 4 300 mS 250 mS
6 1 352 mS 250 mS
6 6 180 mS 250 mS
8 1 250 mS 250 mS
8 8 Invalid 250 mS

Signal Flow

Any adjustments, dynamics processing, EQ filtering, or speaker delay that are applied to the audio routed to the local loudspeakers, must also be made to the same audio routed to the Ref input(s) on the AEC module. For example, the reference should be routed post any gain control or AGC module used on the far end audio prior to the local reinforcement, so that the Ref input(s) source is identical to the audio being routed to the analog outputs/local sound reinforcement. The AEC algorithm always needs to "be aware of" any changes made to the audio being amplified in the conference room in order for the AEC algorithm to effectively remove this audio from the analog input. The diagram below illustrates the correct and incorrect ways of routing the reference to the Ref input(s).

The same principle applies to adjusting the amplifier gain, active loudspeaker's gain, or using in-wall speaker attenuators: don't do it. If the end user requires manual adjustment of the room level, use a gain control module upstream from the AEC Reference input. The very fast rate of adaptation and convergence of the Symetrix AEC algorithm often allows it to gracefully deal with doing things "incorrectly".

Inputs and Outputs

· In#n -These inputs are used for routing any audio through the AEC algorithm to remove acoustical echo. The signal placed into these inputs can be a statically mixed bus of multiple microphones, a single mic routed into the DSP over Dante, or a source in which noise cancellation is desired.

· Out#n- These outputs are post-AEC. For the greatest degree of echo cancellation with the least amount of convergence, it is recommended that each microphone should use its own dedicated channel of AEC processing.

· Ref#n- This is the connection for the reference signal, the audio that needs to be removed from the microphone input and prevented from being passed along to the far end. Whatever audio is connected to this input is the audio the AEC algorithm will cancel out. This may be audio from a telephone hybrid, or other tie-line to the remote location and is often the same signal that is sent to the loudspeakers. If the intention is to use the Radius NX’s analog input for noise reduction only, leave this input unconnected.

Note: The AEC module outputs are configured to freeze the coefficients automatically when there is no signal.

Connection Diagrams

The diagrams below show the typical connections associated with the use of AEC in Composer enabled product. Five different scenarios are shown in order of increasing complexity. In all cases, the far end is assumed to be connected through the Symetrix 2 Line VoIP Interface Card. The same designs would apply if another mechanism was used for the audio connection (ISDN, Dante, analog tie-line, 3rd party telephone hybrid, etc.).

Diagram #1: AEC system without local reinforcement of the microphones

This diagram shows the simplest AEC signal path where there is no need to amplify the local microphones. The microphones are automixed and sent to the far end only.

This design would be appropriate for small conference rooms with very few participants and functions similar to a deluxe speaker phone.

Note: The Ref input and analog output feeding the local reinforcement both receive the exact same signal routed post any room gain adjustments and loudspeaker processing.

Diagram #2: AEC system with local reinforcement of media inputs excluding the microphones

This diagram shows an AEC signal path where local media sources need amplification; however, there is no need to amplify the local microphones. The microphones are automixed and sent to the far end only.

This design would be appropriate for small conference rooms with very few participants that is also used as a presentation room.

Note:

· The Ref input and analog output feeding the local reinforcement both receive the exact same signal routed post any room gain adjustments and loudspeaker processing.** **

· Media sources are routed directly to the far end; however, since they are also amplified in the local conference room the media inputs are also included in the Reference signal to avoid “doubling” the media audio content when it is picked up by the local microphones and mixed with the audio transmitted to the far end caller. If the media audio is “doubled” the far end may hear comb filtering.

Diagram #3: AEC system with local reinforcement of the microphones

This diagram shows an AEC signal path where the local microphones are amplified by the local sound reinforcement and also sent to the far end caller.

This design would be appropriate for medium sized conference rooms where amplifying the local microphones is necessary for everyone in the conference room to hear the other attendees speak.

Note:

· The Ref input and analog output feeding the local reinforcement do not receive the exact same audio, although the audio to both are routed together through any room gain adjustments and loudspeaker processing.

· The local reinforcement (near end) receives the (direct) microphones and the incoming phone signal (far end). The Ref input only receive the incoming phone signal (far end).

Diagram #4: AEC system with local reinforcement of the microphones in a mix-minus configuration

This diagram shows an AEC signal path where the local microphones are amplified by the local sound reinforcement in a mix-minus configuration and also sent to the far end caller.

This design would be appropriate for medium to large sized conference rooms where amplifying the local microphones is necessary for everyone in the conference room to hear the attendees speak; however, in order to maximize gain before feedback or if loudspeaker placement relative to the microphone placement is not ideal, a mix-minus configuration of the microphones may be necessary.

Note:

· The AEC outputs are automixed and routed to the far end only.

· The Analog Ins module outputs are automixed and routed to the local reinforcement.

· The direct outputs of the local microphone automixer are connected directly to a Matrix Mixer for mix-minus routing.

· The Matrix Mixer outputs and Reference signal are routed through the same Room Gain module so that a room level adjustment affects all zones and the Refs inputs equally.

· The local reinforcement receives the local microphones and the far end caller audio; however, the AEC Refs inputs receive only the far end caller. This is important so that the AEC algorithm does not cancel out the near end caller from the audio sent to the far end.

· Gain adjustments and loudspeaker processing is applied to the locally reinforced audio and the reference equally.

Diagram #5: AEC with local reinforcement of the microphones in a mix-minus system, media inputs, and 3rd party Dante enable wireless mics needing AEC.

This diagram shows an AEC signal path where the local microphones are amplified by the local sound reinforcement in a mix-minus configuration and also sent to the far end caller. Additionally, there are two Dante enabled wireless microphones that are routed through the AEC algorithm using the AEC module.

This design would be appropriate for medium to large sized conference rooms where amplifying the local microphones is necessary for everyone in the conference room to hear the attendees speak; however, in order to maximize gain before feedback or if loudspeaker placement relative to the microphone placement is not ideal, a mix-minus configuration of the microphones may be necessary.

Note:

· The AEC module outputs are automixed and routed to the far end only.

· The Analog Ins module outputs are automixed and routed to the local reinforcement.

· The direct outputs of the local microphone automixer are connect directly to a Matrix Mixer for mix-minus routing.

· Two Dante enabled wireless microphones are routed into the DSP via Dante. They directly connect to the local automixer for local reinforcement and are also routed through the AEC' module input 3 and 4 before being sent to the far end caller echo-free.

· The Matrix Mixer outputs, and Reference signal are routed through the same Room Gain module so that a room level adjustment affects all zones and the AEC Ref inputs equally.

· The local reinforcement receives the local mics, media audio, and the far end caller audio; however, the AEC Ref inputs receive only the media audio and the far end caller. This is important so that the AEC algorithm does not cancel out the near end caller from the audio sent to the far end.

· Media sources are routed directly to the far end; however, since they are also amplified in the local conference room the media inputs are also included in the Reference signal to avoid “doubling” the media audio content when it is picked up by the local microphones and mixed with the audio transmitted to the far end caller. If the media audio is “doubled” the far end may hear comb filtering.

· Gain adjustments and loudspeaker processing is applied to the locally reinforced audio and the reference equally.

Using the Module for Noise Reduction Only

It is possible to use the AEC modules for noise reduction only. Simply leave the Ref input unconnected, turn off the Echo Cancellation Enable button, and turn on the Noise Cancellation Enable button.

Controls

· Enable- Engaging this button enables/disables the acoustic echo cancellation algorithm. In most applications this button will be engaged unless the AEC module is being used for noise cancellation, or when performing an 'A/B' test of AEC On versus Off.

· CNG- Comfort Noise Generator; this button enables/disables the comfort noise generator. The CNG adds in some noise during silences to let the far end know the call is still connected.

· Reset- Resets the AEC algorithm, forcing it to re-converge completely from zeroed out values. Additionally, this button resets the AEC meters such as ERL, ERLE, and TER. Toggling 'AEC Enable' freezes the algorithm at the current values or starts the algorithm with the most recent readings. Only "Reset" will fully purge all readings from the AEC algorithm. The reset key on any given channel will reset the convergence on every channel on the card.

· Reference- This dropdown allows the choice of which reference input on the module will be used by the input.

· ERL- Echo Return Loss; The difference in signal level between the audio which is present at the Reference input and the audio measured in the room by the microphones. A negative value indicates a positive loss and demonstrates good AEC system performance. Target is 0 to -18dB.

· ERLE- Echo Return Loss Enhancement; The amount the AEC algorithm was able to reduce the echo.

· TER- Total Echo Reduction; The sum of ERL and ERLE. Echo reduction introduced by the room acoustics (ERL), and the AEC algorithm (ERLE).

· Non-linear Processing- A fancy ducker that works to remove any residual echo that the AEC algorithm missed. Excessive NLP can adversely affect double-talk operation. There are 3 settings: Off, Low and High.

· Noise Cancellation- The level of attenuation implemented on constant room noise. The Radius NX uses a floating point dB value (0dB-20dB) while the Server D100 uses a integer value (1-30).

· AGC Level- Automatic Gain Control: Takes signals of indeterminate levels up to a target RMS output level while maintaining program dynamics.

Notes on DSP Usage

All channels of AEC in Radius NX execute wideband acoustic echo cancellation (20Hz to 20KHz) implemented by a chip present on the AEC Coprocessor Card. This means that using AEC does not deplete DSP resources managed by the Symetrix site file (other than a very small amount to route signals to/from the card).

Double-Talk Considerations

Double-talk is the condition when both the far and near end are talking at the same time. This is the most difficult scenario for an echo canceller to deal with. When this condition occurs, the AEC algorithm may not achieve as much echo reduction and even miss small portions of the acoustic echo. NLP automatically will reduce the far end double-talk when it occurs. The NLP suppression is adjustable from Off, Low, and High so that the NLP suppression can be set to an acceptable level determined by the nature and severity of the double-talk artifacts. Excessive NLP can adversely affect the near and far end signals making them sound flat, lifeless, and even slightly distorted.

Glossary of Terms

AEC - Acoustic Echo Cancellation. The term "acoustic" refers to the fact that the echo to be cancelled is created by acoustic reflections in a physical space. It is used to distinguish this from the echo cancellers used in phone systems, which are similar in principle but only cancel electronically generated echoes.

Single-talk - The case where only one party is speaking. This represents the majority of most conversations and is the easiest case for an echo canceller to handle.

Double-talk - The case where both parties are speaking at the same time. This is the most difficult case for an echo canceller to manage.

Reference signal (Ref) - This is the signal that the echo canceller is trying to remove from its inputs. Typically, this is the same signal that is being sent out the loudspeakers in the local room, or the component of that signal that is generated at the far end. See also FES.

FES - Far End Speech. This is the speech signal from the remote caller. This signal is generally sent out through a loudspeaker on the near-end and then is picked up by the microphones on the near-end. This pick-up is what needs to be cancelled by the echo canceller. This is also sometimes called the reference signal, reference input, or 'Ref'.

NES - Near End Speech. This is the speech signal from the local talker, which includes a bleed component (the echo) from the Reference or FES signal. This signal is processed by the echo canceller to remove the Reference component.

RES - Residual Speech. This is the output signal from the echo canceller. It consists of the NES signal with the Reference/FES component subtracted out and/or noise removed.

Appendix A:** **Set-up Tips; How to get the most out of Symetrix AEC

The relative signal levels at the main inputs and reference input are important. We have found that the best results are achieved when the signal level of the Ref In is slightly higher (6-12dB) than local inputs as measured when only the far end is speaking. It may be useful to add a gain module immediately before the AEC to adjust these levels.

Just as with most other audio problems, the best way to deal with the problem of acoustic echo is in the acoustic domain, rather than trying to deal with the issues using DSP. AEC is not a substitute for proper gain structure, or the proper placement of the microphones and loudspeakers.

The first goal of an installation should be to minimize the amount of far end pickup and noise and maximize the amount of local speech in the microphones. In doing so, the AEC and noise reduction will not need to work as hard and will give much better results. Of course, there are always conflicting goals (aesthetics, costs, physical size constraints) that may make this difficult, but acoustic optimization will improve communication.

Tips for setting up AEC to achieve the best results:

· Dampen the acoustic environment to reduce reflections from the wall, floor, ceilings, etc. Sometimes spending a little in this area can save a great deal in equipment costs.

· Position microphones to minimize pick-up from loudspeakers. For example, in a room with a high ceiling, flush-mounting microphones in the ceiling will put them very close to ceiling speakers and very far from the people speaking. Whenever possible avoid ceiling mics in all conferencing applications. Table -top boundary, gooseneck microphones and lapel microphones work well because they are typically close to participant's mouths and far from loudspeakers. Understandably, some people prefer ceiling mounted microphones to minimize cabling and clutter on a conference table. If ceiling microphones are used, position them as far away from loudspeakers and as close to meeting participants as possible. We recommend using a directional microphone pointing away from loudspeakers and hanging down as low as practical to get closer to participants.

· Use enough microphones and be mindful of placement in order to give even coverage to all participants.

· Position microphones as far away as possible from noise sources such as laptops, projector fans, HVAC, etc.

· Use as low a level as possible of the far end audio amplified in the local room. Of course it needs to be clearly audible throughout the room, but the softer it is, the less echo the AEC algorithm will have to cancel.

· Use enough loudspeakers and be mindful of placement in order to give even coverage throughout the listening audience. Doing so, will allow for a lower volume level at each loudspeaker, resulting in less echo to cancel in the program material.

· Coach meeting participants to speak in a clear voice directly into the nearest microphone.

The above goals may be difficult, or impossible to fully achieve, especially when retrofitting an existing room. Every step taken helps to improve the AEC performance, which in turn improves the over-all audio experience.

Appendix B: Comparison of Echo Canceller Techniques

Composer offers both Echo Reduction and Echo Cancellation. Echo reduction is provided by the Echo Reducer in the conferencing modules section of the toolkit. Echo cancellation is provided by the Radius NX and Server D100 Acoustic Echo Canceler module. This section will discuss some of the differences between echo reduction and echo cancellation.

There are two main strategies for reducing echo in conferencing applications:

· Dynamic gain modification (sometimes called non-linear processing, gain sharing or gating)

· Adaptive filtering

Many speakerphones use the first technique, often with a simple gate. Composer offers a Gain-sharing Echo Reducer based upon this principle. The Symetrix Echo Reducer module provides a much more smooth and natural operation than a traditional echo reducer which employs a gate. The employment of the Echo Reducer module works well for moderate amounts of echo, or applications where most of the time, only one talker is speaking at a time. For more demanding installations, adaptive filtering is preferred. The AEC algorithm running on the Radius NX is a next-generation adaptive filter.

In most cases, the adaptive filter-based echo cancellers are preferred. The gain sharing echo reducer is recommended when using AEC is not feasible and the echo problem is moderate.