HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种变步长助听器自适应回声消除装置及回声消除方法与流程

2021-01-28 15:01:46|283|起点商标网
一种变步长助听器自适应回声消除装置及回声消除方法与流程

本发明涉及一种变步长助听器自适应回声消除装置及回声消除方法。



背景技术:

近些年随着工业化的发展以及老龄化的加剧,患有听力损失疾病的人数在不断持续增加,选配助听器来改善听力损失是最常用且快捷的一种辅助手段。但是,助听器的结构和功能特性非常容易放大回声产生啸叫,因此回声消除算法是数字助听器的关键算法之一,其通过估计出回声路径的特征参数,用扬声器的远端信号作为参考估算出回声信号,再根据接收到的近端麦克风信号中去估计回声信号。由于回声路径通常是未知且时变的,尤其是助听器的使用过程中,轻微的佩戴调整就会改变回声路径,所以,自适应滤波器依靠其可以跟踪时变系统的特点,成为了助听器回声消除模块的关键组件。

授权公告号为cn101179294b的专利,公开了一种自适应回声消除器及其回声消除方法,如其第[0011]段背景技术所述“在嵌入式系统中,回声消除器中常用的自适应算法为基于最速下降法的算法群。这种自适应算法的代表为:lms(最小均方误差)算法,其最小化准则为均方根误差。这种自适应算法的计算量小、鲁棒性强、易于实现,在实践中被广泛采用。其缺点为:收敛速度比较慢,并且收敛性能对输入信号的能量变化很敏感。nlms(能量归一化最小均方误差)算法是lms算法的改进算法,它克服了lms算法对输入信号能量敏感的缺点。nlms算法和它的各种改进形式,为目前主要采用的回声消除器中的自适应滤波算法”。

以一种自适应算法lms为例,在滤波器的自适应过程中,由于在实际情况下,尤其是助听器领域,近端信号除了期望信号外,不可避免地存在噪声或者语音信号,等效于加入了大信号的噪声,会极大影响自适应过程的收敛速度,严重时会造成发散,这种情况在助听器回声消除系统中称为双端发声(doubletalk,dt)。采用直接缩小收敛步长参数可以一定程度减缓滤波器自适应过程的失调,然而这会严重降低算法的收敛速度和时变系统跟踪速度,而过小的步长参数又会造成定点系统中的计算困难。

另有一些回声消除算法中会包含双端发声检测模块(dtd):双说话检测即是对当前系统的通话状态进行判定(近端讲话、远端讲话、双端讲话),当判定为双端讲话时,自适应滤波器不进行系数更新,而且,一般的dtd方法都有一个缺点,即不能适应回声消除环境中回声路径不断变化的特性。因此,许多学者对自适应滤波器回声消除方法中现存的问题进行了积极的研究,提出了许多改进方案。主要包括给出变步长函数或对输入端信号进行分析等方法控制自适应滤波器系数更新,以改善回声路径的稳初始收敛速度和稳态误差。然而这些方法一般都存在计算精度要求高、计算复杂度大的问题,在助听器回声消除系统中难以实现,现有技术中,尚未有一种适合助听器的、考虑到功耗和计算复杂度的方法,能很好地解决上述问题。



技术实现要素:

针对上述问题,本发明提供一种变步长助听器自适应回声消除装置及回声消除方法,解决现有技术中存在的自适应滤波器收敛速度慢且算法复杂度过高难以实现的问题;进一步的,解决现有技术中存在的自适应滤波器稳态误差大、双端发声以及相关数据会产生参数失调等问题。

为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:

一种变步长助听器自适应回声消除装置,包括单频音检测器、步长控制器和自适应滤波器:

所述单频音检测器用于对误差信号样本进行频谱能量分析,计算当前助听器系统状态参数,并将参数传递给步长控制器;

所述步长控制器用于根据从单频音检测器获得的系统状态参数和归一化误差均值判断系统所处状态,计算出自适应滤波器时变步长参数,并将其传递给自适应滤波器;

所述自适应滤波器用于对缓存的扬声器远端信号样本进行滤波,计算估计回声信号后输出,并根据步长控制器计算的时变步长参数对自适应滤波器进行迭代更新;

其中,误差信号为近端语音信号减去估计回声信号

归一化误差均值为误差信号相对于远端信号归一化后的长时平均值。

优选,所述单频音检测器包括分帧fft模块和频谱能量分析模块:

所述分帧fft模块用于接收缓存的误差信号,对所述误差信号按照设定的频次进行快速傅里叶变换,计算该段信号的功率谱并传递给频谱能量分析模块;

所述频谱能量分析模块对获得的信号分析信号频谱的最大单频能量、最大单频能量占功率谱总能量比值,将获得的系统状态参数传递给步长控制器。

优选,所述步长控制器包括状态选择模块,所述状态选择模块根据单频音检测器获得的系统状态参数选择系统所处状态,控制调整时变步长参数,将时变步长参数传递给自适应滤波器。

优选,步长控制器根据归一修正系数及单频音检测器获得的最大单频能量和最大单频能量占功率谱总能量比值进行阈值判断,并根据判别结果控制调整时变步长参数,具体为:

1)若最大单频能量占功率谱总能量比值小于设定的阈值,则判定系统为稳态收敛,采用预设的稳态步长参数作为时变步长参数;

2)若最大单频能量占功率谱总能量比值大于设定的阈值,且最大单频能量小于设定的阈值,则判定系统为相关干扰状态,使用归一修正系数修正时变步长参数:

3)若最大单频能量占功率谱总能量比值大于设定的阈值,且最大单频能量大于设定的阈值,且归一修正系数小于设定的阈值,则判定系统为啸叫状态,此时优先处理啸叫,采用固定步长参数加速滤波器迭代:,其中,

4)若最大单频能量占功率谱总能量比值大于设定的阈值,且最大单频能量大于设定的阈值,且归一修正系数大于设定的阈值,则判定系统为双端发声状态,此时将时变步长参数置零停止滤波器的自适应迭代

优选,所述自适应滤波器包括归一化误差信号处理模块、系数更新模块和fir滤波器模块:

所述归一化误差信号处理模块对误差信号相对于扬声器远端信号的欧式范数的平方进行归一化获得归一化误差信号

其中,为对应时延的远端信号向量,为自适应滤波器阶数,为常数;

用凸组合一阶递归过程根据设定的频次对归一化误差信号进行抽点平滑处理,获得归一化平均误差;

所述系数更新模块根据归一化误差信号、归一化平均误差以及步长控制器获得的时变步长参数,对自适应滤波器系数进行迭代更新;

所述fir滤波器模块对远端信号进行滤波处理得到估计回声信号后输出。

上述任意一项所述的一种变步长助听器自适应回声消除装置适用于数字助听器系统。

对应的,一种变步长助听器自适应回声消除方法,包括步骤:

a、根据缓存的远端信号样本,经过自适应fir滤波器滤波得到估计回声信号,其中,为fir滤波器系数,的共轭转置;并将采样得到的近端语音信号减去估计回声信号,得到误差信号

b、对误差信号进行时频变换,计算误差信号的功率谱并分析能量分布特性,获得系统状态参数;

c、根据系统状态参数判断系统所处状态,控制自适应时变步长参数

d、对误差信号相对于扬声器远端信号的欧式范数的平方进行归一化,获得归一化误差均值,用凸组合一阶递归过程对归一化误差信号每帧的最大值进行平滑处理,作为归一化自适应误差的上限阈值;

e、用修正后的时变步长参数、归一化误差对fir滤波器系数进行迭代更新:

优选,所述步骤b具体包括:

b1、在单频音检测器缓存区不断填入误差信号,集满数据后进行一次快速傅里叶变换运算并复位缓存,获得所述信号的频谱,进而计算所述信号的功率谱

,其中,为帧数,为频点,为fft运算;为快速傅里叶变换点数;

b2、根据上述信号的功率谱寻找其最大能量频点,计算最大能量频点同其相邻频点能量和

计算最大单频能量占功率谱总能量比值

其中,为快速傅里叶变换点数;

将所述状态参数传递给步长控制器。

优选,所述步骤c具体包括:

c1、根据单频音检测器获得的最大单频能量占功率谱总能量比值,平滑归一修正系数

其中,为遗忘因子,为小于1的正数;

用于控制修正系数在0到1之间;为设定的阈值;

c2、对最大单频能量、最大单频能量占功率谱总能量比值、归一修正系数进行阈值判断,根据所述三项状态参数的判别结果,调整时变步长参数,具体为:

1)若最大单频能量占功率谱总能量比值小于设定的阈值,则判定系统为稳态收敛,采用预设的稳态步长参数作为时变步长参数;

2)若最大单频能量占功率谱总能量比值大于设定的阈值,且最大单频能量小于设定的阈值,则判定系统为相关干扰状态,使用归一修正系数修正时变步长参数:

3)若最大单频能量占功率谱总能量比值大于设定的阈值,且最大单频能量大于设定的阈值,且归一修正系数小于设定的阈值,则判定系统为啸叫状态,此时优先处理啸叫,采用固定步长参数加速滤波器迭代:,其中,

4)若最大单频能量占功率谱总能量比值大于设定的阈值,且最大单频能量大于设定的阈值,且归一修正系数大于设定的阈值,则判定系统为双端发声状态,此时将时变步长参数置零停止滤波器的自适应迭代:

优选,所述步骤d具体包括:

d1、对当前误差信号相对于扬声器远端信号的欧式范数的平方进行归一化获得归一化误差信号

其中,为常数;

d2、求出每帧的归一化误差信号的绝对值的最大值,并用凸组合一阶递归过程平滑上述数据获得归一化误差信号的归一化误差均值

其中,为遗忘因子;

d3、将归一化误差信号的归一化误差均值作为误差信号的阈值上限。

本发明的有益效果是:

1)本发明以单频音检测器的检测数据为依据,借助于助听器芯片的乘法器、fft等模块,算法实现复杂度低、功耗低,在数字助听器内容易实现,解决现有技术中存在的自适应滤波器收敛速度慢且算法复杂度过高难以实现的问题。

2)本发明根据消除回声后的历史数据频谱能量分布特性,修正迭代步长以减弱单频噪声带来的失调问题、切换自适应滤波器的工作状态以快速抑制啸叫,在自适应滤波器收敛速度和稳态误差中取得较好平衡,可以快速跟踪时变系统以及啸叫抑制。

3)本发明将归一化误差信号的长时平均值作为动态阈值控制滤波器迭代步长不发生骤变,在较高鲁棒性和较快收敛速度的情况下减弱双端对讲的影响,解决现有技术中存在的自适应滤波器稳态误差大、双端发声以及相关数据会产生参数失调等问题。

4)本发明对外界噪声或双端对讲场景下的抗干扰能力强,可以显著防止自适应滤波器迭代发散。当处于噪声单频能量较强的环境时可有效防止失调。

附图说明

图1是本发明一种变步长助听器自适应回声消除装置的结构框图;

图2是本方法和传统方法在存在外界干扰时的收敛性能对比示意图。

具体实施方式

下面结合附图和具体的实施例对本发明技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。

如图1所示,一种变步长助听器自适应回声消除装置,主要包括单频音检测器、步长控制器和自适应滤波器,具体的,各组成部件的主要介绍如下:

所述单频音检测器用于对误差信号样本进行频谱能量分析,计算当前助听器系统状态参数,并将参数传递给步长控制器。

自适应回声消除装置对外部输入信号进行采集获得近端语音信号,其中,误差信号为近端语音信号减去估计回声信号

所述步长控制器用于根据从单频音检测器获得的系统状态参数和归一化误差均值判断系统所处状态,计算出自适应滤波器时变步长参数,并将其传递给自适应滤波器。其中,归一化误差均值为误差信号相对于远端信号归一化后的长时平均值。

所述自适应滤波器用于对缓存的扬声器远端信号样本进行滤波,计算估计回声信号后输出,并根据步长控制器计算的时变步长参数对自适应滤波器进行迭代更新。在本次滤波处理过程中,采用上次更新的时变步长参数进行滤波,而本次更新的时变步长参数用于下次滤波过程,这样可以减少运算,减少助听器的功耗,在数字助听器内更容易实现。

优选的,上述自适应回声消除装置的各组成部件的主要结构和功能介绍如下:

优选,所述单频音检测器包括分帧fft模块和频谱能量分析模块,其中:

所述分帧fft模块用于接收缓存的误差信号,对所述误差信号按照设定的频次进行快速傅里叶变换(fft),计算该段信号的功率谱并传递给频谱能量分析模块;

所述频谱能量分析模块对获得的信号分析信号频谱的最大单频能量、最大单频能量占功率谱总能量比值,将获得的系统状态参数传递给步长控制器。

优选,所述步长控制器包括状态选择模块,所述状态选择模块根据单频音检测器获得的系统状态参数选择系统所处状态,控制调整时变步长参数,将时变步长参数传递给自适应滤波器。

比如,步长控制器根据归一修正系数及单频音检测器获得的最大单频能量和最大单频能量占功率谱总能量比值进行阈值判断,并根据判别结果控制调整时变步长参数,具体为:

1)若最大单频能量占功率谱总能量比值小于设定的阈值,则判定系统为稳态收敛,采用预设的稳态步长参数作为时变步长参数,一般的,取值可以为0.05;

2)若最大单频能量占功率谱总能量比值大于设定的阈值,且最大单频能量小于设定的阈值,则判定系统为相关干扰状态,使用归一修正系数修正时变步长参数:

3)若最大单频能量占功率谱总能量比值大于设定的阈值,且最大单频能量大于设定的阈值,且归一修正系数小于设定的阈值,则判定系统为啸叫状态,此时优先处理啸叫,采用较大固定步长参数加速滤波器迭代:,其中,

4)若最大单频能量占功率谱总能量比值大于设定的阈值,且最大单频能量大于设定的阈值,且归一修正系数大于设定的阈值,则判定系统为双端发声状态,此时将时变步长参数置零停止滤波器的自适应迭代:

其中,设定的阈值均为常数,可由具体系统状态调节获得。

优选,所述自适应滤波器包括归一化误差信号处理模块、系数更新模块和fir滤波器模块,其中:

所述归一化误差信号处理模块对误差信号相对于扬声器远端信号的欧式范数的平方进行归一化获得归一化误差信号

其中,为对应时延的远端信号向量,d为自适应滤波器阶数,为一个很小的常数,用于防止分母过小导致发散。

用凸组合一阶递归过程根据设定的频次对归一化误差信号进行抽点平滑处理,获得归一化平均误差。

所述系数更新模块根据归一化误差信号、归一化平均误差以及步长控制器获得的时变步长参数,对自适应滤波器系数进行迭代更新。

所述fir滤波器模块对远端信号进行滤波处理得到估计回声信号后输出。

对应的,上述任意一项所述的一种变步长助听器自适应回声消除装置适用于数字助听器系统。数字助听器自动收集所处的环境的声信号种类、信噪比、前后麦克风强度差等情况,定义不同的环境,自动调节降噪、方向、压缩比等特性,以适应不断变化的环境。避免了模拟机用户“小声听不到、大声难受”的现象。一般的,数字助听器系统主要包括回声消除装置、传声器(或麦克风)、放大器、受话器(或耳机)、电池、各种音量或音调控制旋钮等电声学器件及外壳,其中,回声消除装置即可采用上述任意一项所述的变步长助听器自适应回声消除装置。

对应的,一种变步长助听器自适应回声消除方法,包括步骤:

a、根据缓存的远端信号样本,经过自适应fir滤波器滤波得到估计回声信号,其中,为fir滤波器系数,的共轭转置;并将采样得到的近端语音信号减去估计回声信号,得到误差信号

b、对误差信号进行时频变换,计算误差信号的功率谱并分析能量分布特性,获得系统状态参数,优选,所述步骤b具体包括:

b1、在单频音检测器缓存区不断填入误差信号,集满数据后进行一次快速傅里叶变换运算并复位缓存,获得所述信号的频谱,进而计算所述信号的功率谱

,其中,为帧数,为频点,为fft运算;为快速傅里叶变换点数;

b2、根据上述信号的功率谱寻找其最大能量频点,计算最大能量频点同其相邻频点能量和

计算最大单频能量占功率谱总能量比值

其中,为快速傅里叶变换点数;

将所述状态参数传递给步长控制器。

c、根据系统状态参数判断系统所处状态,控制自适应时变步长参数。优选,所述步骤c具体包括:

c1、根据单频音检测器获得的最大单频能量占功率谱总能量比值,平滑归一修正系数

其中,为遗忘因子,为小于1的正数;

用于控制修正系数在0到1之间;为设定的阈值,一般取值为0.5。

c2、对最大单频能量、最大单频能量占功率谱总能量比值、归一修正系数进行阈值判断,根据所述三项状态参数的判别结果,调整时变步长参数,优选步骤c2具体为:

1)若最大单频能量占功率谱总能量比值小于设定的阈值,则判定系统为稳态收敛,采用预设的稳态步长参数作为时变步长参数;

2)若最大单频能量占功率谱总能量比值大于设定的阈值,,且最大单频能量小于设定的阈值,则判定系统为相关干扰状态,使用归一修正系数修正时变步长参数:

3)若最大单频能量占功率谱总能量比值大于设定的阈值,且最大单频能量大于设定的阈值,且归一修正系数小于设定的阈值,则判定系统为啸叫状态,此时优先处理啸叫,采用固定步长参数加速滤波器迭代:,其中,

4)若最大单频能量占功率谱总能量比值大于设定的阈值,且最大单频能量大于设定的阈值,且归一修正系数大于设定的阈值,则判定系统为双端发声状态,此时将时变步长参数置零停止滤波器的自适应迭代:

d、对误差信号相对于扬声器远端信号的欧式范数的平方进行归一化,获得归一化误差均值,用凸组合一阶递归过程对归一化误差信号每帧的最大值进行平滑处理,作为归一化自适应误差的上限阈值。

优选,所述步骤d具体包括:

d1、对当前误差信号相对于扬声器远端信号的欧式范数的平方进行归一化获得归一化误差信号

其中,为一个很小的常数,用于防止分母过小导致发散。

d2、求出每帧的归一化误差信号的绝对值的最大值,并用凸组合一阶递归过程平滑上述数据获得归一化误差信号的归一化误差均值

其中,为遗忘因子,取值一般较小:优选,取值较大,优选

d3、将归一化误差信号的归一化误差均值作为误差信号的阈值上限,防止双端发声等干扰情况造成的误差信号骤变:

e、用修正后的时变步长参数、归一化误差对fir滤波器系数进行迭代更新:

下面结合南京天悦电子科技有限公司的ha320d数字助听器芯片来实施本发明和现有技术,其中,ha320d数字助听器系统采样率为16khz,量化比特数为16bit;需要在啸叫临界状态下根据系统的量化、视各项参数条件测量得出;取值为0.05,取值为0.1;取值为0.001,取值为0.5;取值为0.001。

如图2所示,在真实助听器闭环环境下,本发明的变步长助听器自适应回声消除装置及回声消除方法,显著优点在于:

1)对外界噪声或双端对讲场景下的抗干扰能力强,可以显著防止自适应滤波器迭代发散;

2)处于噪声单频能量较强的环境时可有效防止失调;

3)在自适应滤波器收敛速度和稳态误差中取得较好平衡,可以快速跟踪时变系统以及啸叫抑制;

4)借助于助听器芯片的乘法器、fft等模块,算法实现复杂度低、功耗低。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或者等效流程变换,或者直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips