Echo Cancellation Demystified
Now that we have analyzed the typical problems with echo cancellation and pointed out several design and integration mistakes, we can summarize the requirements imposed by an echo canceller:
» The nonlinear distortions in the hardware (microphones, speakers, amplifiers and codecs) must be sufficiently low, typically less than -16 dB.
» The microphone and loudspeaker placement and echo insulation in the hands-free phones should be done carefully so as to reduce the phone's internal echo from the speaker to the microphone and be less sensitive to the echo path change outside the phone case.
» The signal delays in the software must be fixed throughout the entire call session and they must be minimal, so the entire echo path delay is minimal and constant too.
» Codec synchronization (if required) must be done correctly to avoid any sample losses and unbounded accumulation or depletion of samples in the software buffers leading to overflow problems and echo canceller divergence.
» The operating system, device drivers and the rest of the software running in the system must meet the real-time requirements of the echo canceller.
Testing Echo Cancellers
It is a good practice for the customer to ask the echo canceller algorithm supplier how well their echo canceller conforms to the appropriate ITU-T recommendations (which are de-facto standards) and provide these figures alone with the resource requirements so a right decision can be made when choosing an echo canceller. The related ITU-T recommendations are: G.168 for LECs and G.167 for AECs.
It is beneficial for the customer to understand the basics of the echo cancellation and maybe even be familiar with the listed recommendations, however, it always makes sense to make a few tests of the echo canceller of interest. If a live test is possible, which is very desirable for AECs, it is good to make it. The echo canceller suppliers should provide a test or demo suit and a few test waveforms (the reference signal y(i) and the signal with the echo, x(i)+r(i) as per Figure 5), on which the echo canceller can be tested. Such a test can be carried out on either a PC or the customer's target hardware, whichever is arranged. This ensures the echo canceller operation and the suit can also be used to test the echo canceller performance on specific waveforms if the customer has any concerns about particular cases. It's also a good thing to test double-talk performance of the echo canceller to make sure the quality is delivered to the end users.
By the time the echo canceller integration is about to start, the hardware of the target device must have a sufficiently low level of nonlinear distortions. Only after having fixed all of the hardware problems, the echo canceller integration should begin. As soon as the echo canceller integration is finished, the echo canceller test can be repeated in full real-time with true I/O instead of file processing. Should there be any quality problems, the hardware and software must be checked against possible violations of the requirements imposed by the echo canceller, which have been stated earlier.
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.