CODEC NEAR
CODEC FAR
D(n):ECHO REFER
X(n)
X(n)
D(n)=X(n)*F(x)
X(n)
X'(n)
Y(n)
E(n)=Y(n)+X'(n)
D(n)
Y'(n)=E(n)-D(n)
Y'(n)
T1
T2
T0
Delay_time = T0 + T1 + T2
-
注:
1、Delay_time
做回声消除时的时间延时。
2、T1
远端X的声音传输到近端时,被回声消除处理函数copy一份用来做参考声音的时间。
3、T2
近端录下的带有回声的声音数据Y被送到回声消除函数中进行回声消除的时间。
4、T0
远端的声音经过spk播放出来之后,在空间中传播一定的时间被mic拾取的时间。
其中T1、T2这两个时间比较大(几到几十毫秒甚至几百毫秒),是不可忽略的时间。T0时间可以忽略。原因是声音在空气重
传播速度一般是340m/s,而我们的mic和spk的距离不会超过0.1m,所以这样计算出来声音在空气重传播的时间约为0.294ms,这个时
间相对于软件处理音频数据的时间可以忽略不计(我们SDK中的时间是150ms)。
结论:
如果我们的SDK软件没有变化,那么只要调试出一个合适的delay time,那么以后无论我们的产品如何改版,回声消除中的这个
最难调试的delay time就不需要重新调试。
回声消除原理及时间差计算方法