<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Dean Collins wrote:
<blockquote
 cite="midD31B0E15617C0A498059C49064FD1F7402E9AE@cognationsvr1.Cognation.local"
 type="cite">
  <pre wrap="">How do you fake echo for testing purposes then?
  </pre>
</blockquote>
All my tests have been done using sound files in userspace - I've
written a few bits of code for doing this.<br>
<br>
Basically, the idea is you start with two sound files - speaker-A and
speaker-B. Take speaker-A file, and run it through a finite impulse
response filter (FIR) that has been preloaded with an "echo path" (ie.
line echo characteristics). I use the various echo path models from the
ITU G.168 specification for this, set at various "pure delay" offsets,
and sometimes mixed together (ie. multiple paths at different offsets
and amplitudes to simulate a variety of really nasty echo paths). The
output is the speaker-A returned echo, and is saved to a file, then
mixed with speaker-B so as to simulate doubletalk scenarios - resulting
file called "speaker-A-rx".<br>
<br>
My other tools wrap the various Zaptel echo cancellers into a userspace
program, read&nbsp; .wav files of speaker-A and speaker-A-rx, run the echo
canceller over them, and save the echo cancelled output to another
file, which can then be listened to, spectrum analysed, etc.<br>
<br>
Testing the HPEC stuff was a bit more complicated, since it's a binary
blob that requires licensing - I whacked up a quick'n'dirty Zaptel
ioctl that takes bits of audio, feeds it through it, and passes it
back, and uses rdtsc to keep track of CPU time used.<br>
<br>
Cheers,<br>
&nbsp;&nbsp;&nbsp; Nic.<br>
<blockquote
 cite="midD31B0E15617C0A498059C49064FD1F7402E9AE@cognationsvr1.Cognation.local"
 type="cite">
  <pre wrap="">
  </pre>
  <blockquote type="cite">
    <pre wrap="">-----Original Message-----
From: <a class="moz-txt-link-abbreviated" href="mailto:asterisk-users-bounces@lists.digium.com">asterisk-users-bounces@lists.digium.com</a> [<a class="moz-txt-link-freetext" href="mailto:asterisk-users">mailto:asterisk-users</a>-
<a class="moz-txt-link-abbreviated" href="mailto:bounces@lists.digium.com">bounces@lists.digium.com</a>] On Behalf Of Nic Bellamy
Sent: Thursday, 15 February 2007 3:53 PM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: Re: [asterisk-users] The High Performance Echo Canceller
    </pre>
  </blockquote>
  <pre wrap=""><!---->(HPEC)
  </pre>
  <blockquote type="cite">
    <pre wrap="">Wireless wrote:
    </pre>
    <blockquote type="cite">
      <pre wrap="">Does anyone know if the HPEC will work on a Sangoma A200 / 2 port
      </pre>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->FXO card?
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <pre wrap="">(I'm assuming so as it still uses Zapel)  I've 2 PSTN lines one of
      </pre>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->which I
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <pre wrap="">cannot get rid of the echo, I've tried a 2GHz machine as apposed to
      </pre>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->my
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <pre wrap="">normal P3 650MHz and this made no difference. Would the 650Mhz be
      </pre>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->enough
  </pre>
  <blockquote type="cite">
    <pre wrap="">to
    </pre>
    <blockquote type="cite">
      <pre wrap="">run HPEC on one line (I assume only needing one licence)

      </pre>
    </blockquote>
    <pre wrap="">It should work, providing all the Wanpipe stuff is ready to work with
Zaptel 1.2.13.

As far as performance, you should be able to get one, maybe two
    </pre>
  </blockquote>
  <pre wrap=""><!---->channels
  </pre>
  <blockquote type="cite">
    <pre wrap="">of 1024 tap cancellation on the P3, but I'd advise careful testing,
perhaps even using oprofile for a while to keep an eye on what's using
    </pre>
  </blockquote>
  <pre wrap=""><!---->what.
  </pre>
  <blockquote type="cite">
    <pre wrap="">You also have to watch out extra carefully due to the following: HPEC
works in "sparse" mode, meaning it can cover 1024 taps, but just
    </pre>
  </blockquote>
  <pre wrap=""><!---->cancels
  </pre>
  <blockquote type="cite">
    <pre wrap="">echo in the parts where there is echo - hence CPU usage will likely
change quite a bit with different echo paths - ie. a simple single
reflection path will use less CPU than a complicated path with more
    </pre>
  </blockquote>
  <pre wrap=""><!---->than
  </pre>
  <blockquote type="cite">
    <pre wrap="">one reflection.

Cheers,
    Nic.

--
Nic Bellamy,
Head Of Engineering, Vadacom Ltd - <a class="moz-txt-link-freetext" href="http://www.vadacom.co.nz/">http://www.vadacom.co.nz/</a>

_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   <a class="moz-txt-link-freetext" href="http://lists.digium.com/mailman/listinfo/asterisk-users">http://lists.digium.com/mailman/listinfo/asterisk-users</a>
    </pre>
  </blockquote>
  <pre wrap=""><!---->_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   <a class="moz-txt-link-freetext" href="http://lists.digium.com/mailman/listinfo/asterisk-users">http://lists.digium.com/mailman/listinfo/asterisk-users</a>
  </pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">-- 
Nic Bellamy,
Head Of Engineering, Vadacom Ltd - <a class="moz-txt-link-freetext" href="http://www.vadacom.co.nz/">http://www.vadacom.co.nz/</a>
</pre>
</body>
</html>