Echo Cancellation Demystified
This solution is schematically shown on Figure 6 below. It is important that the echo cancellers be connected to the codecs directly and running at the rate of the codec they're associated with. Placing interpolators between the codec and associated echo canceller will turn this solution into a non-solution described earlier.
Echo Cancellation on a PC
Echo cancellation on a PC, equipped with a digital sound card, microphone and active speakers should be possible to achieve in principle, but it's not always feasible. It's an interesting topic of its own; so let's see what problems can arise when trying to get the echo cancellation work on a PC and how to cope with them.
The vast majority of users of PC multimedia hardware such as sound cards, microphones, speakers and amplifiers are PC gamers. Often, the digital sound cards are used only for output in games and music players. This unfortunate practice allows making low-quality hardware, which is perfectly suitable for the outlined applications, and it is cheap. To find out whether or not the hardware is low quality, it's possible to carry out a nonlinear distortions measurement as we suggested earlier. Replacing of the microphone or active speakers with better ones can improve the overall quality of the system.
One problem with sound I/O on the PC is that the input and output can be independent and may even have different clock sources so each one can have its own sample rate. This is a very undesirable feature, which leads to changes in the echo path delay. It's somewhat similar to the problem of the codec synchronization and solutions analogous to adaptive interpolators can be used.
The hardware isn't the only place, where the problems (like nonlinear distortions and others) can appear. Another place is the software, which controls this hardware, namely, the device drivers and operating systems. The drivers for digital sound cards can be incorrectly implemented in that they may lose the samples. The end-user desktop operating system running on the PC can make a considerable contribution to this problem as well. Often, the desktop operating systems and their software, which can't work as part of a real time system and meet certain deadlines, lose responsiveness to I/O and processing requests on heavily and even moderately loaded PCs. While this can be tolerated in many applications such as games or mp3 players (a few lost samples will go unnoticed!) and the like, the echo cancellers will simply fail to do what they're supposed to. Possible solutions to this problem include closing all CPU-intensive applications and services in the operating system, using real-time operating systems (if applicable) and upgrading to a faster PC.
All of the above issues make echo cancellation on PCs problematic because of not meeting the basic requirements imposed by the echo cancellers.
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.