[asterisk-dev] Tuning Software Echo Cancellers

Greg Boehnlein damin at nacs.net
Sun Aug 6 15:59:47 MST 2006


Hello,
	I am working on trying to track down and eliminate echo on a PRI. 
I'm using Gen 2 TE-405P cards, w/ the MG2 echo canceller. I cannot enabnle 
AGGRESSIVE_SUPPRESSION because that causes dropouts in the speech that are 
unacceptable to my customers needs. I am awaiting the RMA of a pair of 
TE-405s for upgrade to Gen 3 so that I can put the VPM-450 hardware echo 
can card on them, but in the meantime, I am trying to tune the software 
echo cancelling routines to lessen the impact of the echo to specific 
local central offices where the Telcos just do not have any edge 
supression going on.

I am using MG2 w/ the following settings in zapata.conf

echocancel=256
echotraining=800
rxgain=+0.21
txgain=-0.0

The rxgain was set using a local milliwatt number (line side). I'm still 
having trouble getting a long enough tone from the local C/O to do the 
txgain, hence the 0.0 setting. Apparently, X/O has their DMS 100 set to 
only provide 6 seconds of Millwat before it ends. No one seems to be able 
to figure out how to extend it on the local switch.

Using a value of 256 should give me a 64ms echo tail (from what I have 
read), but it does not seem to be enough to qwell the echo coming back 
from the particular trouble CO, which appears to have a 189 ms echo.

So, I'm wondering if there are any parameters in the MG2 echo can that can 
be tweaked to either increase the tail amount, or start cancelling 128 ms 
later in the call. I've enabled the #define MEC2_STATS 4000, which is 
providing the output below, but I'll be damned if I can decipher what to 
do with the output.

Aug  6 18:40:42 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:     0/    1 Coefficients updated ok/low sig:   0/  1 
Lu_i avg ok/low sig     -1/ 1372
Aug  6 18:40:43 tdm-1 kernel: -151904408: Near end speech:  2378 Residuals 
corrected/skipped:     0/ 1623 Coefficients updated ok/low sig: 102/  0 
Lu_i avg ok/low sig 253121/   -1
Aug  6 18:40:43 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:     0/ 4000 Coefficients updated ok/low sig: 187/ 63 
Lu_i avg ok/low sig 253078/  128
Aug  6 18:40:44 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  2624/ 1376 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:44 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  4000/    0 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:45 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  3988/   12 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:45 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  4000/    0 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:47 tdm-1 last message repeated 3 times
Aug  6 18:40:47 tdm-1 kernel: -151904408: Near end speech:   732 Residuals 
corrected/skipped:  3147/  121 Coefficients updated ok/low sig:   0/204 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:48 tdm-1 kernel: -151904408: Near end speech:  4000 Residuals 
corrected/skipped:     0/    0 Coefficients updated ok/low sig:   0/  0 
Lu_i avg ok/low sig     -1/   -1
Aug  6 18:40:48 tdm-1 kernel: -151904408: Near end speech:   102 Residuals 
corrected/skipped:     0/ 3899 Coefficients updated ok/low sig: 244/  0 
Lu_i avg ok/low sig 263173/   -1
Aug  6 18:40:49 tdm-1 kernel: -151904408: Near end speech:   898 Residuals 
corrected/skipped:     0/ 3103 Coefficients updated ok/low sig: 194/  0 
Lu_i avg ok/low sig 260476/   -1
Aug  6 18:40:49 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:     0/ 4000 Coefficients updated ok/low sig: 186/ 64 
Lu_i avg ok/low sig 255379/  153
Aug  6 18:40:50 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  2620/ 1380 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:50 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  4000/    0 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:51 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  3358/  642 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:51 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  1023/ 2977 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:52 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  2574/ 1426 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:52 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  4000/    0 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:53 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  4000/    0 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:53 tdm-1 kernel: -151904408: Near end speech:   732 Residuals 
corrected/skipped:  3268/    0 Coefficients updated ok/low sig:   0/204 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:54 tdm-1 kernel: -151904408: Near end speech:  4000 Residuals 
corrected/skipped:     0/    0 Coefficients updated ok/low sig:   0/  0 
Lu_i avg ok/low sig     -1/   -1
Aug  6 18:40:54 tdm-1 kernel: -151904408: Near end speech:   234 Residuals 
corrected/skipped:     0/ 3767 Coefficients updated ok/low sig: 236/  0 
Lu_i avg ok/low sig 262146/   -1
Aug  6 18:40:55 tdm-1 kernel: -151904408: Near end speech:   906 Residuals 
corrected/skipped:     0/ 3095 Coefficients updated ok/low sig: 194/  0 
Lu_i avg ok/low sig 260660/   -1
Aug  6 18:40:55 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:     0/ 4000 Coefficients updated ok/low sig: 186/ 64 
Lu_i avg ok/low sig 255645/  178
Aug  6 18:40:56 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  2619/ 1381 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:56 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  4000/    0 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:57 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  2072/ 1928 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:57 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:     0/ 4000 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:58 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:   670/ 3330 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:58 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  1447/ 2553 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:59 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  3911/   89 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:40:59 tdm-1 kernel: -151904408: Near end speech:   733 Residuals 
corrected/skipped:  3053/  214 Coefficients updated ok/low sig:   0/204 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:41:00 tdm-1 kernel: -151904408: Near end speech:  4000 Residuals 
corrected/skipped:     0/    0 Coefficients updated ok/low sig:   0/  0 
Lu_i avg ok/low sig     -1/   -1
Aug  6 18:41:00 tdm-1 kernel: -151904408: Near end speech:   131 Residuals 
corrected/skipped:     0/ 3870 Coefficients updated ok/low sig: 242/  0 
Lu_i avg ok/low sig 261880/   -1
Aug  6 18:41:01 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:     0/ 4000 Coefficients updated ok/low sig: 250/  0 
Lu_i avg ok/low sig 262217/   -1
Aug  6 18:41:01 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:     0/ 4000 Coefficients updated ok/low sig: 187/ 63 
Lu_i avg ok/low sig 255891/  128
Aug  6 18:41:02 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  2688/ 1312 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:41:02 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  4000/    0 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:41:03 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:  2032/ 1968 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:41:03 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:    20/ 3980 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:41:04 tdm-1 kernel: -151904408: Near end speech:     0 Residuals 
corrected/skipped:   335/ 3665 Coefficients updated ok/low sig:   0/250 
Lu_i avg ok/low sig     -1/  128
Aug  6 18:41:04 tdm-1 kernel: -15190

-- 
    Vice President of N2Net, a New Age Consulting Service, Inc. Company
         http://www.n2net.net Where everything clicks into place!
                             KP-216-121-ST






More information about the asterisk-dev mailing list