[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