首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
VoIP声学回声消除算法研究
来源:本站整理  作者:佚名  2009-05-27 11:50:10




    分子代表估计回声与误差信号的互相关值,分母为估计回声的自相关值。若有双端讲话存在,则误差就会变得很大,因此步长因子就会变得非常小,不会使滤波器系数变化太大;若有背景噪声存在,由于步长因子公式中,分子分母都有噪声的影响,因此相互抵消后噪声的影响也会变得非常小了。
2.2 估计回声与近端输入信号的同步
    回声消除的原理就是利用参考回声与真实回声之间的相关性,因此播放声音的线程和录音线程之间的同步就显得极为重要。下面分两步进行处理:
    第一步,输入/输出设备与处理器之间存在速度不匹配的问题,为了改善这个矛盾,需要在输入/输出端分别划出若干个专用缓冲区。在本测试环境中,输入/输出流的延迟经过计算结果为10帧,也就是从处理器把第一帧要播放的声音放人参考回声帧队列算起,到处理器从参考回声帧队列中取出一帧来与第一帧录音输入进行回声消除时为止,录音输入比参考回声在时间上落后了10帧。也就是说,这前10帧录音输入不用进行回声消除,而是直接传走,这个过程就称为预取。
    第二步,实际应用中播放声音和录音是用两个线程完成的,所以仅仅用上面固定的延迟数量来同步参考回声和录音输入这两个信号还不行。设一个变量rec_ts作为处理器要处理的录音输入帧的序列号,设play_ts作为处理器处理的参考回声帧的序列号。用seq_delay=play_ts-rec_ts来修正上面的预取过程。当Seq_delay>0时,证明播放线程比录音线程快,因此则减少录音输入帧的预取个数;当Seq-delay<0时,证明播放线程比录音线程慢,因此则增加录音输入帧的预取个数。

3 测试及结论
    Speex是一个开源、免费、专门针对VoIP语音的编解码器,是一种动态比特率编码方式,它意味着可以根据网络环境的变化来动态地修改其比特率,它在窄带和宽带中都提供相应版本。回音消除一直是VoIP中亟待解决的主要问题,所以近年来Speex中也集成了回音消除的模块。因为Speex算法中,AEC没有考虑线程同步问题,因此这里提出了一种使播放线程和录音线程同步的方法。
    用PC机在VC 6.O下建工程进行测试。用麦克将一段语音录下,存为ref.pcm,之后用音箱把这段录音播放出来,播放的同时再用麦克将其录下,等播放一段时间后(代表只有远端讲话的情况),再有人开始讲话,这时的录音就代表双端讲话的情况,把该文件存为echo.pcm。测试时采样率为8 000 Hz,20 ms为一帧,/μmax=1。
    回声抵消效果一般还采用回声返回衰减增益(ERLE)来评价,其定义如下:

   
    ERLE值越大,则表明回声抵消效果越好,一般要求ERLE≥6 dB。测试回声返回衰减增益如图2所示。由图2可知,加入时间延迟估计后的效果好于不加时间延迟估计的效果。

    失调也称为系统距离(DIST),反映的是回声消除器中自适应FIR滤波器r1(n)对真实回声路径r(n)的逼近程度。其定义如下:

   
    DIST值越低,表明自适应滤波器收敛性能越好。由图3也可看出,加入时间延迟估计后的失调量总体上低于不加时间延迟估计的失调量。
    通过测试和大量的通话主观测试,结果表明,用该方法实现的声学回声消除器能够满足通信对语音的要求,因此为VoIP语音通信和移动通信终端提供了参考。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:179,191.40000 毫秒