前言:
此时你们对“vmd算法matlab”都比较关注,朋友们都想要知道一些“vmd算法matlab”的相关资讯。那么小编也在网摘上汇集了一些关于“vmd算法matlab””的相关资讯,希望各位老铁们能喜欢,兄弟们快快来了解一下吧!文|李伯陵
编辑 |李伯陵
前言
随着内燃机功率密度的不断增加,其噪声问题越发受到重视,但是由于内燃机噪声源众多,且相互影响,噪声源的分离识别,对掌握声源特性、进行相应的噪声控制具有重要意义。
近年来,国内外学者进行了大量的噪声源分离、识别的研究,如:光谱分析法、独立分量分析法、相干分析法、经验模态分解法,以及聚合经验模态分解法等。
传统的信号处理技术,存在模态混叠问题,影响噪声识别精度,也正是因为这种原因,我们提出了变分模态分解方法,采用非递归的迭代方式求解,实现频域剖分与信号分离。
我们将变分模态分解,引入内燃机噪声源识别领域,在之前的工作中,是借助保留一个气缸、屏蔽其他五缸噪声的情况下,进行的噪声识别,在无覆盖条件下,进行更多声源的内燃机噪声源分离,还尚未实现。
另外,变分模态分解需要进行分解数的预设,但是通常噪声信号复杂多变,难以确定分解数,当噪声分量较多时,主要噪声分量的选择,直接影响到后续声源分离的精度。
针对这些问题,我们提出一种改进变分模态分解,融合鲁棒独立分量分析的噪声源分离方法。
首先,我们利用自适应的选择分解数,对噪声信号进行分解;其次,利用互信息指标筛选主要噪声分量,分离出相互独立的噪声源;最后,采用连续小波变换,对各个独立分量进行时频分析,并结合相关分析方法,识别内燃机噪声源。
变分模态分解是非递归式的信号处理方法,该算法本质是通过求解变分问题,来确定本征模态分量,实现信号频域的自适应分解。
在变分模态分解的数量选择上,分量过少为欠分解,会造成分量频域过宽,我们无法确定主要频率;分解数量过多会造成过分解,产生虚假分量。
我们利用原始信号,经VMD分解后,余量与源信号的能量比,作为欠分解的判断标准,来确定k的最小值,然而余量信号,并非单纯相当于源信号与分量信号的线性相减。
我们利用观察中心频率法,来判断是否过分解,确定k的最大值,在此基础上,我们提出,利用重构信号与原信号能量比、观察中心频率的双限值法,来综合确定k值范围,进而实现,自适应地确定分解数量。
VMD分解得到的各分量,均为有限频率带宽分量,但是会丢失一部分,丢失的是距中心频率较远的分量信号,分解数量越多时,丢失的信号越少,于是我们基于VMD的这一特点,对分量信号求和进行重构。
我们利用内燃机噪声仿真信号,经多次仿真试验,设定能量比阈值0.95,将其作为判断是否欠分解的依据,从而确定k值下限。
我们在保证完全分解的情况下,继续增加分解数,并结合中心频率观察法,判断是否过分解,确定k值上限,其具体实现步骤如下:
(1)初始化k为0(内燃机噪声信号频带较宽);
(2)k=k+1,进行变分模态分解,得到k个IMF分量;
(3)对所有IMF分量进行线性叠加,得到重构信号,求能量比C;
(4)设定能量比阈值为0.95,循环步骤2和3,直至C>0.95;
(5)k=k+1,进行变分模态分解,得到分量中心频率ωp(t);
(6)观察中心频率,循环步骤5,直至发生过分解;
(7)k=k-1,进行变分模态分解,输出分量信号。
互信息根据熵的概念引申而来,表征两个变量之间相互依赖的强弱程度,即两个变量间共同信息的含量。
当两个变量之间互信息越大,证明这两个变量的关联性越强;反之亦然,当互信息为0时,则表示两个变量相互独立。
相较传统的相关系数只能反映两个变量之间的线性相关,而无法衡量其间的非线性关系,相反,互信息从信息论的角度出发,在可以评估变量间共有信息量的同时,不局限于线性关系,相较相关系数具有很大优势。
独立分量分析方法,是一种广泛运用在信号处理领域的盲源分离技术,算法本质上是依据优化准则,针对源信号线性混合组成的合成信号,寻找分离矩阵,将信号分离成各个分量,并且使其尽量保持相互独立。
该算法的优点在于可以选取最佳步长,还可以对峭度不为零的独立分量进行分离,并且解决了传统盲源分离信号排序问题,另外,当信号存在坏点和伪局部极值点时,该方法鲁棒性明显提升了,2IVMD-RobustICA噪声源分离方法。
我们为了准确识别内燃机辐射噪声,提出了IVMD-RobustICA的噪声源分离方法。
在对单通道噪声信号进行IVMD分解的基础上,我们利用MI进行主要噪声分量的筛选,针对主要噪声分量,采用RobustICA进行分离,得到噪声信号独立分量,最后对噪声信号进行时频分析,分析流程如图1所示。
我们为了检验本方法的适用性,利用一组仿真信号来进行验证。
内燃机噪声一般为低频稳态、高频瞬态的噪声信号,为了检验变分模态分解,对于相近频率信号的分解能力,我们将仿真信号设计为50Hz的低频稳态信号、80Hz和100Hz的中频稳态信号,以及500Hz的高频瞬态冲击信号的合成信号,同时添加了0.02倍幅值的随机噪声信号,如图2(a)所示。
我们对于仿真信号采用IVMD,基于残余信号能量比的变分模态分解两种方法,进行分解处理并进行对比,仿真信号幅值为无量纲,如图2(b)所示,IVMD自动选择分解数得到4个分量,准确对源信号进行分解。
图2(c)中,EVMD得到2个信号,IMF₁与源信号S₁相近,IMF₂发生模态混叠,其包含瞬态信号和稳态信号分量。
仿真结果表明,我们提出的IVMD,相对于EVMD有更精确的分离结果,更适用于分解内燃机噪声信号,相对于传统的VMD,利用能量比和中心频率双阈值,能够自适应确定分解数量,避免了主观设定和多次试算的问题。
我们在半消音室中,对某6缸4冲程内燃机进行噪声试验,金属尖劈长度为800mm,本底噪声为25dB,截止频率为100Hz。
我们为了去除进排气噪声和风扇噪声的影响,进排气管覆盖消声棉,拆掉散热风扇,引出进排气噪声。
我们在噪声试验中,按照国标进行五点噪声测试,发动机运行工况为1200r/min,40%负荷。
我们将麦克风布置在发动机顶面中心上方1m处,利用光电传感器测量曲轴转角信号,在喷油泵、缸盖、皮带轮、空压机、机体、油底壳和摇臂罩等处,进行近场噪声采集,测试现场如图3所示。
我们将信号处理在Matlab中进行,首先我们要进行消除趋势项和滑动平均等预处理,去掉直流分量,减少信号累计误差。
我们将VMD分解信号以频带划分,噪声信号频率范围过宽,会导致分解后中心频率过于分散,为了提高分析准确性和计算效率,我们决定滤掉高于8kHz的噪声信号,从而得到辐射噪声信号时域波形和频谱如图4所示。
同转速倒拖工况信号频谱如图5所示。
我们此次研究的主要目的是,分离内燃机活塞敲击噪声、燃烧噪声及其他主要噪声源,利用IVMD分解噪声,得到能量比和中心频率如表1和表2所示。
我们可以看到,随着分解数量的增加,重构信号与源信号的能量比也在逐步增加,各分量中心频率也变得更接近。
依据我们提出的IVMD筛选方法,自动选择得到的分解数为8,如表3所示,我们对分解得到的8个信号分量与源信号进行互信息分析,以筛选主要噪声分量。
我们从表3可以看出,IMF₁,IMF₂,IMF₇和IMF₈与源信号相关性较强,确定这4个主要噪声分量。
我们将这4个主要噪声分量进行RobustICA分离,得到以下3个具有明显特征的独立分量IC₁,IC₂和IC₃,如图6~8所示。
我们从图6可知,IC1主要频率为1590Hz,再加上之前我们由图4(b)、图5可知,在倒拖及40%负荷工况频谱中,1590Hz均为峰值频率。
并且倒拖工况是最大峰值频率,不过由于在倒拖工况中内燃机并未发生燃烧,仅有机械运转,因此我们认为1590Hz噪声分量,并非燃烧引起的,判定其为机械噪声。
我们为了进一步确定IC₁机械噪声源,通过观察IC₁小波时频图发现,其能量集中点以120°间隔出现,与发火间隔相同,并且时域波形均在上止点附近急剧变化,这主要与缸内压力变化有关。
在机械噪声中,活塞往复运动中在气体压力、油膜力和摩擦力共同作用下,与缸套主副推力侧,发生碰撞产生的敲击噪声与IC₁特征重合,此外,由于麦克风放置在第3缸附近,可以明显看出,第3缸噪声相比于其他分量幅值更大,综上我们可以判定IC₁为活塞敲击噪声。
我们从图7可知,分量IC₂中心频率为1260Hz,我们对比图4、图5源信号与倒拖信号频谱,发现1260Hz在倒拖频谱中幅值较低,初步判定IC₂为燃烧噪声。
其中内燃机转速为1200r/min,发火频率为60Hz,1260Hz是发火次数的倍频,这验证了IC₂与内燃机发火有关系。
我们依据先验知识,了解内燃机燃烧噪声主要分布频率为1000~3000Hz,IC₂属于此范围,初步判定为燃烧噪声。
我们通过进一步观察分量IC₂小波时频图,发现IC₂以120°出现,第6缸发火时刻在390°曲轴转角左右,与IC₂中第4次在时域上出现能量集中时刻吻合,因此判断IC₂为燃烧噪声。
我们从图8可知,IC₃主要频率为720Hz,并且依据该内燃机参数,曲轴齿数为49,转速为20r/s,空压机齿数为41,速比为1.195,得到空压机转速约为24r/s,IC₃频率为转速基频的倍频,初步判定IC₃为空压机噪声。
我们决定进一步验证空压机噪声源,测定各附件近场噪声,计算得到各附件近场噪声相干函数,发现IC₃与空压机噪声相干函数最大,判定其为空压机噪声,如表4所示。
(1)我们在提出的IVMD方法在VMD的基础上,结合重构信号能量比及中心频率观察法,解决了VMD分解数的自适应选择问题,相比于EVMD分解方法,VMD能够快速准确地对内燃机噪声信号进行分解。
(2)我们提出的IVMD-RobustICA噪声源分离方法,在无需屏蔽其他缸的情况下,能够利用内燃机顶部单一通道噪声测试数据,对内燃机主要噪声源进行识别,有效分离出燃烧噪声、活塞敲击噪声和空压机噪声等。
相比于单一的VMD识别方法,这大大的提高了分析效率,降低了噪声分离的试验要求。
(3)此次研究连续小波变换时频分析精度有限,如果将更精确的时频分析方法引入噪声源识别,将会进一步提高噪声源识别的精度。
标签: #vmd算法matlab