·上一文章:基于ATmega16和nRF905的无线射频收发系统设计
·下一文章:基于LabVIEw的数字变频FFT设计
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语音通信和移动通信终端提供了参考。