<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<STYLE type=text/css> <!--@import url(E:\LMQ\LightingMail\\data\scrollbar.css); --></STYLE>

<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<STYLE>BLOCKQUOTE{margin-Top: 0px; margin-Bottom: 0px; margin-Left: 2em};                                                    body{FONT-SIZE:12pt; FONT-FAMILY:宋体,serif;};                                                    </STYLE>

<META name=GENERATOR content="MSHTML 8.00.6001.18999"><BASE 
target=_blank></HEAD>
<BODY 
style="BORDER-RIGHT-WIDTH: 0px; MARGIN: 12px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" 
marginheight="0" marginwidth="0">
<P>Hi all,</P>
<P>We have discussed so many about sampling rate asynchronous (or offset) 
between rendering (D/A converter) and capturing (A/D converter) of most PC 
soundcards. It seems all acoustic echo cancellers, include AEC in speex, can not 
deal with this trouble, because it causes a drift of echo path and also buffer 
overflow and underflow which jumps the delay of echo path seriously.</P>
<P>Unfortunately, this kind of sampling rate asynchronous exists in most 
low-cost PC soundcards we have. So it is a big obstacle for us to make an AEC 
algorithm practical.</P>
<P>I have asked many people for help. It seems impossible to eliminate this 
offset. Then I found something in microsoft msdn website. It seems microsoft's 
AEC can deal with different sampling rate.</P>
<P>&gt; <A 
href="http://msdn.microsoft.com/en-us/library/ff536174%28VS.85%29.aspx">http://msdn.microsoft.com/en-us/library/ff536174%28VS.85%29.aspx</A><BR>&gt; 
In Windows XP, the clock rate must be matched between the capture and render 
streams. The AEC system filter implements no mechanism for matching sample rates 
across devices. This limitation precludes using AEC when the capture and render 
functions are performed by different devices. In Windows XP SP1, Windows Server 
2003, and later, this limitation does not exist. The AEC system filter correctly 
handles mismatches between the clocks for the capture and render streams, and 
separate devices can be used for capture and rendering.</P>
<P>There is also a IEEE paper, Adaptive Sampling Rate Correction for Acoustic 
Echo Control in Voice-Over-IP, which introduced a complex method to estimate the 
frequency offset and resynchronize the signals using arbitrary sampling rate 
conversion. I wonder if it can provide enough performance. Because I have also 
designed a sampling rate converter. After tested the offset accurately, it can 
reduce the offset to less than 0.1Hz, then the signal after resampling is send 
to speex AEC. But there is still hearable echo even if it is far less than that 
can be heared before resampling.</P>
<P>Does anybody have any suggestion about practical acoustic echo cancellation 
in low-cost soundcards? You know, most low-cost soundcards have the problem of 
sampling rate asynchronous.</P></BODY></HTML>