基于鲸鱼算法的主动噪声控制算法的步长和阶数选取方法

文档序号:30377329发布日期:2022-06-11 02:28阅读:248来源:国知局
基于鲸鱼算法的主动噪声控制算法的步长和阶数选取方法

1.本发明属于主动噪声控制技术领域,具体的说是一种基于鲸鱼算法的主动噪声控制方法的步长和阶数选取方法。


背景技术:

2.经济的快速发展使得噪声问题日益突出,噪声控制已经成为研究热点,有源噪声控制系统技术也得到了快速发展。车内噪声具有很多负面影响,一方面容易造成环境噪声污染,另一方面也会损害人体健康。被动噪声控制技术的降噪范围只局限于中高频噪声,对于一些低频噪声,难以实现抵消,而主动噪声控制技术能够弥补它的不足。主动噪声控制技术是在声学基础上发展起来的技术,通过降噪系统产生频谱与噪声相同,而相位相反的反向声波,中和噪声,以此完成降噪。
3.主动噪声控制技术中常用的滤波-x最小均方(filter-x least mean square,fxlms)算法中,步长和阶次等参数对算法的性能具有较大的影响。较大的步长可以使算法的收敛速度变快,但是算法的稳态误差较大;相反,较小的步长将使算法收敛速度变慢,但是稳态误差较小。针对稳态误差和收敛速度不可兼顾的矛盾,一般在算法中采取变步长,初始阶段采取大步长,收敛后采取小步长。阶数的正确选取也能有效发挥算法的性能,大的阶数会使收敛速度慢,稳态误差小;而小的阶数使收敛速度变快,稳态误差变大。
4.在实际应用中,通常采取试凑法来进行参数选取,精度不高。为了改善降噪效果,采用智能算法进行参数的寻优。鲸鱼算法(whale optimization algorithm)是根据鲸鱼围捕猎物的行为而提出的算法。鲸鱼是一种群居的哺乳动物,在捕猎时它们也会相互合作对猎物进行驱赶和围捕。鲸鱼算法中,每个鲸鱼的位置代表了一个可行解。在鲸鱼群捕猎过程中,每只鲸鱼有两种行为,一种是包围猎物,所有的鲸鱼都向着其他鲸鱼前进;另一种是气泡网,鲸鱼环形游动喷出气泡来驱赶猎物。在每一代的游动中,鲸鱼们会随机选择这两种行为来进行捕猎。在鲸鱼进行包围猎物的行为中,鲸鱼将会随机选择是向着最优位置的鲸鱼游去还是随机选择一只鲸鱼作为自己的目标,并向其靠近。采用woa算法进行主动噪声控制算法参数选取时,精度高,容易实现,大大缩短了参数选择时间。


技术实现要素:

5.本发明提供了一种基于鲸鱼算法的主动噪声控制方法的步长和阶数选取方法,运用鲸鱼优化算法选取出的参数提高了参数选取的精度和效率,应用于主动噪声控制技术中,将大大提高主动噪声控制算法的降噪效果。
6.本发明技术结合附图说明如下:
7.一种基于鲸鱼算法的主动噪声控制方法的步长和阶数选取方法,包括以下步骤:
8.步骤一、鲸鱼算法的参数初始化设置;
9.步骤二、鲸鱼算法的种群随机初始化;
10.步骤三、通过鲸鱼算法选取的参数和阶数运行主动噪声控制算法,计算每个个体
的适应度值;
11.步骤四、判断主动噪声控制算法是否满足终止条件,即是否达到设定的最大迭代次数,不满足则执行步骤五,满足则执行步骤六;
12.步骤五、对剩余个体进行鲸鱼算法的迭代操作,计算鲸鱼间的距离,做出“包围猎物”的动作,并通过形成气泡网来驱赶猎物,同时更新自身位置;
13.步骤六、输出最优的位置参数x
*
,并将最优参数代入主动噪声控制算法中进行运算,从而控制主动噪声。
14.所述步骤一中参数初始化时将鲸鱼种群大小设置为n,最大迭代次数设置为max iter。
15.所述步骤二中种群随机初始化时将每条座头鲸的位置设置其中,pi为座头鲸编号,从1到n;d为问题维度;xi为t时刻的位置参数。
16.所述步骤三中的主动噪声控制算法的优化过程中,采用定步长fxlms算法计算时,步长μ作为优化参数;采用定阶数fxlms算法计算时,阶数l作为优化参数;在阶数优化过程中,进行取整操作;在进行步长和阶数同时更新,寻求最佳降噪效果的算法时,步长μ作为第一个优化参数,阶数l作为第二个优化参数。
17.所述步骤三的主动噪声控制算法优化过程中的适应度函数为:
[0018][0019]
其中,e(n)为第n次迭代过程中的残余误差值;m为总的迭代次数。
[0020]
所述步骤五的具体方法如下:
[0021]
a)座头鲸能识别猎物的位置并包围它们;由于优化设计在搜索空间中的位置是未知的,鲸鱼算法假设当前的最佳候选解是目标猎物或接近最优解;在定义了最佳位置鲸鱼后,其他鲸鱼将尝试向最佳位置鲸鱼更新自己的位置;这种行为由以下公式表示:
[0022][0023][0024]
其中,t是当前迭代次数;和是系数向量;x
*
是最优解的位置向量;是位置向量;是t时刻的最优位置参数向量;是t+1时刻的最优位置参数向量;是更新过程中的方向向量。
[0025]
其中,系数向量的更新公式如下:
[0026][0027][0028]
其中,和是系数向量;随着迭代从2减小到0;是一个在[0,1]之间的随机向量。
[0029]
b)座头鲸用气泡网策略攻击猎物;座头鲸在猎物周围游动时,会以一个收缩的圆圈和一条螺旋状的路径同时进行;更新鲸鱼的位置的方法的数学表达式如下:
[0030][0031]
其中,是t+1时刻的位置参数;p是随机数;是系数向量;l是[0,1]范围内的随机数;b是定义对数螺旋形的常数;
[0032]
c)座头鲸会根据彼此的位置随机搜索,根据随机选择的鲸鱼来更新鲸鱼在探索阶段的位置,而不是目前找到的最佳位置鲸鱼,数学模型如下:
[0033][0034][0035]
其中,是随机位置向量。
[0036]
本发明的有益效果为:
[0037]
1)本发明提供的基于鲸鱼算法进行步长和阶数选取的方法,与传统的试凑法相比,提高了参数选取的精度和效率。
[0038]
2)运用鲸鱼优化算法选取出的参数,应用于主动噪声控制技术中,将大大提高主动噪声控制算法的降噪效果。
[0039]
3)鲸鱼算法复杂度较低,将残余误差的均方值作为鲸鱼算法的适应度函数,根据特定的噪声环境,选取最优的参数,所选参数适用于算法和噪声。
附图说明
[0040]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0041]
图1为本发明所述的鲸鱼算法优化参数的流程图;
[0042]
图2为本发明所述的主动噪声控制算法框图;
[0043]
图3为本发明所述的模拟噪声信号示意图;
[0044]
图4为本发明所述的fxlms算法选取步长对应的残余噪声图;
[0045]
图5为本发明所述的fxlms算法选取阶数对应的残余噪声图;
[0046]
图6为本发明所述的fxlms算法同时选取步长和阶数的残余噪声图;
[0047]
图7为本发明所述的fxlms算法三种情况的mse对比图。
具体实施方式
[0048]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049]
一种基于鲸鱼算法的主动噪声控制方法的步长和阶数选取方法,包括以下步骤:
[0050]
步骤一、鲸鱼算法的参数初始化设置;
[0051]
参数初始化时将鲸鱼种群大小设置为n,最大迭代次数设置为max iter。
[0052]
步骤二、鲸鱼算法的种群随机初始化;
[0053]
种群随机初始化时将每条座头鲸的位置设置其中,pi为座头鲸编号,从1到n;d为问题维度;xi为t时刻的位置参数。
[0054]
步骤三、通过鲸鱼算法选取的参数和阶数运行主动噪声控制算法,计算每个个体的适应度值;
[0055]
所述步骤三中的主动噪声控制算法的优化过程中,采用定步长fxlms算法计算时,步长μ作为优化参数;采用定阶数fxlms算法计算时,阶数l作为优化参数;在阶数优化过程中,进行取整操作;在进行步长和阶数同时更新,寻求最佳降噪效果的算法时,步长μ作为第一个优化参数,阶数l作为第二个优化参数。
[0056]
主动噪声控制算法优化过程中的适应度函数为:
[0057][0058]
其中,e(n)为第n次迭代过程中的残余误差值;m为总的迭代次数。
[0059]
步骤四、判断主动噪声控制算法是否满足终止条件,即是否达到设定的最大迭代次数,不满足则执行步骤五,满足则执行步骤六;
[0060]
步骤五、对剩余个体进行鲸鱼算法的迭代操作,计算鲸鱼间的距离,做出“包围猎物”的动作,并通过形成气泡网来驱赶猎物,同时更新自身位置;
[0061]
具体如下:
[0062]
a)座头鲸能识别猎物的位置并包围它们;由于优化设计在搜索空间中的位置是未知的,鲸鱼算法假设当前的最佳候选解是目标猎物或接近最优解;在定义了最佳位置鲸鱼后,其他鲸鱼将尝试向最佳位置鲸鱼更新自己的位置;这种行为由以下公式表示:
[0063][0064][0065]
其中,t是当前迭代次数;和是系数向量;x
*
是最优解的位置向量;是位置向量;是t时刻的最优位置参数向量;是t+1时刻的最优位置参数向量;是更新过程中的方向向量。
[0066]
其中,系数向量的更新公式如下:
[0067][0068][0069]
其中,和是系数向量;随着迭代从2减小到0;是一个在[0,1]之间的随机向量。
[0070]
b)座头鲸用气泡网策略攻击猎物;座头鲸在猎物周围游动时,会以一个收缩的圆圈和一条螺旋状的路径同时进行;更新鲸鱼的位置的方法的数学表达式如下:
[0071][0072]
其中,是t+1时刻的位置参数;p是随机数;是系数向量;l是[0,1]范围内的随机数;b是定义对数螺旋形的常数;
[0073]
c)座头鲸会根据彼此的位置随机搜索,根据随机选择的鲸鱼来更新鲸鱼在探索阶段的位置,而不是目前找到的最佳位置鲸鱼,数学模型如下:
[0074][0075][0076]
其中,是随机位置向量。
[0077]
步骤六、输出最优的位置参数x
*
,并将最优参数代入主动噪声控制算法中进行运算,从而控制主动噪声。
[0078]
实施例
[0079]
如图1所示,本发明提供了一种基于鲸鱼算法的主动噪声控制方法的步长和阶数选取方法,该方法将鲸鱼算法与主动噪声控制算法相结合,将影响降噪效果的步长和阶数作为鲸鱼算法的优化参数,将残余误差的均方值作为鲸鱼算法的适应度函数。具体步骤如下:
[0080]
步骤1、参数初始化设置鲸鱼种群大小n,将鲸鱼种群设置为30,最大迭代次数max iter,设置为50。
[0081]
步骤2:一定规模的鲸鱼种群,随机初始化每条座头鲸的位置pi为座头鲸的位置,i代表座头鲸编号,从1到n,d表示问题维度,对于不同的参数选取,设置为不同的维度。
[0082]
步骤3:主动噪声控制算法优化过程中,采用定步长fxlms算法计算时,步长μ作为优化参数。采用定阶数fxlms算法计算时,阶数l作为优化参数,值得注意的是,在阶数优化过程中,需要进行取整操作。在进行步长和阶数同时更新,寻求最佳降噪效果的算法时,步长μ作为第一个优化参数,阶数l作为第二个优化参数。
[0083]
主动噪声控制算法优化过程中的适应度函数为:
[0084][0085]
其中,e(n)是第n次迭代过程中的残余误差值,m是总的迭代次数。
[0086]
如图2所示,在主动噪声控制算法中,x(n)是整个系统的参考信号;经过初级通道传递函数p(z)产生期望响应d(n);s(z)为次级通道传递函数;是次级通道函数的估计;xf(n)是参考信号的滤波信号;e(n)为期望响应d(n)与输出信号y(n)的差值,即残余误差信号,xf(n)与e(n)共同更新滤波器权系数。
[0087]
噪声信号经过初级路径传递后产生期望信号,表示为
[0088]
d(n)=x(n)*p(z)
[0089]
滤波器的权系数和滤波信号矢量分别定义为
[0090]
w(n)=[w1(n),w2(n),

,wn(n)]
t
[0091]
xf(n)=[xf(n),xf(n-1),

,xf(n-n+1)]
t
[0092]
其中,wi(n)是权系数;xf(n)是滤波后的参考信号;n是
××

[0093]
n时刻的滤波器的输出信号为
[0094]
y(n)=w
t
(n)x(n)
[0095]
扬声器发出的次级声信号为滤波器的输出信号与次级通道函数的卷积,即
[0096]ys
(n)=y(n)*s(n)=w
t
(n)x(n)*s(n)
[0097]
滤波信号xf(n)表示为
[0098][0099]
若次级通道估计准确,则与s(n)相等,因此
[0100]ys
(n)=w
t
(n)x(n)*s(n)=w
t
(n)xf(n)
[0101]
则误差传感器处的误差信号为
[0102]
e(n)=d(n)-ys(n)=d(n)-w
t
(n)xf(n)
[0103]
采用定步长fxlms算法计算时,将定步长μ作为优化参数。采用定阶数fxlms算法计算时,将阶数l作为优化参数。fxlms算法的权矢量的迭代公式为:
[0104]
w(n+1)=w(n)+2μe(n)xf(n)
[0105]
其中,权值为l阶,l作为优化的参数,在优化过程中,需要进行取整操作。
[0106]
在进行步长和阶数同时更新,寻求最佳降噪效果的算法时,步长μ作为第一个优化参数,阶数l作为第二个优化参数。
[0107]
步骤4、判断主动噪声控制算法是否满足终止条件,即是否达到设定的最大迭代次数,不满足则执行步骤5,满足则执行步骤6;
[0108]
步骤5:座头鲸识别猎物的位置并包围它们。由于优化设计在搜索空间中的位置是未知的,woa算法假设当前的最佳候选解是目标猎物或接近最优解。在定义了最佳位置鲸鱼后,其他鲸鱼将尝试向最佳位置鲸鱼更新自己的位置。这种行为由以下公式表示:
[0109][0110][0111]
其中,t表示当前迭代次数,和是系数向量,x
*
是最优解的位置向量,是位置向量。是鲸鱼与最优鲸鱼之间的距离,是更新后的鲸鱼位置。
[0112]
其中系数向量的更新公式如下:
[0113][0114][0115]
是一个随机向量,范围为[0,1]。
[0116]
座头鲸也会用气泡网策略攻击猎物。座头鲸在猎物周围游动时,会以一个收缩的圆圈和一条螺旋状的路径同时进行。更新鲸鱼的位置该方法的数学表达式如下:
[0117][0118]
p是随机数,根据p值,woa可以在螺旋或循环运动之间切换。最后,在满足终止准则的情况下终止woa算法。
[0119]
座头鲸会根据彼此的位置随机搜索,根据随机选择的鲸鱼来更新鲸鱼在探索阶段的位置,而不是目前找到的最佳位置鲸鱼,其数学模型如下:
[0120][0121][0122]
其中,是随机位置向量。woa算法从一组随机解开始。在每次迭代中,鲸鱼根据随机选择的鲸鱼个体或迄今为止获得的最佳解更新其位置。参数a从2减小到0。当|a|》1时,选择一个随机鲸鱼,当|a|《1时,选择最优解更新鲸鱼的位置。
[0123]
步骤6:输出最优的位置参数x
*
,将参数代入主动噪声控制算法中,从而控制主动噪声。
[0124]
根据车内噪声特性,选取两个频率的正弦信号模拟发动机噪声,高斯白噪声模拟车内宽带噪声,二者叠加合成稳态工况下的车内模拟噪声,噪声如图3所示。采用定步长fxlms算法进行噪声的消除,采样频率设为8000hz。当只优化定步长fxlms算法的步长时,将步长μ作为优化参数,手动选取阶数l为64。步长优化范围为[0.0000001,0.1],其对应的残余误差曲线如图4所示。当只优化定步长fxlms算法的阶数时,将阶数作为优化参数,手动选取步长为0.001。阶数优化范围为[24,300],其对应的残余误差曲线如图5所示。当同时优化定步长fxlms算法的步长和阶数时,将步长μ作为第一个优化参数,将阶数l作为第二个优化参数,步长和阶数分别对应不同的优化范围,其对应的残余误差曲线如图6所示。将三种情况下的mse曲线进行对比,发现同时选取两个参数时,降噪效果最好,因此初步得出结论,采用鲸鱼算法选取参数,更加精确及高效。最终选定的参数和结果如表1所示。
[0125]
表1基于鲸鱼算法进行主动噪声控制算法的步长和阶数选取的结果及其对应的mse
[0126][0127]
综上,本发明提高了参数选取的精度和效率,提高了主动噪声控制算法的降噪效果。
[0128]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0129]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以
理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1