[Asterisk-Users] BAD/GOOD Echo Cancel

Steve Underwood steveu at coppice.org
Mon Feb 6 07:09:34 MST 2006


James Harper wrote:

>>virtually all software echo cancelers cannot get double echo removed
>>completly.  It can get the first one but not the second one.  There
>>    
>>
>are
>  
>
>>instances where you get a 2nd echo, so ...  Asterisk is no exception
>>from this afaik nothing software only based is.
>>
>>If you really want good echo cancelation a hardware solution is the
>>    
>>
>way
>  
>
>>to go.
>>
>>    
>>
>
>Just an enquiring mind wanting to know, but how is a hardware solution
>different to a software solution? The echo cancellers in the Digium
>hardware presumably just use the same sort of algorithms as the software
>versions, so it is just that they are dedicated and perform better, that
>they are closer to the source of the echo, or some other thing that I've
>overlooked?
>  
>
There isn't much difference, except for the amount of CPU taken, and the 
issue that software echo cancellation forces the device to use very 
short buffers. He's talking rubbish. Hardware echo cancellation 
certainly eases the timing constraints on the E1/T1 card to host 
processor interface. A lot more buffering can occur if the host does not 
do echo cancelling. A 20ms buffer on a PCI card will practically all the 
quirky timing issues people see go away. However 20ms of buffering would 
badly hurt an echo canceller's convergence.

Most hardware cancellers, are actually software cancellers. The software 
just runs in a DSP (often a customised one) instead of the host 
processor. Some are a hybrid hardware/software design. Few are pure 
hardware.

There are no standard algorithms for echo cancellation, and no standard 
level of performance. Few cancellers which claim G.168 compliance 
actually pass all the tests. If you look in the small print they 
generally say which tests they do pass. Echo cancellers vary a lot in 
performance, and making them truly robust and efficient is still a 
research topic.

Regards,
Steve
\



More information about the asterisk-users mailing list