IP电话回声消除器的设计及其DSP实现

IP电话回声消除器的设计及其DSP实现,第1张

介绍了一种用于IP电话中的自适应回声消除器,采用归一化最小二乘(NLMS)自适应滤波器实现,包括语音模式检测器和粗略时延估计器。最后以TI公司的TMS320C5402 DSP芯片为平台,实现了该回声消除器,还对关键代码进行了分析。
     关键词:回声消除,自适应滤波,NLMS,DSP


1 在VoIP中采用回声消除技术的必要性
  与传统的PSTN网络采用电路交换技术不同,IP电话采用的是分组交换技术,充分利用Internet来传输语音数据,使得价格大大降低,从而取得了长足的发展。但是IP电话也存在一些弊端,比如语言质量比较差,导致这一弊端的因素很多,其中主要的因素就是网络延时和算法延时,这主要是由于互联网的数据传输特点以及语音编解码耗时较大导致的,总延时长达100ms。根据经验,如果语音的延时超过了50ms,那么,人耳就可以鉴别出自己的回声,显然,IP电话系统的回声是非常严重的,鉴于此,国际电联(ITU)也相应地制定了回声消除的国际规范,如G.165,G.168。
2 回声消除器的结构框图和基本原理
    图1所示是VoIP回声消除系统结构图。

IP电话回声消除器的设计及其DSP实现,第2张

  从图1可以看出,整个回声消除系统分成三个部分:NLMS自适应滤波器、语音检测器和粗略时延估计器。其中,语音检测器又分为三个部分:近端说话检测器、远端说话检测器和双端说话检测器。
  图1中,A、B端代表远端用户,C、D端代表近端用户,y(n)代表时刻n来自远端的语音采样值。y(n)经过互联网到达近端用户的扬声器端,由于从扬声器出来的声音信号经过空气形成的回声通道H(z)又会被近端的话筒拾取,这部分回声信号echo(n)会混同近端用户的语音信号一起进入近端的话筒,也就形成近端的声学信号r(n),r(n)再通过互联网,向远端用户的扬声器传输。如果不采取回声消除措施,只要远端信号y(n)通过互联网传回远端扬声器的时间超过50ms(这是经常出现的情况),那么,这部分被近端拾取的回声信号echo(n)会被远端用户分辨出来,结果就使得远端用户听到了自己的声音,会大大降低通话的质量,这是用户所不能容忍的。所以,必须采取消除回声的措施。
  完成回声消除的一个很重要的模块就是自适应滤波器,本文采用NLMS算法进行自适应滤波。当远端信号y(n)到达近端之后,先把这个信号“复制”一份,放到存储器中,结合误差信号,利用NLMS算法不断调整自适应滤波器的系数,使得y(n)经过自适应滤波器后的输出IP电话回声消除器的设计及其DSP实现,第3张尽量逼近回声信号echo(n),这样,当近端的语音信号x(n)=0的时候,从B端输出的误差信号e(n)也就接近0,从而达到了回声消除的目的。
  当然,在NLMS自适应滤波器进行滤波和系数更新之前,必须检测语音模式是近端说话模式、远端说话模式、还是双端说话模式,因为不同的说话模式NLMS自适应滤波器所执行的功能是不完全相同的。另外,由于远端信号y(n)被自适应滤波器“复制”到存储器中的时刻t1和y(n)经过回声通道H(z),进入近端话筒并作相应的处理的时刻t2是不相同的,t2要大于t1,这主要是语音数据编码、打包和压缩造成的。为了使得滤波器处理的信号y(n)和传回远端的信号r(n)保持对应,即echo(n)和y(n)保持高度的相关性,那么被自适应滤波器“复制”的y(n)信号,最好在存储器中延时一段时间,这样才能保证达到回声消除取得比较好的效果。
3 NLMS自适应滤波器原理
  为了讨论方便,这里先考虑远端说话模式,即近端语音信号x(n)为0。为了简单起见,把图1中的NLMS自适应滤波器部分单独抽出来,简化成图2。图2所示是NLMS自适应滤波器结构图。

IP电话回声消除器的设计及其DSP实现,第4张

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2421011.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-01
下一篇 2022-08-01

发表评论

登录后才能评论

评论列表(0条)

保存