基于改进FxLMS算法的噪声主动控制方法及系统

文档序号:30989230发布日期:2022-08-03 02:01阅读:583来源:国知局
基于改进FxLMS算法的噪声主动控制方法及系统
基于改进fxlms算法的噪声主动控制方法及系统
技术领域
1.本公开属于噪声主动控制技术领域,具体涉及一种基于改进fxlms算法的噪声主动控制方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
3.噪声污染涉及工业、建筑、社会生活和交通等众多领域。近年来,随着风机、水泵、压缩机等流体机械应用的不断增长,噪声污染日益突出。噪声的存在不仅恶化工作生活环境,同时也会影响机械设备运行安全性和稳定性,甚至导致事故的发生。因此,为提高设备服役性能,并改善工作生活环境,噪声控制技术亟待深入研究。
4.目前噪声的控制方式主要包括被动控制和主动控制。被动控制大多基于吸声、隔声或结构改造以降低噪声,但该方式实现成本较高,且对低频噪声控制效果不佳,而主动控制对低频噪声具有良好的控制效果,近年来得到广泛关注。
5.作为主动控制核心部分,滤波x最小均方(filters-x least mean square,简称fxlms)算法学习步长固定,难以兼顾控制效果和收敛速度,因此大量变步长(variable step size)fxlms(vssfxlms)算法得到发展及应用。gomathi等人基于三角函数构建学习步长与残差信号关系,并与传统fxlms算法进行对比,表明该vssfxlms算法具有更为优越的噪声控制效果及算法收敛速度。ma等人提出一种简化vssfxlms算法,实现了不影响噪声控制效果前提下算法计算量的降低。akhtar和nishihara结合归一化与变步长理念,构建了归一化变步长fxlms算法,克服了学习步长取决于源信号功率的缺陷。总之,目前针对fxlms算法的改进多集中于开发vssfxlms算法,而未从源信号角度改进算法,制约了噪声控制性能的进一步提升。


技术实现要素:

6.为了解决上述问题,本公开提出了一种基于改进fxlms算法的噪声主动控制方法及系统,采用信号插值与归一化变步长相结合的方式进行fxlms算法上的改进,收敛速度快,鲁棒性强,提高降噪效果。
7.根据一些实施例,本公开的第一方案提供了一种基于改进fxlms算法的噪声主动控制方法,采用如下技术方案:
8.一种基于改进fxlms算法的噪声主动控制方法,包括:
9.获取噪声源信号数据;
10.基于所获取的噪声源数据构建相邻噪声源信号之间的信号插值;
11.计算与所述信号插值异步执行的误差;
12.结合所得到的误差和归一化变步长,控制噪声学习步长,实现噪声的主动控制。
13.作为进一步的技术限定,利用传声器获取噪声源信号数据。
14.作为进一步的技术限定,根据所构建的信号插值进行更新与所述信号插值同步执行的滤波器权重,用于计算次级声源信号;根据所述权重建立与信号插值同步执行的次级声源,用于后续计算误差信号。
15.作为进一步的技术限定,计算与所述信号插值异步执行的误差的过程中,源信号插值后经初级通道传递函数到达误差信号采集点获得信号,次级声源经次级通道传递函数到达误差信号采集点获得信号,待插值信号计算完后,两次所获得的信号相减获得误差信号。
16.作为进一步的技术限定,基于所得到的信号插值异步执行误差和归一化变步长,构建与信号插值异步执行的基于归一化变步长的学习步长更新模型。
17.进一步的,根据所构建的学习步长更新模型控制噪声学习步长,即根据当前时间步的误差信号,以及源信号经次级通道估计后的范数,计算获得下一时间步的学习步长。
18.作为进一步的技术限定,对所获取的信号插值进行次级通道估计后的范数计算,结合误差信号能量更新噪声学习步长。
19.根据一些实施例,本公开的第二方案提供了一种基于改进fxlms算法的噪声主动控制系统,采用如下技术方案:
20.一种基于改进fxlms算法的噪声主动控制系统,包括:
21.获取模块,被配置为获取噪声源信号数据,基于所获取的噪声源数据构建相邻噪声源信号之间的信号插值;
22.计算模块,被配置为计算与所述信号插值异步执行的误差;
23.控制模块,被配置为结合所得到的误差和归一化变步长,控制噪声学习步长,实现噪声的主动控制。
24.根据一些实施例,本公开的第三方案提供了一种计算机可读存储介质,采用如下技术方案:
25.一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本公开第一方面所述的基于改进fxlms算法的噪声主动控制方法中的步骤。
26.根据一些实施例,本公开的第四方案提供了一种电子设备,采用如下技术方案:
27.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开第一方面所述的基于改进fxlms算法的噪声主动控制方法中的步骤。
28.与现有技术相比,本公开的有益效果为:
29.本公开从源信号角度出发改进噪声主动控制效果,构建源信号插值算法,并结合异步执行理念,建立了信号插值与归一化变步长相结合的fxlms算法(即i-vnssfxlms算法)及相应的噪声主动控制系统,本发明的优势在于收敛速度快、噪声控制效果好。仿真比较了固定学习步长fxlms、vnssfxlms及i-vnssfxlms算法对控制效果和收敛速度的影响,对比结果表明信号插值在vnssfxlms算法基础上进一步改进噪声控制效果及算法收敛速度。本公开提出的i-vnssfxlms算法能有效控制噪声幅值,改善声环境水平,对于工程实际应用具有重要参考意义。
附图说明
30.构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
31.图1是本公开实施例一中的基于改进fxlms算法的噪声主动控制方法的流程图;
32.图2是本公开实施例一中的基于改进fxlms算法的噪声主动控制方法的模型图;
33.图3(a)是本公开实施例一中的不同算法下正弦波噪声控制的平均降噪量对比图;
34.图3(b)是本公开实施例一中的不同算法下正弦波噪声控制的计算时间对比图;
35.图4(a)是本公开实施例一中的不同算法下实际噪声控制的噪声脉动特性对比图;
36.图4(b)是本公开实施例一中的不同算法下实际噪声控制的平均降噪量对比图
37.图4(c)是本公开实施例一中的不同算法下实际噪声控制的计算时间对比图;
38.图5是本公开实施例二中的基于改进fxlms算法的噪声主动控制系统的结构框图。
具体实施方式
39.下面结合附图与实施例对本公开作进一步说明。
40.应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
41.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
42.在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
43.实施例一
44.本公开实施例一介绍了一种基于改进fxlms算法的噪声主动控制方法。
45.如图1和图2所示的一种基于改进fxlms算法的噪声主动控制方法,包括以下步骤:
46.步骤s01:构建相邻噪声源信号之间的插值公式并设定插值数量;
47.步骤s02:建立与信号插值同步执行的滤波器权重更新公式,所述权重更新用于计算次级声源;
48.步骤s03:建立与信号插值同步执行的次级声源计算公式,所述次级声源计算用于抵消噪声源信号,进一步实现噪声得主动控制;
49.步骤s04:建立与信号插值异步执行的误差计算公式,所述误差,用于更新下一个时间步的权重和学习步长;
50.步骤s05:建立与信号插值异步执行的基于归一化变步长原理的学习步长更新公式,实现噪声的主动控制。
51.作为一种或多种实施方式,在步骤s01中,根据所获取的噪声源信号数据搭建前馈型噪声主动控制模型;
52.本实施例中所构建的前馈型主动噪声控制模型如图2中删掉插值区域的模型图。
53.在噪声源信号采样过程中,结合当前时刻与上一时刻信号进行线性插值计算:
54.式中,m为插值数量,n=0,1,2,

,i=1,2,3,

,m。
55.经过线性插值后,x(n+(i-1)/m)与x(n+i/m)看作相邻信号参与运算。
56.作为一种或多种实施方式,在步骤s02中,建立与信号插值同步执行的滤波器权重更新公式:
57.其中,为插值源信号经次级通道估计模型s’(n)获得的参考信号。
58.作为一种或多种实施方式,在步骤s03中,计算与信号插值同步执行的次级声源:
59.作为一种或多种实施方式,在步骤s04中,为下一时间步更新滤波器权重和学习步长,计算与信号插值异步执行的误差:e(n)=d(n)-y(n)*s(n),
60.其中,d(n)表示噪声源信号经初级通道传递函数到达误差信号采集点获得的信号,s(n)表示次级通道传递函数,y(n)*s(n)表示次级声源经次级通道传递函数到达误差信号采集点获得的信号。
61.作为一种或多种实施方式,在步骤s05中,建立与信号插值异步执行的基于归一化变步长原理的学习步长更新公式:
62.式中,ee(n)=λee(n-1)+(1-λ)e2(n)表示误差能量,μ’为固定学习步长,为x’(n)的l2范数,δ是一个很小的正整数以防止分母为0,λ是遗忘因子,介于0.9和1之间。
63.为验证本实施例所提出算法的优越性,选用2种不同噪声源信号进行仿真。仿真过程中,滤波器长度设置为32,信号插值数量设置为5。采样平均降噪量(anr)衡量噪声控制水平:
[0064][0065]ae
(n)=0.999ae(n-1)+0.001|e(n)|,ae(0)=0,
[0066]ad
(n)=0.999ad(n-1)+0.001|d(n)|,ad(0)=0,
[0067]
其中,n表示迭代计算步数,ae(n)和ad(n)分别表示对e(n)和d(n)的估计。在仿真过程中,每次迭代过程均计算ae(n)和ad(n),从而获得anr随迭代过程的变化曲线。
[0068]
正弦波噪声定义为:
[0069][0070]
其中,v(n)是具有高斯分布的白噪声。
[0071]
仿真过程中fxlms算法学习步长μ=1e-5,vnssfxlms和i-vnssfxlms算法中μ’=1e-3,λ=0.95,δ=1e-10。不同算法下平均降噪量及计算时间对比结果分别如图3(a)和图3(b)所示,可得,基于fxlms和vnssfxlms算法的平均降噪量约为12db,且vnssfxlms算法收敛
速度较快。基于i-vnssfxlms算法的平均降噪量可达40db,且收敛速度优于无信号插值算法的收敛速度,而1e5次迭代次数下计算时间仅增加约0.16s。
[0072]
采用本实施例中的方法进行实际噪声的主动控制;本实施例中的实际噪声来源于离心泵内流动诱导噪声。仿真过程中fxlms算法学习步长μ=1e-10,vnssfxlms和i-vnssfxlms算法中μ’=1e-3,λ=0.95,δ=1e-10。不同算法下噪声脉动特性、平均降噪量及计算时间对比结果分别如图4(a)、图4(b)和图4(c)所示,可得,基于fxlms和vnssfxlms算法的平均降噪量约为16db,而基于i-vnssfxlms算法的平均降噪量达55db。此外,i-vnssfxlms算法收敛速度最快,vnssfxlms算法次之,fxlms算法最慢,而1e5次迭代次数下i-vnssfxlms算法计算时间仅增加约0.17s。
[0073]
对于不同脉动程度的噪声源信号,fxlms算法需根据噪声脉动程度改变学习步长以保障算法收敛性,而vnssfxlms和i-vnssfxlms算法无需改变算法参数即可保障算法收敛性,同时加快了算法收敛速度,且i-vnssfxlms算法控制效果与收敛速度优于vnssfxlms算法。总之,i-vnssfxlms算法在略微增加计算量时实现了优异的噪声控制效果及收敛速度。
[0074]
综上,通过对不同脉动程度的噪声源的研究,验证了本实施例中所提出的i-vnssfxlms算法的有效性和实用性,将推进噪声主动控制性能的进一步提升。
[0075]
实施例二
[0076]
本公开实施例二介绍了一种基于改进fxlms算法的噪声主动控制系统。
[0077]
如图5所示的一种基于改进fxlms算法的噪声主动控制系统,包括:
[0078]
获取模块,被配置为获取噪声源信号数据,基于所获取的噪声源数据构建相邻噪声源信号之间的信号插值;
[0079]
计算模块,被配置为计算与所述信号插值异步执行的误差;
[0080]
控制模块,被配置为结合所得到的误差和归一化变步长,控制噪声学习步长,实现噪声的主动控制。
[0081]
详细步骤与实施例一提供的基于改进fxlms算法的噪声主动控制方法相同,在此不再赘述。
[0082]
实施例三
[0083]
本公开实施例三提供了一种计算机可读存储介质。
[0084]
一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本公开实施例一所述的基于改进fxlms算法的噪声主动控制方法中的步骤。
[0085]
详细步骤与实施例一提供的基于改进fxlms算法的噪声主动控制方法相同,在此不再赘述。
[0086]
实施例四
[0087]
本公开实施例四提供了一种电子设备。
[0088]
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开实施例一所述的基于改进fxlms算法的噪声主动控制方法中的步骤。
[0089]
详细步骤与实施例一提供的基于改进fxlms算法的噪声主动控制方法相同,在此不再赘述。
[0090]
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技
术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1