CN113539227B - 一种基于FxLMS的控制器长度自适应调节方法及系统 - Google Patents
一种基于FxLMS的控制器长度自适应调节方法及系统 Download PDFInfo
- Publication number
- CN113539227B CN113539227B CN202110656383.8A CN202110656383A CN113539227B CN 113539227 B CN113539227 B CN 113539227B CN 202110656383 A CN202110656383 A CN 202110656383A CN 113539227 B CN113539227 B CN 113539227B
- Authority
- CN
- China
- Prior art keywords
- controller
- frame
- length
- current frame
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10K—SOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
- G10K11/00—Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
- G10K11/16—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
- G10K11/175—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound
- G10K11/178—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase
- G10K11/1785—Methods, e.g. algorithms; Devices
- G10K11/17853—Methods, e.g. algorithms; Devices of the filter
- G10K11/17854—Methods, e.g. algorithms; Devices of the filter the filter being an adaptive filter
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10K—SOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
- G10K11/00—Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
- G10K11/16—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
- G10K11/175—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound
- G10K11/178—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase
- G10K11/1785—Methods, e.g. algorithms; Devices
- G10K11/17855—Methods, e.g. algorithms; Devices for improving speed or power requirements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Soundproofing, Sound Blocking, And Sound Damping (AREA)
Abstract
本发明公开了一种基于FxLMS的控制器长度自适应调节方法及系统,获取参考信号和残差信号;得到次级扬声器与控制点的声传播路径;初始化控制器权重系数;同时记录参考信号和残差信号;计算当前帧更新所需要的参考信号的滤波信号;利用滤波信号和残差信号更新控制器当前帧系数;利用更新后的控制器权重系数计算次级扬声器输出;直到控制器迭代次数达到限制迭代次数;通过计算贡献率判断控制器长度是否收敛;根据收敛情况,控制器总长度和权重系数进行相应改变,确定新的当前帧开始重新迭代更新;实现自适应调节控制器长度。本发明减小了控制器更新时的计算量,且使得在不同噪声环境中,始终可以让控制器在控制效果最好的前提下,达到控制器最短的效果。
Description
技术领域
本发明属于主动降噪算法技术领域,具体涉及一种基于FxLMS的控制器长度自适应调节方法及系统。
背景技术
目前在主动降噪领域广泛使用FxLMS算法。FxLMS算法是一种前馈控制,对低频噪声具有很好的控制效果。FxLMS降噪算法原理如图1所示,在降噪前,首先需要对扬声器到控制点的传递路径s(z)进行估计,即对次级传递路径进行估计,估计值为然后由参考传声器在噪声源附近采集噪声信号,作为参考信号x(n),将x(n)与控制器W(z)进行卷积,得到输出给扬声器的信号y(n),再由扬声器输出信号,经过次级路径S(z)到达控制点,记作y′(n)。噪声信号x(n)由经过初级路径P(z)到达控制点,记作d(n),d(n)与y′(n)相互抵消,噪声降低,然后由误差传声器在此点处采集误差信号e(n),也称作残差信号。由参考信号x(n)和误差信号e(n)共同决定了控制器W(z)的数值,传统FxLMS算法使用公式(1)(2)进行控制器更新,利用公式(3)达到降噪效果。
W(n)=[w0(n),w1(n),…,wL-1(n)]T (1)
W(n+1)=W(n)-μe(n)X′(n) (2)
e(n)=d(n)+y′(n) (3)
传统FxLMS降噪算法在实际使用中存在以下一些缺陷:
(1)W(z)长度在降噪过程中无法改变。W(z)长度对降噪有很大的影响,一般来说,随着W(z)长度逐渐变长,稳定时的降噪效果先增大,再慢慢保持不变。所以,针对不同的噪声环境,所需要的最佳W(z)长度也是不同的。
(2)随着W(z)长度逐渐变长,其自我更新时计算量也会增加,所需要的时间也越来越长。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于FxLMS的控制器长度自适应调节方法及系统,解决了现有的FxLMS降噪算法中控制器长度无法根据噪声环境自动进行自我长度调节的问题,同时减小计算复杂度和计算所需要的时间。
本发明采用以下技术方案:
一种基于FxLMS的控制器长度自适应调节方法,包括以下步骤:
S1、获取噪声信号作为参考信号X(n);获取控制点声压信号作为残差信号e(n);确定次级扬声器与控制点之间的声音传播路径S(z);然后设置控制器W(z)每一帧的长度为M,控制器总帧数用Kn表示,设置允许的控制器最大帧数为K,初始化控制器的权重系数,设置限制迭代次数为N,贡献率阈值为γ,控制器的步长为μ;
S2、在噪声源开启状态下,当前帧为第一帧,控制器总长度为一帧的长度,即步骤S1中控制器总帧数Kn=1;当前帧的迭代次数为1;
S3、同时记录参考信号X(n)和残差信号e(n);
S4、利用步骤S1得到的声音传播路径S(z)和步骤S3记录的参考信号X(n)计算当前帧更新所需要的噪声信号的滤波信号X′p(n);
S5、根据步骤S3记录的残差信号e(n)和步骤S4中的滤波信号X′p(n),利用滤波器权值系数计算更新控制器当前帧Wi(n+1)系数,同时当前帧更新迭代次数加1;
S6、利用步骤S5更新后的控制器W(z)权重系数计算次级扬声器输出;
S7、重复步骤S3~S6,直到控制器更新迭代次数达到限制迭代次数N;根据每帧权重系数Wi(n)对整个控制器W(n)的贡献率判断控制器长度是否收敛;
S8、根据步骤S7确定的控制器长度是否收敛,控制器总长度Kn和权重系数W(z)进行相应改变,以及确定新的当前帧p开始重新迭代更新,令当前帧迭代次数q=1;实现自适应调节控制器长度。
具体的,步骤S1中,初始化控制器权重系数如下:
W(n)=[W1(n),W2(n),...,WKn(n)]
其中,Kn=1,在初始化时,Wi(n)中的每一个元素都为0。
具体的,步骤S3中,将残差信号e(n)降低到最小值,采取残差信号e(n)的均方统计为目标函数,根据梯度下降法确定每一帧的更新公式,选取瞬时梯度作为目标函数的真实梯度估计,确定分帧后的滤波器权值系数更新公式。
进一步的,步骤S3中,参考信号X(n)为:
X(n)=[X1(n),X2(n),...,XKn(n)]T
其中,Xi(n)为参考信号中的帧,T为向量转置。
具体的,步骤S4中,当前帧更新所需噪声信号的滤波信号X′p(n)具体为:
X′p(n)=S(z)*Xp(n)
其中,Xp(n)为参考信号中当前帧对应的帧。
具体的,步骤S6中,次级扬声器输出具体为:
其中,XT(n)为参考信号转置,W(n)为控制器权重系数,wl(n)为W(n)中某一帧中的某个元素,x(n-l+1)为X(n)中某一帧中的某个元素,L为W(n)的总长,n为当前时刻对应点序号,l为卷积运算过程中使用的序号,x为参考信号中的数据点。
具体的,步骤S8中,若贡献率大于步骤S1中设置的贡献率阈值为γ,如果当前帧不是控制器长度的最后一帧,令新的当前帧为下一帧,控制器总长度不变;如果当前帧是控制器长度的最后一帧,判断当前帧序号p与步骤S1中设置的允许的控制器最大帧数k的关系,如果p<k,控制器总长度增加一帧的长度,增加的这一帧权重系数初始值为1xM的0向量,同时令p=p+1,令新的当前帧为下一帧;如果p=k,令新的当前帧为第一帧,控制器总长度不变。
具体的,步骤S8中,若贡献率小于步骤S1中设置的贡献率阈值为γ;如果当前帧不是控制器长度的最后一帧,删去当前帧之后的各帧权重系数,同时令新的当前帧为第一帧;如果当前帧为控制器最后一帧,则令新的当前帧为第一帧,控制器总长度不变。
本发明的另一技术方案是,
一种基于FxLMS的控制器长度自适应调节系统,包括:
参数模块,获取噪声信号作为参考信号X(n);获取控制点声压信号作为残差信号e(n);得到次级扬声器与控制点之间的声音传播路径S(z);然后设置控制器W(z)每一帧的长度为M,控制器总帧数用Kn表示,设置允许的控制器最大帧数为K,初始化控制器的权重系数,设置限制迭代次数为N,贡献率阈值为γ,控制器的步长为μ;
初始化模块,在噪声源开启状态下,当前帧为第一帧,控制器总长度为一帧的长度,即参数模块中控制器总帧数Kn=1;当前帧的迭代次数为1;
记录模块,同时记录参考信号X(n)和残差信号e(n);
计算模块,利用参数模块得到的声音传播路径S(z)和记录模块记录的参考信号X(n)计算当前帧更新所需要的噪声信号的滤波信号X′p(n);
迭代模块,根据记录模块记录的残差信号e(n)和计算模块中的滤波信号X′p(n),利用滤波器权值系数计算更新控制器当前帧Wi(n+1)系数,同时当前帧更新迭代次数加1;
更新模块,利用迭代模块更新后的控制器W(z)权重系数计算次级扬声器输出;
判断模块,控制器更新迭代次数达到限制迭代次数N;根据每帧权重系数Wi(n)对整个控制器W(n)的贡献率判断控制器长度是否收敛;
自适应模块,根据判断模块确定的控制器长度是否收敛,控制器总长度Kn和权重系数W(z)进行相应改变,以及确定新的当前帧p开始重新迭代更新,令当前帧迭代次数q=1;实现自适应调节控制器长度。
与现有技术相比,本发明至少具有以下有益效果:
本发明一种基于FxLMS的控制器长度自适应调节方法,可以自适应改变控制器W(z)长度,使得在不同的噪声环境下都可以自适应调节到最佳长度,另外本算法在计算量上也小于传统FxLMS算法,节省运算时间和硬件资源。
进一步的,初始化控制器权重系数,实现基础参数设置。
进一步的,将残差信号e(n)降低到最小值,采取残差信号e(n)的均方统计为目标函数,获取参考点信号和控制点信号,作为后续运算需要。
进一步的,确定参考信号X(n),作为后续运算需要。
进一步的,计算滤波后的参考信号,为了控制器W(z)的更新。由于只是更新W(z)一帧的长度,所以这个步骤中,计算滤波后的参考信号时,也只需要计算对应的参考信号中那一帧的长度,因此减小了计算量。
进一步的,输出次级扬声器信号,在控制点处,次级扬声器信号与实际噪声信号相互抵消,达到降噪目的。
进一步的,计算当前帧贡献率,判断控制器长度是否收敛,为接下来的控制器变长度做准备。
进一步的,步骤S8中若贡献率大于步骤S1中设置的贡献率阈值,就代表当前帧数值较大,控制器W(z)还没有完全收敛,如果此时当前帧p与控制器总帧数Kn相等,即p=Kn,且总帧数Kn小于允许的控制器最大帧数K,那么就需要增加控制器一帧的长度,实现了控制器W(z)长度的自适应变长。
进一步的,步骤S8中若贡献率小于步骤S1中设置的贡献率阈值,就代表当前帧数值较小,控制器W(z)已经收敛了,当前帧之后的各帧控制器系数对控制器的控制效果影响不大,如果此时当前帧p小于控制器总帧数Kn,即p<Kn,那么就删除当前帧之后的各帧控制器系数,实现控制器W(z)长度的自适应变短。
综上所述,本发明对控制器W(z)权重系数进行分帧处理,权重系数更新时,采用逐帧更新的方法,减小了在进行控制器更新时的计算量,同时又通过计算不同帧对控制器W(z)的贡献量,可以使控制器自适应的调节控制器的总帧数,即控制器的总长度,使得在不同的噪声环境中,始终可以让控制器在控制效果最好的前提下,达到控制器最短的效果。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为传统FxLMS算法示意图;
图2为本发明方法流程图;
图3为采集的噪声信号验证图;
图4为验证算法过程中所采取的次级路径图;
图5为控制点降噪时的残差信号时域图;
图6为控制点降噪前和降噪后在不同时刻的分贝值图;
图7为在降噪过程中,控制器总长度、控制器当前帧的序号和当前帧的贡献率随时间的变化图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在附图中示出了根据本发明公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
请参阅图2,本发明一种基于FxLMS的控制器长度自适应调节方法,包括以下步骤:
S1、打开噪声源,在声源位置处放置传声器,获取噪声信号,作为参考信号X(n);在控制点位置放置传声器,获取控制点声压信号,作为残差信号e(n);在控制点附近,放置次级扬声器,得到次级扬声器与控制点之间的声音传播路径S(z);然后设置控制器W(z)每一帧的长度为M,控制器总帧数用Kn表示,设置允许的控制器最大帧数为K,初始化控制器权重系数,设置限制迭代次数为N,贡献率阈值为γ,控制器步长为μ;
初始化控制器权重系数如下:
W(n)=[W1(n),W2(n),...,WKn(n)] (4)
其中:
Wi(n)=[w(i-1)M(n) w(i-1)M+1(n) … wiM-1(n)] (5)
其中,初始化时Wi(n)中各元素为0。
S2、在噪声源开启状态下,初始化p=1,即控制器开始更新的帧,即当前帧为第一帧,且此时控制器总长度为一帧的长度,即步骤S1中Kn=1;初始化q=1,即当前帧的迭代次数为1;
S3、同时记录参考信号X(n)和残差信号e(n),n代表当前时刻的数据点序号;
参考信号X(n)记为:
X(n)=[X1(n),X2(n),...,XKn(n)]T (6)
Xi(n)=[x(n-(i-1)M)x(n-(i-1)M-1)...x(n-iM+1)] (7)
其中,x为X(n)中某一帧的某一个元素,代表某一时刻声压值,n为当前时刻的数据点序号,i为X(n)中的第i帧,M为步骤S1中设置的每帧长度,T为向量转置。
将残差信号e(n)降低到最小值,类似于传统FxLMS算法,采取残差信号e(n)的均方统计为目标函数,即:
ξ(n)=E[e2(n)] (8)
根据梯度下降法可知每一帧的更新公式为:
其中:
选取瞬时梯度作为该目标函数的真实梯度的估计,其瞬时梯度为:
即:
则分帧后的滤波器权值系数更新公式为:
其中,Wi(n)为上一时刻第i帧的控制器权重系数,μ为控制器的步长,Xi′(n)为上一时刻第i帧的滤波后的参考信号,p为当前帧,Wi(n+1)为当前时刻第i帧的控制器权重系数。上式表明,当前帧在进行控制器系数更新时,其它帧的系数不变。
S4、根据步骤S3中的滤波器权值系数更新公式(13)可知,更新当前帧系数需要求得X′p(n),利用步骤S1中的S(z)和步骤S3采集的X(n),计算当前帧更新所需要的噪声信号的滤波信号X′p(n):
X′p(n)=S(z)*Xp(n) (8)
S5、根据步骤S3中记录的e(n)和步骤S4中的X′p(n),带入步骤S3中的滤波器权值系数更新公式(13),计算更新的控制器当前帧Wi(n+1)系数,同时当前帧更新迭代次数加1,即q=q+1;
S6、利用步骤S5更新后的控制器W(z)权重系数,根据公式(9)计算次级扬声器输出;
S7、重复步骤S3~S6,直到控制器更新迭代次数达到步骤S1中设定的迭代限定值N,即q=N;为了通过自适应调节控制器长度,引入每帧权重系数Wi(n)对整个控制器W(n)的贡献率,计算方式如下:
此时根据式(10)计算当前帧贡献率。
若贡献率大于在步骤S1中设置的贡献率阈值为γ:即代表控制器长度还未完全收敛。
(1)如果当前帧不是控制器长度的最后一帧,即p<Kn,则p=p+1,即令新的当前帧为下一帧,控制器总长度不变,即Kn不变;
(2)如果当前帧是控制器长度的最后一帧,即p=Kn,需要先判断当前帧p与步骤S1中设定的允许的控制器最大帧数k的关系,具体如下:
(a)如果p<k,即代表现在控制器总长度还没有超过最长控制器长度限制,则增加一帧控制器长度,即控制器总长度Kn=Kn+1,增加的这一帧权重系数初始值为1xM的0向量,同时令p=p+1,令新的当前帧为下一帧;
(b)如果P=k,即代表现在控制器总长度达到了最长控制器长度限制,则令p=1,即令新的当前帧为第一帧,控制器总长度不变,即Kn不变;
若贡献率小于在步骤S1中设置的贡献率阈值为γ:即代表当前帧数值很小,再增加控制器长度对整个系统的影响也比较小。
(1)如果当前帧不是控制器长度的最后一帧,即p<Kn,则删去当前帧之后的各帧权重系数,即控制器总长度变短,即Kn=p,同时令p=1,即令新的当前帧为第一帧;
(2)如果当前帧为控制器最后一帧,即p=Kn,则直接p=1,即令新的当前帧为第一帧,控制器总长度不变,,即Kn不变;
S8、在步骤S7中确定控制器总长度的变化以及新的当前帧的序号,则代表了新的当前帧要开始重新迭代更新了,于是令当前帧迭代次数q=1。
S9、重复步骤S3~S8,直至系统关机。在实际降噪时,不同的噪声环境下,实现最佳降噪效果的W(z)权重系数长度是不同的,当然一般来说降噪效果,即降低的分贝值会随着控制器长度的增加,呈现先增加后不变的趋势。所以目前在传统降噪中,一般都会设置相对比较长的控制器长度。但是控制器长度,设置的越长,会使得降噪时运算量增大,硬件系统资源被大量消耗,甚至运算耗时严重的问题,无法达到主动降噪的目的。
对控制器W(z)权重系数进行分帧处理,权重系数更新时,采用逐帧更新的方法,减小了在进行控制器更新时的计算量,同时又通过计算不同帧对控制器W(z)的贡献量,可以使控制器自适应的调节控制器的总帧数,即控制器的总长度,使得在不同的噪声环境中,始终可以让控制器在控制效果最好的前提下,达到控制器最短的效果。
本发明再一个实施例中,提供一种基于FxLMS的控制器长度自适应调节系统,该系统能够用于实现上述基于FxLMS的控制器长度自适应调节方法,具体的,该基于FxLMS的控制器长度自适应调节系统包括参数模块、初始化模块、记录模块、计算模块、迭代模块、更新模块、判断模块以及自适应模块。
其中,参数模块,打开噪声源,获取噪声信号作为参考信号X(n);获取控制点声压信号作为残差信号e(n);放置次级扬声器,得到次级扬声器与控制点之间的声音传播路径S(z);然后设置控制器W(z)每一帧的长度为M,控制器总帧数用Kn表示,设置允许的控制器最大帧数为K,初始化控制器的权重系数,设置限制迭代次数为N,贡献率阈值为γ,控制器的步长为μ;
初始化模块,在噪声源开启状态下,初始化p=1,当前帧为第一帧,此时控制器总长度为一帧的长度,即步骤S1中Kn=1;初始化q=1,当前帧的迭代次数为1;
记录模块,同时记录参考信号X(n)和残差信号e(n);
计算模块,利用参数得到的S(z)和记录模块记录的参考信号X(n)计算当前帧更新所需要的噪声信号的滤波信号X′p(n);
迭代模块,根据记录模块记录的残差信号e(n)和计算模块中的滤波信号X′p(n),利用滤波器权值系数计算更新控制器当前帧Wi(n+1)系数,同时当前帧更新迭代次数加1;
更新模块,利用迭代模块更新后的控制器W(z)权重系数计算次级扬声器输出;
判断模块,控制器更新迭代次数达到限制迭代次数N;根据每帧权重系数Wi(n)对整个控制器W(n)的贡献率判断控制器长度是否收敛;
自适应模块,根据判断模块确定的控制器长度是否收敛,控制器总长度Kn和权重系数W(z)进行相应改变,以及确定新的当前帧p开始重新迭代更新,令当前帧迭代次数q=1;实现自适应调节控制器长度。
本发明再一个实施例中,提供了一种终端设备,该终端设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor、DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于基于FxLMS的控制器长度自适应调节方法的操作,包括:
获取噪声信号作为参考信号X(n);获取控制点声压信号作为残差信号e(n);确定次级扬声器与控制点之间的声音传播路径S(z);然后设置控制器W(z)每一帧的长度为M,控制器总帧数用Kn表示,设置允许的控制器最大帧数为K,初始化控制器的权重系数,设置限制迭代次数为N,贡献率阈值为γ,控制器的步长为μ;在噪声源开启状态下,当前帧为第一帧,控制器总长度为一帧的长度,即控制器总帧数Kn=1;当前帧的迭代次数为1;同时记录参考信号X(n)和残差信号e(n);利用声音传播路径S(z)和参考信号X(n)计算当前帧更新所需要的噪声信号的滤波信号X′p(n);根据残差信号e(n)和滤波信号X′p(n),利用滤波器权值系数计算更新控制器当前帧Wi(n+1)系数,同时当前帧更新迭代次数加1;利用更新后的控制器W(z)权重系数计算次级扬声器输出;直到控制器更新迭代次数达到限制迭代次数N;根据每帧权重系数Wi(n)对整个控制器W(n)的贡献率判断控制器长度是否收敛;根据控制器长度是否收敛,控制器总长度Kn和权重系数W(z)进行相应改变,以及确定新的当前帧p开始重新迭代更新,令当前帧迭代次数q=1;实现自适应调节控制器长度。
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关基于FxLMS的控制器长度自适应调节方法的相应步骤;计算机可读存储介质中的一条或一条以上指令由处理器加载并执行如下步骤:
获取噪声信号作为参考信号X(n);获取控制点声压信号作为残差信号e(n);确定次级扬声器与控制点之间的声音传播路径S(z);然后设置控制器W(z)每一帧的长度为M,控制器总帧数用Kn表示,设置允许的控制器最大帧数为K,初始化控制器的权重系数,设置限制迭代次数为N,贡献率阈值为γ,控制器的步长为μ;在噪声源开启状态下,当前帧为第一帧,控制器总长度为一帧的长度,即控制器总帧数Kn=1;当前帧的迭代次数为1;同时记录参考信号X(n)和残差信号e(n);利用声音传播路径S(z)和参考信号X(n)计算当前帧更新所需要的噪声信号的滤波信号X′p(n);根据残差信号e(n)和滤波信号X′p(n),利用滤波器权值系数计算更新控制器当前帧Wi(n+1)系数,同时当前帧更新迭代次数加1;利用更新后的控制器W(z)权重系数计算次级扬声器输出;直到控制器更新迭代次数达到限制迭代次数N;根据每帧权重系数Wi(n)对整个控制器W(n)的贡献率判断控制器长度是否收敛;根据控制器长度是否收敛,控制器总长度Kn和权重系数W(z)进行相应改变,以及确定新的当前帧p开始重新迭代更新,令当前帧迭代次数q=1;实现自适应调节控制器长度。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中的描述和所示的本发明实施例的组件可以通过各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
使用实际噪声数据对此发明算法进行验证
利用某型号空气压缩机作为噪声来源,分别在0.6m和2.5m处采集其噪声信号,作为参考信号x1(n)和控制点处的噪声信号d1(n);再将压缩机声源替换为某型号发动机,同样采集x2(n)和d2(n)。然后利用两个噪声数据结合的方式,来模拟噪声环境的改变,即x(n)=[x1(n),x2(n)],d(n)=[d1(n),d2(n)],通过扬声器输出到控制点的信号y′(n)与d(n)相加,可得到控制点的残差信号e(n)。
噪声数据采样为8192Hz,两段噪声各采样60s,共120s,参考信号x(n)和控制点处的噪声信号d(n)如图3所示。次级路径如图4所示,其他设置参数如表1所示。
表1试验中各参数设置
利用本发明算法,对120s的噪声数据进行降噪,降噪后残差的信号如图5,控制点降噪前后分贝值如图6所示,控制器变化如图7所示。
请参阅图7,控制器总帧数一致处于动态变化中,在开始0~11s内,控制器总帧数一直在增加,在20s和30s时,控制器长度自适应进行了微调,在前60s内,控制器最佳帧数处在10~12帧。在60s之后,噪声源发生改变,降噪效果突然变差,如图5和图6,图7中的贡献量也发生了突变,控制器接下来进行自我更新,逐渐控制器长度先降低,再慢慢增加,直到最后达到稳定,总帧数维持在11帧。因此可见,此算法控制器的总帧数,也就是总长度,可以针对不同的噪声信号进行改变,自适应的变化为最佳的长度。
算法复杂度分析如下:
控制器总帧数为k,每帧长度为M,则kM代表控制器总长度。设置迭代限制次数为N,则控制器在N次迭代中,传统FxLMS算法在进行控制器更新时,根据式(1)和式(2)可知,要进行2kMN个乘法和kMN个加法;但是本发明为变步长算法,每次控制器权重系数更新时,仅仅更新一帧的数据量,根据式(17)可知,要进行2MN个乘法和MN个加法,如果控制器更新迭代次数达到限制,会增加一个当前帧贡献量计算,增加(k+1)M-1个乘法和kM-1个加法,因此本发明共进行了2MN+(k+1)M-1个乘法和MN+kM-1个加法。
若取本实验中各参数数值,在一个迭代周期内,传统FxLMS方法在进行控制器更新时,共进行33554432个乘法和16777216个加法,而本发明共进行了2099327个乘法和1050623个加法。即在此条件下,本发明方法的乘法复杂度是传统FxLMS算法的6.3%,加法复杂度是传统FxLMS算法的6.3%。
综上所述,本发明一种基于FxLMS的控制器长度自适应调节方法及系统,对控制器W(z)权重系数进行分帧处理,权重系数更新时,采用逐帧更新的方法,减小了在进行控制器更新时的计算量,同时又通过计算不同帧对控制器W(z)的贡献量,可以使控制器自适应的调节控制器的总帧数,即控制器的总长度,使得在不同的噪声环境中,始终可以让控制器在控制效果最好的前提下,达到控制器最短的效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
Claims (9)
1.一种基于FxLMS的控制器长度自适应调节方法,其特征在于,包括以下步骤:
S1、获取噪声信号作为参考信号X(n);获取控制点声压信号作为残差信号e(n);确定次级扬声器与控制点之间的声音传播路径S(z);然后设置控制器W(z)每一帧的长度为M,控制器总帧数用Kn表示,设置允许的控制器最大帧数为K,初始化控制器的权重系数,设置限制迭代次数为N,贡献率阈值为γ,控制器的步长为μ;
S2、在噪声源开启状态下,当前帧为第一帧,控制器总长度为一帧的长度,即步骤S1中控制器总帧数Kn=1;当前帧的迭代次数为1;
S3、同时记录参考信号X(n)和残差信号e(n);
S4、利用步骤S1得到的声音传播路径S(z)和步骤S3记录的参考信号X(n)计算当前帧更新所需要的噪声信号的滤波信号X′p(n);
S5、根据步骤S3记录的残差信号e(n)和步骤S4中的滤波信号X′p(n),利用滤波器权值系数计算更新控制器当前帧Wi(n+1)系数,同时当前帧更新迭代次数加1;
S6、利用步骤S5更新后的控制器W(z)权重系数计算次级扬声器输出;
S7、重复步骤S3~S6,直到控制器更新迭代次数达到限制迭代次数N;根据每帧权重系数Wi(n)对整个控制器W(n)的贡献率判断控制器长度是否收敛;
S8、根据步骤S7确定的控制器长度是否收敛,控制器总长度Kn和权重系数W(z)进行相应改变,以及确定新的当前帧p开始重新迭代更新,令当前帧迭代次数q=1;实现自适应调节控制器长度。
2.根据权利要求1所述的方法,其特征在于,步骤S1中,初始化控制器权重系数如下:
W(n)=[W1(n),W2(n),...,WKn(n)]
其中,Kn=1,在初始化时,Wi(n)中的每一个元素都为0。
3.根据权利要求1所述的方法,其特征在于,步骤S3中,将残差信号e(n)降低到最小值,采取残差信号e(n)的均方统计为目标函数,根据梯度下降法确定每一帧的更新公式,选取瞬时梯度作为目标函数的真实梯度估计,确定分帧后的滤波器权值系数更新公式。
4.根据权利要求3所述的方法,其特征在于,步骤S3中,参考信号X(n)为:
X(n)=[X1(n),X2(n),...,XKn(n)]T
其中,Xi(n)为参考信号中的帧,T为向量转置。
5.根据权利要求1所述的方法,其特征在于,步骤S4中,当前帧更新所需噪声信号的滤波信号X′p(n)具体为:
X′p(n)=S(z)*Xp(n)
其中,Xp(n)为参考信号中当前帧对应的帧。
7.根据权利要求1所述的方法,其特征在于,步骤S8中,若贡献率大于步骤S1中设置的贡献率阈值为γ,如果当前帧不是控制器长度的最后一帧,令新的当前帧为下一帧,控制器总长度不变;如果当前帧是控制器长度的最后一帧,判断当前帧序号p与步骤S1中设置的允许的控制器最大帧数k的关系,如果p<k,控制器总长度增加一帧的长度,增加的这一帧权重系数初始值为1xM的0向量,同时令p=p+1,令新的当前帧为下一帧;如果p=k,令新的当前帧为第一帧,控制器总长度不变。
8.根据权利要求1所述的方法,其特征在于,步骤S8中,若贡献率小于步骤S1中设置的贡献率阈值为γ;如果当前帧不是控制器长度的最后一帧,删去当前帧之后的各帧权重系数,同时令新的当前帧为第一帧;如果当前帧为控制器最后一帧,则令新的当前帧为第一帧,控制器总长度不变。
9.一种基于FxLMS的控制器长度自适应调节系统,其特征在于,包括:
参数模块,获取噪声信号作为参考信号X(n);获取控制点声压信号作为残差信号e(n);得到次级扬声器与控制点之间的声音传播路径S(z);然后设置控制器W(z)每一帧的长度为M,控制器总帧数用Kn表示,设置允许的控制器最大帧数为K,初始化控制器的权重系数,设置限制迭代次数为N,贡献率阈值为γ,控制器的步长为μ;
初始化模块,在噪声源开启状态下,当前帧为第一帧,控制器总长度为一帧的长度,即参数模块中控制器总帧数Kn=1;当前帧的迭代次数为1;
记录模块,同时记录参考信号X(n)和残差信号e(n);
计算模块,利用参数模块得到的声音传播路径S(z)和记录模块记录的参考信号X(n)计算当前帧更新所需要的噪声信号的滤波信号X′p(n);
迭代模块,根据记录模块记录的残差信号e(n)和计算模块中的滤波信号X′p(n),利用滤波器权值系数计算更新控制器当前帧Wi(n+1)系数,同时当前帧更新迭代次数加1;
更新模块,利用迭代模块更新后的控制器W(z)权重系数计算次级扬声器输出;
判断模块,控制器更新迭代次数达到限制迭代次数N;根据每帧权重系数Wi(n)对整个控制器W(n)的贡献率判断控制器长度是否收敛;
自适应模块,根据判断模块确定的控制器长度是否收敛,控制器总长度Kn和权重系数W(z)进行相应改变,以及确定新的当前帧p开始重新迭代更新,令当前帧迭代次数q=1;实现自适应调节控制器长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110656383.8A CN113539227B (zh) | 2021-06-11 | 2021-06-11 | 一种基于FxLMS的控制器长度自适应调节方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110656383.8A CN113539227B (zh) | 2021-06-11 | 2021-06-11 | 一种基于FxLMS的控制器长度自适应调节方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113539227A CN113539227A (zh) | 2021-10-22 |
CN113539227B true CN113539227B (zh) | 2023-06-30 |
Family
ID=78095933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110656383.8A Active CN113539227B (zh) | 2021-06-11 | 2021-06-11 | 一种基于FxLMS的控制器长度自适应调节方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113539227B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2133866A1 (en) * | 2008-06-13 | 2009-12-16 | Harman Becker Automotive Systems GmbH | Adaptive noise control system |
CN109714023A (zh) * | 2018-12-28 | 2019-05-03 | 歌尔股份有限公司 | 自适应滤波方法、自适应滤波器和噪声控制系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8270625B2 (en) * | 2006-12-06 | 2012-09-18 | Brigham Young University | Secondary path modeling for active noise control |
-
2021
- 2021-06-11 CN CN202110656383.8A patent/CN113539227B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2133866A1 (en) * | 2008-06-13 | 2009-12-16 | Harman Becker Automotive Systems GmbH | Adaptive noise control system |
CN109714023A (zh) * | 2018-12-28 | 2019-05-03 | 歌尔股份有限公司 | 自适应滤波方法、自适应滤波器和噪声控制系统 |
Non-Patent Citations (1)
Title |
---|
存在声反馈的前馈有源噪声控制系统性能分析;马进;邹海山;邱小军;;声学学报(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113539227A (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8385864B2 (en) | Method and device for low delay processing | |
JP4658137B2 (ja) | フィードバックモデル利得を推定する補聴器 | |
CN112581973B (zh) | 一种语音增强方法及系统 | |
WO1999062053A1 (en) | Signal noise reduction by spectral subtraction using spectrum dependent exponential gain function averaging | |
Ferrer et al. | Fast affine projection algorithms for filtered-x multichannel active noise control | |
CN113539227B (zh) | 一种基于FxLMS的控制器长度自适应调节方法及系统 | |
CN104637493A (zh) | 改进噪声抑制性能的语音概率存在修改器 | |
CN113299261A (zh) | 主动降噪方法、装置、耳机、电子设备及可读存储介质 | |
CN110708651B (zh) | 一种基于分段陷波的助听器啸叫检测与抑制方法及装置 | |
US9172346B2 (en) | Numeric audio signal equalization | |
JP2012163682A (ja) | 音声処理装置及び方法 | |
WO2021175267A1 (zh) | 一种实现主动噪声消除的方法、装置和电子设备 | |
CN114242103A (zh) | 语音降噪方法、装置、计算机设备和存储介质 | |
CN107393547A (zh) | 子带谱减与广义旁瓣抵消的双微阵列语音增强方法 | |
CN107483029B (zh) | 一种voip通讯中的自适应滤波器的长度调节方法及装置 | |
JP2004274412A (ja) | 反響消去装置、方法、及び反響消去プログラム | |
CN111741408A (zh) | 一种扬声器的非线性补偿方法、系统、设备和存储介质 | |
JP3452339B2 (ja) | 適応的制御方法 | |
CN110648681A (zh) | 语音增强的方法、装置、电子设备及计算机可读存储介质 | |
JP2007281860A (ja) | 適応信号処理装置およびその適応信号処理方法 | |
CN109658950B (zh) | 一种混合频域自适应算法 | |
CN104754485B (zh) | 一种基于nlms算法改进的数字助听器回波抵消方法 | |
WO2023070899A1 (zh) | 自适应降噪方法、系统、设备及存储介质 | |
CN113345400B (zh) | 可穿戴设备的主动降噪系统的校准方法及装置、存储介质、终端 | |
US20230137830A1 (en) | Wideband adaptation of echo path changes in an acoustic echo canceller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |