一种基于反正切函数的零吸引回声消除方法
技术领域
本发明涉及一种回声消除方法,具体涉及一种基于反正切函数的零吸引回声消除方法。
背景技术
在通信系统中,噪声和回声的干扰一直不能被忽略掉。其中,最主要影响语音通话质量的是声学回声。声学回声是指扬声器播放出来的声音被麦克风拾取后发回远端,使远端谈话者能听到自己的声音。比如,在召开多人网络音频会议或用户使用通信设备的免提功能时,常会产生声学回声。对于回声时延短的会很难被察觉到,可理解为频谱失真的一种形式。反之,时延超过几十毫秒,回声就可明显觉察到。由于人耳对回声极其敏感,因此对消除声学回声方法的研究仍是一个热门的课题。传统广泛应用的自适应回声消除方法,主要有最小均方(LMS)算法和仿射投影(APA)算法等方法。但是在回声信道中,回声以时延效应为主,表现在回声路径大多数都是稀疏信道,这种稀疏系统的脉冲值只有极少数不为零其余均为零或接近零。而在这种系统中传统的LMS和APA算法的稳态误差就会明显变大并伴随着收敛速度变慢。同时,若系统存在冲激噪声等干扰噪声时,上述传统的算法会变得非常不稳定。
文献1“Using Correntropy as a cost function in linear adaptivefilters.”(Singh,A.and J.C.Principe.Proceedings of the International JointConference on Neural Networks.(2009)),在目前的稀疏系统辨识应用中,公开了一种较成熟的抗冲击干扰的回声消除方法,该方法利用了最大熵准则能够很好的抗冲激干扰,但由于该算法没有考虑系统的稀疏性,因此在解决稀疏系统问题时性能会下降。
发明内容
本发明所要解决的技术问题是,克服现有技术的不足,提供一种收敛速度快、稳态误差低、抗干扰能力强的基于反正切函数的零吸引回声消除方法。
本发明解决其技术问题采用的技术方案是,一种基于反正切函数的零吸引回声消除方法,包括以下步骤:
第一步:获取信号,将远端传来的语音信号采样得到当前时刻n的远端信号离散值x(n);同时,对近端麦克风收集到的回声信号采样得到当前时刻n的期望信号d(n)。
第二步:计算自适应滤波器的输出y(n),将远端信号离散值x(n)在当前时刻n到时刻n-L+1的值构成当前时刻n的自适应滤波器输入向量x(n),x(n)=[x(n),x(n-1)...,x(n-L+1)]T,其中,L表示自适应滤波器抽头数,L=512或1024,上标T代表转置;
计算当前时刻n的自适应滤波器的输出信号y(n),y(n)=WT(n)x(n),其中,W(n)为当前时刻n的自适应滤波器的抽头权向量,其长度等于L,初始值为零向量即W(1)=0;
第三步:回声抵消,将当前时刻n的期望信号d(n)减去当前时刻n的自适应滤波器的输出信号y(n),得到当前时刻n的误差信号e(n)作为当前时刻n消除回声后的近端信号再传送给远端,即e(n)=d(n)-y(n);
第四步:权系数向量的更新,
(1)根据当前时刻n的误差信号e(n),算出当前时刻n去冲激干扰的误差信号
其中arctan(·)表示反正切运算;的初始值为零,即
(2)更新得到下一个时刻n+1的抽头权向量W(n+1),
其中,μ为步长参数,取值为0.5;sgn[·]表示取符号运算;ρ为零吸引因子,取值为0.000004;ε为正参数,取值为1~20;
第五步:令n=n+1,重复第一步至第四步的步骤,直至通话结束。
本发明的方法中正切函数的值是根据噪声环境的状态而变化的,当不存在冲击噪声时,当存在冲击噪声时,接近于零。即,当存在冲击噪声时,算法不更新,说明算法具有良好的抗冲激噪声的能力,可以获得较小的稳态误差;当不存在冲激噪声时,更新公式中项接近e(n),算法类似于NLMS。因此算法可以得到很快的收敛速度和具有很好的抗冲击噪声的能力。当系统为稀疏系统时,本发明中零吸引项可以很好的区分系统中非零元素,即,当元素为零时,零吸引项为零;当元素为非零元素时,零吸引项很大,加快收敛速度。利用本发明,既可以调和快收敛速度和低稳态误差之间的矛盾,又可以抗冲击噪声。
附图说明
图1是利用本发明实施例进行仿真实验的信道图;
图2是文献1(MCC)中的方法和本发明实施例方法在真实语音信号为输入信号时,仿真实验的归一化稳态失调曲线。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。
本实施例包括以下步骤:
第一步:获取信号
将远端传来的语音信号采样得到当前时刻n的远端信号离散值x(n);同时,对近端麦克风收集到的回声信号采样得到当前时刻n的期望信号d(n)。
第二步:计算自适应滤波器的输出y(n)
将远端信号离散值x(n)在当前时刻n到时刻n-L+1的值构成当前时刻n的自适应滤波器输入向量x(n),x(n)=[x(n),x(n-1)...,x(n-L+1)]T,其中,L表示自适应滤波器抽头数,L=512或1024,上标T代表转置;
计算当前时刻n的自适应滤波器的输出信号y(n),y(n)=WT(n)x(n),其中,W(n)为当前时刻n的自适应滤波器的抽头权向量,其长度等于L,初始值为零向量即W(1)=0;
第三步:回声抵消
将当前时刻n的期望信号d(n)减去当前时刻n的自适应滤波器的输出信号y(n),得到当前时刻n的误差信号e(n)作为当前时刻n消除回声后的近端信号再传送给远端,即e(n)=d(n)-y(n);
第四步:权系数向量的更新
(1)根据当前时刻n的误差信号e(n),算出当前时刻n去冲激干扰的误差信号
其中arctan(·)表示反正切运算;的初始值为零,即
(2)更新得到下一个时刻n+1的抽头权向量W(n+1),
其中,μ为步长参数,取值为0.5;sgn[·]表示取符号运算;ρ为零吸引因子,取值为0.000004;ε为正参数,取值为1~20;
第五步:令n=n+1,重复第一步至第四步的步骤,直至通话结束。
为了验证本发明的有效性,对本实施例中的方法进行了仿真实验,并与现有的文献1的方法进行了对比。
仿真实验的回声信道脉冲响应在长6.25m,宽3.75m,高2.5m,温度20℃,湿度50%的安静密闭房间内获得,脉冲响应长度即滤波器的抽头数L=512。背景噪声是30dB信噪比的零均值高斯白噪声。采样频率为8KHz。
按照以上实验条件,用本发明方法与现有的文献一方法进行回声消除实验。各种方法的实验最优参数取值如表1。
表1各方法的实验最优参数取值
其中,附图1是实验用的安静密闭房间构成的通信系统的信道图;附图2是文献一(MCC)的方法和本发明方法,在真实语音信号为输入信号时,仿真实验得到的归一化稳态失调曲线。
从图2可以看出:本发明在约15000个采样时刻收敛,稳态误差约在-18dB;而文献1则也是在约15000个采样时刻收敛,但稳态误差约在-12dB;所以本发明的稳态误差比文献1的稳态误差减小了-6dB。
本领域的技术人员可以对本发明进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也仍在本发明专利的保护范围之内。
说明书中未详细描述的内容为本领域技术人员公知的现有技术。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种音频修复方法、装置、设备及介质