[asterisk-dev] Zaptel Echo Cancellation

Hans Petter Selasky hselasky at c2i.net
Thu Aug 3 09:49:36 MST 2006


On Thursday 03 August 2006 17:15, Andrew Kohlsmith wrote:
> On Thursday 03 August 2006 11:09, Eric "ManxPower" Wieling wrote:
> > > Is there not an inherient delay of several ms due to CPU and encoding
> > > overhead etc or is this not a factor in the calculations? I'm just
> > > wondering what kinds of delays play into this or is the only thing that
> > > matters the delay on the PSTN before the signal hits the card?
> >
> > The PSTN delay is what matters.  Echo must be removed at the PSTN
> > interface.
>
> When the echo cancellation is being done in software on the PC (i.e. in
> zaptel), you need to account for the PCI delay and processing delays as
> well, do you not?  That is the advantage of the hardware echo cans; they
> work on the echo "closer" to the source.

Hardware echo cancellers perform no better than software echo cancellers. What 
you need is good timing and ringbuffers. Then you compute exactly how many 
bytes are in the buffer, and just "skip" those before doing any echo 
cancelling. In this case the buffer delay does not matter at all. For example 
I have 50ms buffering working very well with 32ms echo-cancelling ! You might 
think this was very difficult and ureliable, but no. All you need is a ring 
buffer, and a good timing source.

--HPS



More information about the asterisk-dev mailing list