一种回声消除系统及回音消除方法与流程

文档序号:18945553发布日期:2019-10-23 01:33阅读:1987来源:国知局
一种回声消除系统及回音消除方法与流程

本发明涉及通信技术领域,具体涉及一种回声消除系统及回音消除方法。



背景技术:

回声消除器通常由滤波器和算法组成,根据具体应用和性能要求的不同可以有多种选择。

滤波器有fir(有限长度冲激晌应)滤波器和iir(无限长度冲激响应)滤波器两种,在系数个数相同的条件下,iir滤波器比fir滤波器可以获得更好收敛性,但是iir滤波器存在稳定性问题,因此实际中一般选用fir滤波器。

回声消除的基本原理是用一个自适应滤波器模拟回声路径,通过调整自适应滤波器预测的回声路径,仗其冲激响应与实际回声路径相逼近,从而得到回声预测信号,再将预测信号从话筒〈近端)采样的语音信号中减去.即可实现回声消除。

由于回声是一个连续变量,所以根据上一次误差调整系数来对下一次回声估计的方法,可以有效地达到尽量使得估计值接近实际回声值的效果。

虽然许多自适应算法理论上用于实现回声抵消都是可行的,但在大多数情况下,简单、稳健的算法比复杂的算法更可取。

因此,如何减少算法的计算复杂度,尽可能地降低算法计算量,是本领域技术人员一直需要考虑解决的问题。



技术实现要素:

为了克服背景技术的不足,本发明提供一种回声消除系统及回音消除方法。

本发明所采用的技术方案:一种回声消除系统,包括

信号采集单元,用于获取当前时刻的近端信号s(i)和远端信号y(i);

直流偏离去除单元,用于去除近端信号s(i)的直流偏量,其去除直流偏量的计算公式为:

其中,γ表示滤波,sdc(i)表示近端输入样本的线性表示;

回声信号估计单元,用于计算估计回声信号回声信号的估算公式为:其中,αk为误差调整系数,k为采样项;

近端输出信号计算单元,用于计算近端输出信号u(i),近端输出信号的计算公式为:

误差量计算单元,用于计算误差量e(i),误差量的计算公式为:r(i)为实际回声;

信号更新单元,用于更新远端信号y(i)和近端输出信号u(i),并归一化近端输出信号u(i);

系数更新单元,用于更新误差调整系数,其计算公式为:其中,ly(i)为y(i)绝对值的长期平均值,β1为步长常数的折中值,m为块长度。

所述直流偏离去除单元为高通滤波器,该高通滤波器为一阶滤波器,频率为3db,频率为160hz。

一种回音消除方法,具体包括如下步骤:

a.获取近端信号s(i)和远端信号y(i),其中i表示当前瞬时;

b.对近端信号s(i)通过高通滤波器以去除任何残余的直流偏移量,其计算公式为:

其中,γ表示滤波,sdc(i)表示近端输入样本的线性表示;

c.通过fir滤波器程序,计算估计回声信号其计算公式为:其中,αk为误差调整系数,k为采样项;

d.计算近端输出信号u(i),其计算公式为:

e.计算误差量e(i),其计算公式为:其中,r(i)为实际回声;

f.更新估算远端信号y(i)和近端输出信号u(i),归一化近端输出信号u(i);

g.更新fir滤波器系数αk,其计算公式为:

其中,ly(i)为y(i)绝对值的长期平均值,β1为步长常数的折中值,m为块长度。

采用高通滤波器对近端信号s(i)进行直流偏量去除,高通滤波器为一阶滤波器,γ为一阶滤波,γ=2^(-3)。

所述块长度取16,即m=16。

所述采样项取128,即k=128。

步骤e中,采用闭环系数自适应算法来最小化回波与其复制品之间的平均或均方误差e(i)。

当近端没有说话,s(i)近似为r(i)时,才进行fir滤波器系数αk的更新。

本发明的有益效果是:上述方案的基本思路在于滤波器的每一个系数经过m个输入样点才更新一次,而每输入一个样点时更新全部系数的1/m,从而大大减少了算法的计算复杂度,降低算法计算量,达到收敛速度快、稳定性好和失调误差小的效果。

附图说明

图1为本发明实施例回声消除系统连接框图。

图2为本发明实施例回声消除方法流程框图。

具体实施方式

如图1所示,一种回声消除系统,包括信号采集单元、直流偏离去除单元、回声信号估计单元、近端输出信号计算单元、误差量计算单元、信号更新单元、系数更新单元。

所述信号采集单元用于采集获取近端信号s(i)和远端信号y(i)。

所述直流偏离去除单元为高通滤波器,该高通滤波器为一阶滤波器,频率为3db,频率为160hz,与信号采集单元连接,用于去除近端信号s(i)的直流偏量,其去除直流偏量的计算公式为:

其中,γ表示一阶滤波,γ=2^(-3),sdc(i)表示近端输入样本的线性表示,

所述回声信号估计单元用于计算估计回声信号回声信号的估算公式为:其中,αk为误差调整系数,k为采样项;

所述近端输出信号计算单元用于计算近端输出信号u(i),近端输出信号的计算公式为:

所述误差量计算单元用于计算误差量e(i),误差量的计算公式为:r(i)为实际回声。

所述信号更新单元用于更新远端信号y(i)和近端输出信号u(i),归一化近端输出信号u(i);

所述系数更新单元用于更新误差调整系数,其计算公式为:其中,ly(i)为y(i)绝对值的长期平均值,β1为步长常数的折中值,m为块长度。

如图2所示,一种回音消除方法,具体包括如下步骤:

a.获取当前的近端信号s(i)和远端信号y(i),其中i表示当前瞬时时刻。

b.对近端信号s(i)通过高通滤波器以去除任何残余的直流偏移量,高通滤波器是一阶滤波器,频率为3db,频率为160hz,具体公式为:

上述公式中,,γ表示一阶滤波,γ=2^(-3),sdc(i)表示近端输入样本的线性表示。

c.通过fir滤波器程序,回声信号进行计算估计,具体公式为:

其中,αk为fir滤波器系数,k为采样项,k的值一般为128。

d.计算近端输出信号u(i),其具体计算公式为:

e.采用闭环系数自适应算法来最小化回波与其复制品之间的平均或均方误差e(i),其具体计算公式为:r(i)为实际回声。

f.更新估算远端信号y(i)和近端输出信号u(i),归一化近端输出信号u(i)。

g.更新fir滤波器系数αk,其具体计算公式为:

其中,ly(i)为y(i)绝对值的长期平均值,β1为步长常数的折中值,m为块长度,m的值一般取16。

通常实际回声r(i)是未知的并且可能随时间缓慢变化,因此需要闭环系数自适应算法来使在特定的情况下才能计算,当近端没有说话时,s(i)近似为r(i)时,fir滤波器系数αk更新。

上述方案的基本思路在于滤波器的每一个系数经过m个输入样点才更新一次,而每输入一个样点时更新全部系数的1/m,从而大大减少了算法的计算复杂度,降低算法计算量,达到收敛速度快、稳定性好和失调误差小的效果。

各位技术人员须知:虽然本发明已按照上述具体实施方式做了描述,但是本发明的发明思想并不仅限于此发明,任何运用本发明思想的改装,都将纳入本专利专利权保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1