一种基于时间反转的声反馈抑制方法

文档序号:7628052阅读:333来源:国知局

专利名称::一种基于时间反转的声反馈抑制方法
技术领域
:本发明涉及声反馈抑制领域,特别涉及一种基于时间反转的声反馈抑制方法。
背景技术
:在助听器或公共扩音系统中,扬声器发出的声音会反馈到麦克风,被麦克风拾取后再次通过扬声器播放出去,这就形成了一个回路。如果满足一定的条件,系统就会产生嘯口4。嘯叫的产生限制了系统增益的进一步提高,因而必须采取一定的措施来抑制声反馈。声反馈抑制在有的文献也被称为“嘯叫抑制”、“声反馈控制”或“反馈消除”。如图I所示,图I为声反馈产生原理框图。s(n)表示近端信号,这是需要放大的目标信号;x(n)表示从扬声器发出的声音经过反馈路径模块102反馈到麦克风,被麦克风拾取到的反馈信号;X(ri)不是期望接收的信号,需要在输出之前把它消除掉。前向处理路径模块104包括反馈抑制和增益调节等功能。输入s(n)到输出u(n)之间的传递函数为G(z)/(l-G(z)F(z)),如果同时满足(a)G(z)F(z)|彡I;(b)ZG(z)F(z)=2Jin,nGN,则该系统将变得不稳定,在满足条件的频率点上就会发生嘯叫。声反馈抑制已经成为一个重要的研究领域,目前主要有三种解决方法第一种方法是移频法,这种方法通过破坏嘯叫发生的相位条件来达到嘯叫抑制的目的。这种方法的优点是计算复杂度低,实现简单,主要的系统开销在于解析信号的计算和分数延迟滤波器的实现。然而,它的缺点也是明显的,已有的移频法大概只能提供6dB的最大稳定增益(MSG,maximumstablegain),而且移频法是在前向处理路径实现,这会导致语音质量的下降。另外,据报道在多通道系统中该算法的稳定性会随着通道数目的增加而下降。第二种方法是陷波器法,这种方法首先寻找可能发生反馈的频率点,然后将信号中这些过强的频率成分裳减掉来达到反馈抑制的目的。在实际系统中,有可能存在多个嘯叫点,为了保证系统稳定需要配置多个陷波器,这不可避免的会导致语音质量的下降,实际中陷波器法只能提供5dBSdB的MSG。嘯叫频率点的检测也比较困难,通常需要调节很多参数,而已有的文献中很少有调节这些参数的指导性意见。第三种方法是自适应滤波器法,其工作原理是用滤波器来模拟声音通过扬声器发出,再从麦克风进来,这个传播通道的传输特性,使得从滤波器出来的信号和实际上从扬声器发出反馈到麦克风的信号一致,然后再从麦克风的输入信号中把该部分信号减掉,达到消除反馈的目的。自适应滤波器法分为不连续反馈抑制和连续反馈抑制两种。不连续反馈抑制的主要缺点是这种方法需要中断正常输入语音信号,这在助听器中可能是允许的,而在公共扩音系统中这样的做法往往不被接受。连续反馈抑制能够不断地更新滤波器系数,由于近端语音和扬声器的输出信号具有相关性,这导致其滤波器系数的估计是有偏的。反馈抑制一般使用NLMS算法,这主要是由于该算法的鲁棒性和易实现性。自适应算法的步长选择至关重要,对于语音信号一般取UG。由于系统总是处在所谓的双端对讲状态,自适应滤波器的收敛速度比较慢,在反馈路径变化时,由于滤波器系数需要重新收敛会导致短暂的嘯叫出现。综上所述,自适应滤波算法由于其良好性能逐渐成为声反馈抑制的主流算法,由于声反馈系统的输入信号是语音,语音信号不仅具有短时相关性还具有长时相关性,这就导致自适应滤波器的系数估计是有偏的,不能收敛到真实值。因此,如何有效地去除信号的相关性是研究的热点问题。已有的去相关性算法包括在闭环中对扬声器输出信号和麦克风接收到的近端信号去相关和在自适应滤波器端进行去相关两种。目前提出的在闭环中对扬声器输出信号和麦克风接收到的近端信号去相关的算法包括在前向路径信号中注入噪声,采用时变的全通滤波器和非线性处理等,如欧洲专利EP0415677和中国专利200580004573.0都采用了这样的方法。注入噪声的方法可能可以被听力损伤很严重的助听器的用户接受,但一般不能被公共扩音系统的用户接受;采用时变的全通滤波器,非线性处理等方法必须在语音质量和解相关的程度之间权衡。
发明内容本发明的目的在于,为解决上述问题,提出一种基于时间反转的声反馈抑制方法,该方法在保证语音质量的同时加快自适应滤波器的收敛速度。为实现上述发明目的,本发明提出一种基于时间反转的声反馈抑制方法,该方法的具体步骤包括步骤I):利用扬声器输出信号作为参考信号,使用自适应滤波算法估计出反馈信号(《);步骤2):利用麦克风采集的信号y(n)减去所述的步骤I)获得的反馈信号我《)得到误差信号e(n);同时,更新自适应滤波器的系数;步骤3):对所述的步骤2)获得的误差信号e(n)进行增益调节后获得信号r(n),并对信号r(n)进行分帧处理;步骤4):对所述的步骤3)获得的每一帧信号计算幅度平均值,把每一帧信号的幅度平均值与阈值e比较,如果当前帧信号的幅度平均值小于阈值e,对该帧信号进行时间反转处理后作为对应巾贞的扬声器输出信号;如果当前帧信号的幅度平均值大于等于阈值e,该帧信号直接作为对应帧的扬声器输出信号;其中,所述的时间反转处理是将分帧后的每一帧的原序列的最后一个数据变为扬声器输出信号中对应帧的结果序列的第一个数据,每一帧的原序列的倒数第二个数据成为扬声器输出信号中对应帧的结果序列的第二个数据,依此类推,每一帧的原序列的第一个数据成为扬声器输出信号中对应帧的结果序列的最后一个数据。所述的每一帧信号的幅度平均值的计算按照式(I)获得;k(i)=丄Z|r(/I+/)|(I)Li=o式⑴中,L表示帧长,i表示当前帧数。所述的步骤I)中自适应滤波算法采用NLMS算法、AP算法或RLS算法。所述的步骤3)按照式(2)进行增益调节获得信号r(n);r(n)=G0e(n)(2)。本发明的优点在于,与现有技术相比,米取有选择性的对扬声器输出信号进行时间反转,减小了扬声器输出信号和麦克风接收到的近端信号的相关性,加快了自适应滤波器的收敛速度,使得自适应滤波器系数的估计是近似无偏的,而且改善了稳态失调性能,有助于快速的跟踪反馈路径的变化。图I为声反馈产生原理框图;图2为本发明的基于时间反转的声反馈抑制系统框图;图3为选择性的时间反转模块208工作过程图;图4为时间反转示意图;图5为在MSG=OdB情况下的不同算法的归一化失调图;图6为在MSG=6dB情况下的不同算法的归一化失调图;图7为在MSG=12dB情况下的不同算法的归一化失调图;图8为在MSG=OdB且反馈路径在第20秒时突然变化情况下的不同算法的归一化失调图;图9为在MSG=6dB且反馈路径在第20秒时突然变化情况下的不同算法的归一化失调图;图10为在MSG=12dB且反馈路径在第20秒时突然变化情况下的不同算法的归一化失调图。具体实施例方式下面结合附图和具体实施例对本发明进行详细的说明。一种基于时间反转技术的声反馈抑制方法,具体步骤包括步骤I)利用扬声器输出信号作为参考信号,使用自适应滤波技术估计出反馈信号;步骤2)从麦克风接收信号中减去估计出来的反馈信号得到误差信号并更新自适应滤波器系数;步骤3)对误差信号进行增益调节;步骤4)计算步骤3)输出的当前帧信号幅度平均值,如果该值小于某个阈值,就对步骤3)的输出信号进行时间反转操作后作为当前帧的扬声器输出信号,否则就把步骤3)的输出信号直接作为当前帧的扬声器输出信号。在上述技术方案中,进一步地,步骤I)中所述自适应滤波技术一般采用NLMS算法,这主要是由于NLMS算法具有计算量小,实现简单,鲁棒性好等特点。采用其他自适应滤波技术也是可行的,如AP算法,RLS算法等。在上述技术方案中,进一步地,步骤I)用来估计反馈信号。在上述技术方案中,进一步地,步骤2)用来计算误差信号,消除反馈。在上述技术方案中,进一步地,步骤2)用来更新滤波器的系数。在上述技术方案中,进一步地,步骤4)中所述是对信号进行分帧处理,每一帧计算一次扬声器输出信号的幅度平均值。在上述技术方案中,进一步地,步骤4)所述的时间反转是指将原序列的最后一个数据放在结果序列的第一个,将原序列的倒数第二个数据放在结果序列的第二个,依次类推,将原序列的第一个数据放在结果序列的最后一个。在上述技术方案中,进一步地,步骤4)根据当前帧扬声器输出信号的幅度平均值的量级决定是否对当前帧扬声器输出信号进行时间反转,只有当该帧信号的能量比较小时才进行时间反转操作,这样最大程度的保证了语音质量。如图2所示,图2为本发明的基于时间反转的声反馈抑制系统框图。其中,s(n)表不近端信号,x(n)表不反馈信号,y(n)表不麦克风米集到的信号,u(n)表不扬声器输出的信号,其中,系统框图中还包括外部反馈路径模块102。步骤I)利用扬声器输出信号作为参考信号,使用自适应滤波技术估计出反馈信号。反馈抑制算法使用自适应滤波器来模拟真实的反馈路径,反馈路径的真实传递函数为F(Z),自适应滤波器的传递函数为w(Z),滤波器阶数为M,参考信号为扬声输出信号,这里我们以NLMS算法为例来进行说明。自适应滤波模块202用来完成的第一个功能是反馈信号的估计,自适应滤波器估计出来的反馈信号为,M-Ix{n)-^w(m)u(n-m)(I)。w=0步骤2)从麦克风接收信号中减去估计出来的反馈信号得到误差信号。反馈抵消模块204用来完成反馈信号的抵消,误差信号计算方法为,e(n)=y(n)-x(n)(2)。如果自适应滤波器w(z)已经足够精确地逼近反馈路径的真实传递函数F(Z),则=x(),从而误差信号e(n)=s(n),这时完全抵消掉了反馈信号而只保留了近端信号。事实上由于s(n)和u(n)具有相关性,使得自适应滤波器的系数估计是有偏的,不能收敛到真实值,因而本发明通过引入步骤(5)来进行解相关处理。步骤3)更新自适应滤波器系数。自适应滤波模块202的另外一个功能是完成滤波器系数的更新,使用NLMS算法来进行滤波器系数更新,表示为w(m)=w(m)H----e{n)u(n-m)m=0,1,...,M-I(3)PxM其中,P表示参考信号能量,建议使用如下方法得到,P=aP+(l-a)[u(n)]2(4)上式中a是平滑因子,满足a=1-1/(kXM),I彡K彡10。步骤4)对误差信号进行增益调节。增益调节模块206包括语音增强,自动增益控制,响度补偿等,本发明不涉及这些处理模块,因而这里把它看做一个简单的增益调节模块,即G(Z)=Gtl,那么增益调节模块206的输入输出关系为r(n)=G0e(n)(5)步骤5)计算步骤4)输出的当前帧信号幅度平均值,如果该值小于某个阈值就对步骤4)的输出信号进行时间反转操作后作为当前帧的扬声器输出信号,否则就把步骤4)的输出信号直接作为当前帧的扬声器输出信号。该部分功能由选择性的时间反转模块208来完成,如图3所示,图3为选择性的时间反转模块208工作过程图。步骤4)输出第i帧信号记为R(i)=[r(iL)r(iL+1)…r(iL+L_l)]T(6)这里L是帧长。幅度检测单元306计算该帧信号幅度的平均值,计算方法为II=L-Ik{i)=—Z\r(iL+/)|(7)L1=0定义该帧信号R(i)的时间反转序列为R(i)=[r(iL+L-l)r(iL+L-Iy--(8)如图4所示,图4为时间反转示意图。即将原序列的最后一个数据放在结果序列的第一个,将原序列的倒数第二个数据放在结果序列的第二个,依次类推,将原序列的第一个数据放在结果序列的最后一个,时间反转单元308用来完成这样的功能。如果对所有信号都进行时间反转,将会严重的影响语音质量,为了最大程度上减小时间反转引起的语音失真,本发明采取的方法是选择性的对扬声器输出信号进行时间反转而不是对所有扬声器输出信号做时间反转。具体的说,本发明首先计算当前帧扬声器输出信号幅度的平均值,如果该值小于某个阈值e就对步骤(4)的输出信号进行时间反转操作后作为扬声器当前帧输出信号,否则就把步骤(4)的输出信号直接作为扬声器当前帧输出信号,即[R(i)k(i)>8/、¢/(0=-.,.(9)[R(i)k(i)<8式(9)中U⑴定义为经过选择性时间反转操作之后的扬声器输出信号,即U⑴=[u(iL)u(iL+1)…u(iL+L_l)]T(10)。本发明使用归一化失调(NormalizedMisalignment)来衡量自适应滤波器的收敛性能,定义为归一化失调=101og1Q(11)_IkIl_图5图10给出了采用了本发明的技术后自适应滤波器的收敛情况和跟踪性能。如图5所示,图5为在MSG=OdB情况下的不同算法的归一化失调图。如图6所示,图6为在MSG=6dB情况下的不同算法的归一化失调图。如图7所示,图7为在MSG=12dB情况下的不同算法的归一化失调图。在图5、图6和图7中,a是在没有进行解相关处理的归一化失调曲线;b是在利用时间反转进行解相关处理的归一化失调曲线,此时e=0.008;c是在利用时间反转进行解相关处理的归一化失调曲线,此时e=0.03。如图8所示,图8为在MSG=OdB且反馈路径在第20秒时突然变化情况下的不同算法的归一化失调图。如图9所示,图9为在MSG=6dB且反馈路径在第20秒时突然变化情况下的不同算法的归一化失调图。如图10所示,图10为在MSG=12dB且反馈路径在第20秒时突然变化情况下的不同算法的归一化失调图。在图8、图9和图10中,a是在没有进行解相关处理的归一化失调曲线;b是在利用时间反转进行解相关处理的归一化失调曲线,此时e=0.008;c是在利用时间反转进行解相关处理的归一化失调曲线,此时e=0.03。通过分析图5、图6、图7、图8、图9和图10可以得出以下结论首先,采用本发明技术后,自适应滤波器的收敛速度加快;其次,采用本发明技术后,自适应滤波器的稳态失调减小;最后,采用本发明技术后,自适应滤波器的跟踪性能提升。以上充分的表明本发明提供了一种有效的解相关技术,可以很好的去除扬声器输出信号和麦克风接收到的近端信号之间的相关性,使得自适应滤波器系数更接近真实值。应该指出的是,本发明所描述的声反馈抑制方法可以用多种方式实现,例如硬件、软件或者是硬件和软件的组合。硬件平台可以是FPGA、PLD或其他专用集成电路ASIC。软件平台包括DSP、ARM或其他微处理器。软件和硬件的组合例如部分模块用DSP软件来实现,部分模块用硬件加速器来实现。最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。权利要求1.一种基于时间反转的声反馈抑制方法,该方法的具体步骤包括步骤I):利用扬声器输出信号作为参考信号,使用自适应滤波算法估计出反馈信号x{n);步骤2):利用麦克风采集的信号y(n)减去所述的步骤I)获得的反馈信号我《)得到误差信号e(n);同时,更新自适应滤波器的系数;步骤3):对所述的步骤2)获得的误差信号e(n)进行增益调节后获得信号r(n),并对信号r(n)进行分帧处理;步骤4):对所述的步骤3)获得的每一帧信号计算幅度平均值,把每一帧信号的幅度平均值与阈值e比较,如果当前帧信号的幅度平均值小于阈值e,对该帧信号进行时间反转处理后作为对应中贞的扬声器输出信号;其中,所述的时间反转处理是将分巾贞后的每一巾贞的原序列的最后一个数据变为扬声器输出信号中对应帧的结果序列的第一个数据,每一帧的原序列的倒数第二个数据成为扬声器输出信号中对应帧的结果序列的第二个数据,依此类推,每一帧的原序列的第一个数据成为扬声器输出信号中对应帧的结果序列的最后一个数据;如果当前帧信号的幅度平均值大于等于阈值e,该帧信号直接作为对应帧的扬声器输出信号。2.根据权利要求I所述的基于时间反转的声反馈抑制方法,其特征在于,所述的每一帧信号的幅度平均值的计算按照式(I)获得;3.根据权利要求I所述的基于时间反转的声反馈抑制方法,其特征在于,所述的步骤I)中自适应滤波算法采用NLMS算法、AP算法或RLS算法。4.根据权利要求I所述的基于时间反转的声反馈抑制方法,其特征在于,所述的步骤3)按照式(2)进行增益调节获得信号r(n);r(n)=G0e(n)(2)。全文摘要本发明涉及一种基于时间反转的声反馈抑制方法,该方法包括利用扬声器输出信号作为参考信号,使用自适应滤波算法估计出反馈信号利用麦克风采集的信号y(n)减去反馈信号得到误差信号e(n);同时,更新自适应滤波器的系数;对误差信号e(n)进行增益调节后获得信号r(n),并对信号r(n)进行分帧处理;对每一帧信号计算幅度平均值,把每一帧信号的幅度平均值与阈值ε比较,如果当前帧信号的幅度平均值小于阈值ε,对该帧信号进行时间反转处理后作为对应帧的扬声器输出信号;如果当前帧信号的幅度平均值大于等于阈值ε,该帧信号直接作为对应帧的扬声器输出信号。该方法减小了扬声器输出信号和麦克风接收到的近端信号之间的相关性,加快了自适应滤波器的收敛速度并减小了稳态失调。文档编号H04R3/02GK102740189SQ20111008144公开日2012年10月17日申请日期2011年4月1日优先权日2011年4月1日发明者杨军,杨飞然申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1