Echo Cancellation Demystified
On the figure below we see the switching station with an echo canceling system integrated on the 4-wire side between points A, B, C and D. The signals (all shown as functions of the sample number, i) are as follows: x(i) is the signal from the abonent connected by a 2-wire line to the switching station (near-end talker signal), y(i) and u(i) are the signals from and to the other abonent (far-end talker), which come through the 4-wire line.
The idea of an echo canceller is simple. The signal from the far-end talker, y(i), when passing through the hybrid's echo path (between points B and A) is affected by the echo path's impulse response and is transformed to the signal r(i), which is the undesired echo. The signal from the near-end talker, x(i), is added to r(i) at point A. The adaptive filter (normally, FIR) used in the system mimics the impulse response of the hybrid's echo path and produces a replica, r'(i), of the echo signal r(i). If r(i) and r'(i) are the same, then they will cancel each other in the summer connected between points A and C and the filter's output. If r(i) and r'(i) aren't the same, the far-end talker will be hearing not only the near-end talker's x(i) signal, but also the difference of r(i) and r'(i), which is called the residual echo error signal.
The residual echo error, e(i) = r(i) - r'(i), is used to adapt the filter's coefficients. That is, the echo canceller is a tracking system with the residual echo error signal used as the feedback and the purpose if this system is to minimize this error.
Obviously, since the echo path's impulse response is unknown, some time is needed for the echo canceller to minimize the residual echo error signal below a required level. This time is called the convergence time. Note that while the far-end talker's signal y(i) is equal to zero, the echo canceller is not able to converge, because both r(i) and r'(i) are zero, thus the feedback is also zero and there's no adaptation possible. This is why the reference signal y(i) should be present in the beginning of the conversation; grabbing the handset and just saying "hello" should be more than enough for the adaptation to proceed.
Note that the adaptation is possible to do when the near-end talker's signal x(i) is close to or is zero, otherwise this signal x(i) will effectively be an additive noise in the feedback, causing the system to become unstable, diverge and stop working. This is why no filter coefficient adaptation is done at all or the adaptation is very slow during the double-talk periods, e.g. when both the near-end and far-end talkers talk simultaneously.
Kane Computing Ltd
7 Theatre Court, London Road, Northwich, Cheshire, CW9 5HB, UK
Tel: +44(0)1606 351006 - Fax: +44(0)1606 351007/8
Email: firstname.lastname@example.org - Web: www.kanecomputing.com
If you are familiar with RSS feeds, you can also sign up for our free blog feed. Our RSS feed is updated in real-time while our newsletter is updated daily.