回声消除NLMS算法详解

               

        在视频或电话会议中,本地用户的声音在被本地麦克风采集后,通过系统传到远端,通过远端的扬声器播放,此时远端麦克风不可避免地会采集到扬声器播放的声音,又通过系统传回本地,并通过本地扬声器播放出来,本地用户就通过本地扬声器听到了自己的声音,这明显降低了会议通信质量。

        为了提高语音的质量,就必须进行回声消除。当参考信号已知时,归一化最小均方(Normalized Least Mean Square,NLMS)算法能很好消除回声,它由最小均方算法扩展而来。

1 NLMS算法原理

        回声消除系统基本结构如图1所示。

                        

                                                 图1  回声消除系统基本结构

        设置自适应滤波器系数w的所有初始值为0,即w(0) = 0,其长度为M。对输入信号进行采样,每次迭代取M个数据进行处理,输入矢量为

                        x(n) = [x1(n) x2(n) … xM(n)]T = [x(n)x(n-1) … x(n-M+1)]T

        加权矢量为

                        w = [w1 w2… w3]

        系统输出y(n)为

                        y(n) = wx(n)

        y(n)相对于期望信号d(n)的误差为

                        e(n) = d(n) – y(n) = d(n) -wx(n)

        运用最小均方误差准则,就是求使得E[|e(n)|^2]最小时的w,因为是通过对其求导并令其等于0求得的,而|e(n)|在最小点不可导,所以使用的是|e(n)|^2。对于LMS算法,其滤波器系数迭代公式为

                        w(n+1) = w(n) + 2µe(n)x(n)

其中µ是步长因子,0 < µ < 1/ xT(n)x(n),在LMS算法中其值是固定的,因而收敛速度较慢。

        在LMS的基础上,用可变的步长因子代替固定的步长因子,就得到了NLMS算法,其迭代方程为

                        w(n+1) = w(

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值