Echo Cancellation On HMP Systems
Commetrex’ G.168 Line Echo Canceller (LEC) allows the developer of telephony-endpoint products and gateways to meet the specification and speech-performance requirements of demanding enterprise and carrier applications. The LEC is available in C-reference source code and in highly optimized versions for the Texas Instruments TMS320C6000 line of DSPs. The LEC only requires 5.0 MCPS (mega-cycles per second) peak to execute on the ‘C6400, yielding a density of 120 channels per DSP with a 128-millisecond echo tail cancellation. Higher densities can be achieved with shorter tail lengths.
Echo in telephony systems is noticeable in networks with greater than 50-msec delay, making echo cancellation critical for speech quality in IP networks. Since the processing delays in IP networks aggravate echo, VoIP is magnifying the importance of LECs. Without effective echo cancellation, IP voice is just not practicable.
But there is a price to pay for effective echo cancellation. LECs are compute-intensive algorithms. So efficient implementation is important, especially in HMP systems, where the PC’s MIPS can get quickly consumed.
As implied above, the longer echo, the more MIPS required. You’ll see specs for so-called “128-msec echo-tail cancellation.” Some LECs use the brute-force method of cancelling a long-tail echo by computing taps or coefficients for the adaptive filter (the echo replica) for every 125-micro-second sample, which is not really practicable for anything but short-tails, such as 8- or 16-msec coverage.
Commetrex’ LEC uses a rather elegant and effective way to quickly locate the possibly multiple echoes by spacing the taps at 2-msec intervals (sub-sampled taps). Once the echoes, which are typically on the order of 4-8-msec in duration, are located, the adaptive filter only “grows” taps around the echo, skipping coverage areas without echo. The result is an average MCPS requirement for a 16-msec tail of 1.9 MCPS on the TI DSPs and only 3.5 MCPS for 128-msec tail.
These are DSP-based MIPS (or MCPS). What about HMP systems? You’re still looking at under 15-MIPS per channel. On today’s fast multi-core machines, our LEC yields some pretty amazing system capacities.
Want to learn more? Drop us an email, and don’t be surprised if the guru who designed this thing answers.