[Ekiga-list] speakerphone mode

Stefan Bruens lurch at gmx.li
Wed Nov 21 15:20:01 UTC 2007


Am Mittwoch, 21. November 2007 10:41:43 schrieb Alan Lord:
> Damien Sandras wrote:
> > That is a good idea.
> >
> >
> > Notice we could also reuse echo cancellation algorithms from Asterisk.
>
> Hi, forgive the intrusion.
>
> I had a similar idea a week or so ago but am not a software engineer. I
> built and installed Asterisk on my LFS (Linux From Scratch) server. I
> have a cheap analogue PSTN (x100p) card and the standard EC with the
> Zaptel modules didn't do much - echo was bad...
>
> I installed the OSLEC canceller from David Rowe
> (http://www.rowetel.com/ucasterisk/oslec.html) which is simply a kernel
> module that interfaces to the zaptel module. It is brilliant! Worked a
> treat...
>
> On my desk I use the Polycom Communicator (a handsfree combined
> mic/speaker) USB audio device. And although most of the EC and noise
> suppression technology is apparently in their Windows only drivers, it
> works "OK" on my Ubuntu Desktop, but I do have some problems with echo.
>
> I was wondering if it would be possible to use the OSLEC module in a
> more "generic" way (perhaps within ALSA) so that it could be used to
> provide EC services to almost any audio device or as a "driver" simply
> for my Polycom C100s... Is this a sensible idea?

One thing to understand is that there are two different types of echo 
cancellers - line echo and acoustic echo.

Line echo exists when using analog interface cards. As analog equipment is 
connected via a single pair of wires, both near and far end signals are 
travelling on the same wires. Inside the handset/telephone/speakerphone, 
there is something called a "hybrid", which decouples both signals, but not 
perfectly.

As the signals are travelling as an electromagnetic wave, almost at the speed 
of light, the echo path is quite short (for example, Inhouse, 50m of wire, 
2/3 speed of light: 2*50m *3/2 / 3*10^8m/s = 0.5*10^-6s: half a microsecond, 
Branch exchange, 2*2km, 20 microseconds). So line echo is not a problem for 
voice applications, only for data (modems).

Acoustic echo is quite different, as the signal comes from the loudspeaker, 
travels with the speed of sound (~300m/s -> 3ms/m), is reflected by the walls 
several times and reaches the microphone. As the echo patch is much longer, 
an echo canceller with many more filter taps is needed, able to compensate 
echo "tails" 500ms or even 4000ms long.

OSLEC is an line echo canceller, able to cope only with very short echo 
pathes. It may be able to compensate acoustic echos resulting from 
microphones and speakers built into the same housing, which are thus strongly 
coupled on a very short path (<10cm).

Bye,

Stefan

-- 
Stefan Brüns  /  Kastanienweg 6 - Zimmer 1206  /  52074 Aachen
mailto:lurch at gmx.li  http://www.kawo1.rwth-aachen.de/~lurchi/
   phone: +49 241 169-4206     mobile: +49 160 3797725
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <https://mail.gnome.org/archives/ekiga-list/attachments/20071121/c52aabf4/attachment.sig>


More information about the ekiga-list mailing list