- Echo cancellation
The term
echo cancellation is used intelephony to describe the process of removing echo from a voice communication in order to improve voice quality on atelephone call . In addition to improving subjective quality, this process increases the capacity achieved throughsilence suppression by preventing echo from traveling across a network.Two sources of echo have primary relevance in telephony: acoustic echo and hybrid echo.
Speech compression techniques anddigital processing delay often make these echoes more severe intelephone network s.Echo cancellation involves first recognizing the originally transmitted signal that re-appears, with some delay, in the transmitted or received signal. Once the echo is recognized, it can be removed by 'subtracting' it from the transmitted or received signal. This technique is generally implemented using a
digital signal processor (DSP), but can also be implemented insoftware . Echo cancellation is done using eitherecho suppressor s or echo cancellers, or in some cases both.History
In
telephony , "Echo" is very much like what one would experience yelling in a canyon. Echo is the reflected copy of the voice heard some time later. The echo is a delayed version of the original. On a telephone, if the delay is fairly significant (more than a few hundred milliseconds), it is considered annoying. If the delay is very small (10's of milliseconds or less), the phenomena is calledsidetone and while not objectionable to humans, can interfere with the communication between data modems.Fact|date=September 2008In the earlier days of telecommunications, echo suppression was used to reduce the objectionable nature of echos to human users. In essence these devices rely upon the fact that most telephone conversations are half-duplex. That is one person speaks while the other listens. An echo suppressor attempts to determine which is the primary direction and allows that channel to go forward. In the reverse channel, it places
attenuation to block or "suppress" any signal on the assumption that the signal is echo. Naturally, such a device is not perfect. There are cases where both ends are active, and other cases where one end replies faster than an echo suppressor can switch directions to keep the echo attenuated but allow the remote talker to reply without attenuation.Echo cancellers are the replacement for earlier
echo suppressor s that were initially developed in the 1950s to control echo caused by the long delay onsatellite telecommunications circuits. Initial echo canceller theory was developed atAT&T Bell Labs in the early 1960s,Fact|date=September 2008 but the first commercial echo cancellers were not deployed until the late 1970s owing to the limited capability of the electronics of the era. The concept of an echo canceller is to synthesize an estimate of the echo from the talker's signal, and subtract that synthesis from the return path instead of switching attenuation into/out of the path. This technique requires adaptive signal processing to generate a signal accurate enough to effectively cancel the echo, where the echo can differ from the original due to various kinds of degradation along the way.Rapid advances in the implementation of
digital signal processing allowed echo cancellers to be made smaller and more cost-effective. In the 1990s, echo cancellers were implemented within voice switches for the first time (in theNorthern Telecom DMS-250) rather than as standalone devices. The integration of echo cancellation directly into the switch meant that echo cancellers could be reliably turned on or off on a call-by-call basis, removing the need for separate trunk groups for voice and data calls. Today's telephony technology often employs echo cancellers in small or handheld communications devices via a softwarevoice engine , which provides cancellation of either acoustic echo or the residual echo introduced by a far-end PSTN gateway system; such systems typically cancel echo reflections with up to 64 milliseconds delay.Acoustic echo
Acoustic echo arises when sound from a
loudspeaker —for example, the earpiece of atelephone handset—is picked up by themicrophone in the same room—for example, the mic in the very same handset. The problem exists in any communications scenario where there is a speaker and a microphone. Examples of acoustic echo are found in everyday surroundings such as:* Hands-free car phone systems
* A standard telephone inspeakerphone or hands-free mode
* Dedicated standalone "conference phones"
* Installed room systems which use ceiling speakers and microphones on the table
* Physical coupling (vibrations of the loudspeaker transfer to the microphone via the handset casing)In most of these cases, direct sound from the loudspeaker (not the person at the far end, otherwise referred to as the Talker) enters the microphone almost unaltered. This is called direct acoustic path echo. The difficulties in cancelling acoustic echo stem from the alteration of the original sound by the ambient space. This colours the sound that re-enters the microphone. These changes can include certain frequencies being absorbed by soft furnishings, and reflection of different frequencies at varying strength. These secondary reflections are not strictly referred to as echo, but rather are "reverb".
Acoustic echo is heard by the far end talkers in a conversation. So if a person in Room A talks, they will hear their voice bounce around in Room B. This sound needs to be cancelled, or it will get sent back to its origin. Due to the slight round-trip transmission delay, this acoustic echo is very distracting.
Acoustic Echo Cancellation
Since invention at AT&T Bell Labs (1950),Fact|date=September 2008 echo cancellation algorithms have been improved and honed. Like all echo cancelling processes, these first algorithms were designed to anticipate the signal which would inevitably re-enter the transmission path, and cancel it out.
The Acoustic Echo Cancellation (AEC) process works as follows:
# Received sound is digitally sampled to form a reference signal.
# This sound is then produced by the speaker.
# The microphone picks up the resulting direct path sound, and consequent reverberant sound.
# This is again digitally sampled.
# The reference signal and echo signal are compared. In an ideal system these two are exactly the same.
# The reference signal is summed with the echo signal at 180° out of phase. Again, in an ideal system this results in a perfect cancellation.This process continues for every sample.
Challenges for AEC (Acoustic Echo Cancellation)
There are two main issues that echo cancellers must deal with. The first is the changes and additions to the original signal caused by imperfections of the loudspeaker, microphone, reverberant space and physical coupling. The second is the changing nature of those changes. See below.
ignal Colouration
The first problem is dealt with by modelling the acoustic space in the time and frequency domains. AEC (Acoustic Echo Cancellation) algorithms approximate the result of the next sample by comparing the difference between the current and previous samples. To simplify - a sound is sampled pre-speaker and post microphone, then compared for initial differences in frequencies, and frequencies that are longer than they were in the original sample. This can be visualised by a
Fourier Transform . The resulting information is used to predict how the next sound will be altered by the acoustic path. The model of the acoustic space is therefore continually updated. Updates are not instantly applied, but occur over a half second or so.Older echo cancellation systems required training with impulse or pink noise, and some used this as the only model of the acoustic space. Later systems used this training only as a basis to start from, and the canceller then adapted from that point on. Modern systems can 'converge' from nothing to 55dB of cancellation in around 200ms.
Changes in Colouration
The changing nature of the sampled signal is mainly due to changes in the acoustic environment, not the characteristics of loudspeaker, microphone or physical coupling. These are from moving objects in the environment, and movement of the microphone within that environment. When a door is closed or opened, a chair is pulled in closer to the table, drapes are opened or closed, all these effect a change in the reverberation of the sound in the space. For this reason, the cancellation algorithm also has a degree of aggressive adaptation called Non-Linear Processing. This allows the algorithm to make changes to the model of the acoustic path that are suggested, but not yet confirmed by comparison of the two signals.
NLP (Non-Linear Processing)
NLP (Non-Linear Processing) algorithms attempt to adjust preemptively to changes in the acoustic environment. They can be applied in varying degrees of aggressiveness to avoid its overuse. More aggressive NLP increases the chance of over-cancellation, which will actually "add" echo. By keeping in mind how AEC cancels a signal by "adding" one that is 180° out of phase but of the same amplitude, one sees that over-cancellation can result in a small, out of phase echo. The NLP algorithm is distinct from the AEC algorithim in that inaccuracies with NLP are more audible than those with the primary AEC, which is also subject to over/under cancellation.
Full Bandwidth Cancellation
Until recently echo cancellation only needed to apply to the voice bandwidth of telephone circuits.
PSTN calls transmit frequencies between 300 Hz and 3 kHz, the range required for human speech intelligibility.Videoconferencing is one area where full bandwidth audio is transceived. In this case, specialised products are employed to perform echo cancellation.Hybrid echo
Hybrid echo is generated by the
public switched telephone network (PSTN) through the reflection of electrical energy by a device called a hybrid (hence the term hybrid echo). Most telephonelocal loop s aretwo-wire circuit s while transmission facilities arefour-wire circuit s. Each hybrid produces echoes in both directions, though the far end echo is usually a greater problem for voiceband.Drawbacks
Echo suppression may have the side-effect of removing valid signals from the transmission. This can cause audible signal loss that is called "
clipping ." In an ideal situation then, echo cancellation alone will be used. However this is insufficient in many applications, notably software phones. Here, echo cancellation and suppression can work in conjunction to achieve acceptable performance.Modems
Echo control on voice-frequency data calls that use dial-up modems may cause data corruption. Some telephone devices disable echo suppression or echo cancellation when they detect the 2100 or 2225 Hz "answer" tones associated with such calls, in accordance with
ITU-T recommendation G.164 orG.165 . In the 1990s most echo cancellation was done insidemodem s of typev.32 and later. In voiceband modems this allowed using the same frequencies in both directions simultaneously, greatly increasing the data rate. As part of connection negotiation, each modem sent line probe signals, measured the echoes, and set up its delay lines. Echoes in this case did not include long echoes caused by acoustic coupling, but did include short echoes caused by impedance mismatches in the 2-wirelocal loop to theTelephone exchange .After the turn of the century
DSL modem s also made extensive use of automated echo cancellation. Though they used separate incoming and outgoing frequencies, these frequencies were beyond the voiceband for which the cables were designed, and often sufferedattenuation distortion due tobridge tap s and incompleteimpedance matching . Deep, narrow frequency gaps often resulted, that could not be made usable by echo cancellation. These were detected and mapped out during connection negotiation.ee also
*
Signal reflection
*Voice engine External links
* [http://www.acoustictech.com Echo Cancellation and Noise Cancellation for Hands-Free Applications (Acoustic Technologies)]
* [http://www.adaptivedigital.com/product/echo_cancel/ec_index.htm World-Class Echo Cancellation Algorithms (Adaptive Digital Technologies)]
* [http://www.dspalg.com/AEC_Gen_new.html Acoustic and line echo cancellation for hands-free applications and telephony (Digital Speech Algorithms)]
* [http://www.octasic.com/en/tech/echo_cancel.php Echo cancellation and Voice Quality Enhancement Solutions (Octasic)]
* [http://www.iec.org/online/tutorials/echo_cancel/topic01.html?Next.x=35&Next.y=17 Echo cancellation (International Engineering Consortium on-line education topic)]
* [http://www.haifa.il.ibm.com/projects/multimedia/audio_video/spkr.html Echo cancellation technology (IBM)]
* [http://www.ditechnetworks.com/learningCenter/echoBasics.html Echo basics tutorial, including echo cancellers and echo's effect on QoS (Ditech Networks)]
* [http://www.rowetel.com/blog/?p=21 Basics of line echo cancellers implementation, including sample C source code (David Rowe, Open Source Line Echo Canceller)]
* [http://www.solicall.com Echo Cancellation and Noise Cancellation for VoIP (SoliCall Ltd.)]
Wikimedia Foundation. 2010.