基于nlm-ceemdan的水电机组信号去噪方法
技术领域
1.本发明涉及振动信号分析与处理技术领域,具体地指一种基于nlm-ceemdan的水电机组信号去噪方法。
背景技术:2.现有水电机组摆度信号的噪声滤除和故障特征提取方法按照其信号处理的算法的不同,大致可分为三类:一是基于傅里叶变换的传统的水电机组摆度信号去噪方法;二是基于小波分析的水电机组摆度信号去噪方法;三是利用经验模态分解算法(emd)以及其衍生算法类emd的水电机组摆度信号去噪方法,其又可以分为基于eemd算法、ceemd算法、vmd算法的水电机组摆度信号去噪方法。
3.根据现场实际应用经验来看,傅里叶变换比较适合用于平稳规则的线性信号分析,而不能充分分析非线性、非平稳的水电机组摆度信号。小波分析虽然可以进行相应的非平稳信号分析,但是其参数设置缺乏自适应性。经验模态分解(emd)虽可在时频上对信号进行全面分析,但其分解过程中容易产生模态混叠、端点效应等问题。集合经验模态分解(eemd)是emd的一种改进方法,它虽然可以部分抑制emd分解所产生的模态混叠和端点效应,但该方法本身也容易带来辅助噪声残留等新问题。互补集合经验模态分解(ceemd)方法,虽然可以有效抑制了残留辅助噪声,但其信号分解不完备、计算效率低等问题未能得到很好的解决。可变模态分解(vmd)能很好地避免端点效应问题,但需要事先设定分解的k值导致无法自适应分解,难以满足水电机组摆度信号在线自动监测的需求。近年来,利用自适应噪声完备集合经验模态分解(ceemdan)方法对非平稳振动信号的降噪已经在球磨机筒体振动信号去噪、脑电信号噪声滤除和轴承故障诊断等领域有了初步应用,并取得了较好的进展,但在水电机组振动信号处理领域还有待推广,并且ceemdan方法对低信噪比信号的去噪效果并不理想。
技术实现要素:4.本发明的目的在于针对现有技术中ceemdan方法对低信噪比信号的去噪效果不理想的问题,提出了一种基于nlm-ceemdan的水电机组信号去噪方法,可用于有效去除水电机组摆度信号中的噪声成分,以便于实现水电机组的在线监测和故障特征提取。
5.为实现上述目的,本发明所设计的基于nlm-ceemdan的水电机组信号去噪方法,其特殊之处在于,所述方法包括步骤:
6.s1对原始信号进行nlm非局部均值预处理降噪,从实际带噪声的水电机组摆度信号y(t)中滤除外部干扰噪声n(t)得到预处理后的摆度信号x(t);
7.s2将所述预处理后的摆度信号x(t)进行ceemdan集合经验模态分解,获得一系列的固有模态分量imf和一个趋势分量r;
8.s3分别计算各模态分量imf和趋势分量r的样本熵值;
9.s4根据所述样本熵值的大小,将分量集合划分为高频噪声分量、信噪混合分量和
低频有效分量三部分;
10.s5从原始水电机组摆度信号y(t)中滤除所述高频噪声分量和信噪混合分量,完成水电机组摆度信号的去噪。
11.优选地,步骤s1中对原始信号进行nlm非局部均值预处理降噪的方法为:实际带噪声的水电机组摆度信号y(t)为真实摆度信号x(t)和外部干扰噪声n(t)的叠加,利用nlm算法计算水电机组摆度信号y(t)中的全部相似块的加权平均值k(t)以估算真实信号x(t),即:
[0012][0013][0014][0015]
其中,d(t)表示以t为中心的搜索范围内所有点的集合;z(t)为归一化因子;ω(t,s)表示权重;λ为滤波器带宽参数;
△
为以t为中心的搜索块;l
△
为以s为中心的邻域块;u(t+δ)代表以结构块中心点t为中心点的搜索域中的相似块;
[0016]
经过nlm算法的计算,可从实际带噪声的水电机组摆度信号y(t)中滤除外部干扰噪声n(t)而得到预处理后的摆度信号x(t)
[0017]
y(t)=x(t)+n(t)。
[0018]
优选地,步骤s2的具体步骤包括:
[0019]
s21通过对所述预处理后的信号x(t)加n种不同的白噪音分别进行第一阶段的emd经验模态分解算法分解,得到n个固有模态分量imf
1i
(t),再对固有模态分量集合进行总体平均,得到第一阶固有模态分量imf1(t),有:
[0020][0021]
s22计算经预处理后的信号x(t)减去imf1(t)的剩余量,将剩余量x1(t)加入辅助噪音ε1e1(ωi[t])后继续emd分解直至得到满足imf2(t)条件的分量,之后对所得到的n个分量作整体平均,得到原信号的第二阶imf分量:
[0022]
x1(t)=x(t)-imf1(t)
[0023][0024]
其中ek表示给定信号经emd分解后获得的第k个模态分量;
[0025]
s23计算第k个余量,并向xk(t)中添加辅助噪音ε
kek
[ωi(t)]后进行第一阶段emd分解获取第一阶的固有模态分量集合,计算出原信号的第k+1阶固有模态分量:
[0026]
xk(t)=x
k-1
(t)-imfk(t)
[0027][0028]
s24重复执行步骤s23,当剩余量的极值点数小于或等于2个时停止迭代,得到最终的剩余量即残差分量r(t);经ceemdan分解后的x(t)可变成各模态分量和残差分量的和为:
[0029][0030]
优选地,步骤s3的具体步骤包括:
[0031]
s31按照下列公式将第一阶模态分量imf1(t)按顺序组成m维矢量,并计算m维矢量集合内不同向量间的距离,
[0032]
imf1(t)={u(i),u(i+1),
…
u(i+m-1)}
[0033]dij
=max|u(i+k)-u(j+k)|
[0034]
s32按照下列公式计算n
ij
(r)与总的矢量个数n-m+1的比值以及该比值的均值:
[0035][0036][0037]
其中,r(r》0)为给定阈值,n
ij
(r)为统计d
ij
《r的个数。
[0038]
s33将维数增加到m+1,并计算m维矢量集合内不同向量间的距离,根据下式重新计算新的比值均值和样本熵的值:
[0039][0040][0041]
通过将imfk(t)和r(t)替代样本熵算法中的第一阶模态分量imf1(t),依次计算其他各模态分量和趋势分量的样本熵值。
[0042]
优选地,步骤s4中划分分量集合的方法为从摆度信号各分量的样本熵中计算所有分解信号的样本熵值总和n,再分别计算各个分解信号样本熵值在n中的占比,超过20%的划分为高频噪声分量;占比为5%~20%的划分为信噪混合分量;占比低于5%划分为低频有效分量。
[0043]
优选地,步骤s4中利用小波阈值去噪方法从信噪混合分量中滤出噪声成分。
[0044]
优选地,所述方法基于matlab软件中的应用算法进行去噪处理。
[0045]
基于上述方法,本发明还提出一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于nlm-ceemdan的水电机组信号去噪方法。
[0046]
本发明还提出一种计算机设备,其包括存储器、处理器和存储在存储器中可供处理器运行的程序指令,其中所述处理器执行所述程序指令以实现上述的基于nlm-ceemdan的水电机组信号去噪方法。
[0047]
本发明提出的一种基于nlm-ceemdan和样本熵的水电机组摆度信号去噪的新方法,首先对原始信号进行非局部均值(nlm)预处理降噪,然后采用ceemdan方法分解预处理信号得到一系列imf分量,同时计算各个分量的样本熵,并根据样本熵值大小将分量划分为高频含噪分量、信噪混合分量和低频有效分量,最后进一步通过小波阈值去噪方法滤出信噪混合分量中的噪声成分,连同高频含噪分量一起从原始摆度信号中滤除,从而完成水电机组摆度信号的去噪。该方法可以有效减少背景噪声对有效信号分析的影响,同时减少信号处理过程中的模态混叠和端点效应,能有效地减少辅助噪声的影响,显著提升水电机组
摆度信号去噪的准确度。
[0048]
本发明是通过在matlab中应用算法来对具体的水电机组摆度信号模型进行去噪处理,并得到去噪前后的水电机组摆度信号波形图进行定性的去噪效果对比,同时根据去噪前后的去噪性能指标进行定量的去噪效果对比。
[0049]
因此,本发明具有如下优点:
[0050]
(1)相较于传统的原始信号分解分量重构的方法,本文提出的从原始信号中直接滤除噪声成分的方法使去噪后的摆度信号去噪效果得到极大的提高,更接近于真实摆度信号。
[0051]
(2)基于nlm-ceemdan和样本熵的水电机组摆度信号去噪方法对于仿真信号及实测信号的去噪效果都优于传统方法,能有效滤除噪声成分,为水电机组摆度信号在线监测提供有力帮助。
附图说明
[0052]
图1为本发明方法的流程图。
[0053]
图2为水电机组摆度信号采集流程图。
[0054]
图3为水电机组上导摆度实测信号波形图。
[0055]
图4为去噪后的水电机组上导摆度实测信号波形图。
[0056]
图5为水电机组下导摆度实测信号波形图。
[0057]
图6为去噪后的水电机组下导摆度实测信号波形图。
[0058]
图7为水电机组水导摆度实测信号波形图。
[0059]
图8为去噪后的水电机组水导摆度实测信号波形图。
具体实施方式
[0060]
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述,但以下实施例仅是说明性的,本发明的保护范围并不受这些实施例的限制。
[0061]
某地大型水电机组的上导、下导和水导的振动信号进行了采集,信号采集流程如附图2所示,该水电机组摆度信号采集过程中的机组转速为250r/min,试验的采样频率fs为2048hz,截取不同摆度信号的采样数据中的6000个点进行分析,以确保信号处理分析中的特征参数能全面真实地反映实际工况。由于无法从实测信号得到理想的摆度信号,下面定义了信号去噪前后的噪声抑制比(nrr),来表征去噪后有效信号的突出程度,该值越大,则去噪后的有效信号越突出。
[0062][0063]
其中,分别表示信号去噪前后的方差。
[0064]
下面结合实施例描述本发明所述一种基于nlm-ceemdan和样本熵的水电机组摆度信号去噪的方法,不失一般性,针对实例中的水电机组的实际上导摆度信号、实际下导摆度信号以及实际水导摆度信号均用nlm-ceemdan和样本熵的方法进行去噪处理,并将结果与利用小波阈值去噪、ceemdan方法处理同一种信号的结果进行对比,以验证基于nlm-ceemdan和样本熵的水电机组摆度信号去噪的方法的优越性,包括如下所述具体过程:
[0065]
实施例一 水电机组的实际上导摆度信号去噪
[0066]
如图1所示,本发明实施例提供的基于nlm-ceemdan的水电机组信号去噪方法,包括如下步骤:
[0067]
s1利用nlm算法对水电机组实际上导摆度信号进行预处理降噪,该预处理降噪过程如下:
[0068]
实际带噪声的水电机组摆度信号y(t)为真实摆度信号x(t)和外部干扰噪声n(t)的叠加,利用nlm算法计算水电机组摆度信号y(t)中的全部相似块的加权平均值k(t)以估算真实信号x(t),即:
[0069][0070][0071][0072]
其中,d(t)表示以t为中心的搜索范围内所有点的集合;z(t)为归一化因子;ω(t,s)表示权重;λ为滤波器带宽参数;
△
为以t为中心的搜索块;l
△
为以s为中心的邻域块;u(s+δ)代表以目标样本点s为中心的目标搜索结构域中的某相似块;u(t+δ)代表以结构块中心点t为中心点的搜索域中的某相似块;
[0073]
经过nlm算法的计算,可从实际带噪声的水电机组摆度信号y(t)中滤除外部干扰噪声n(t)而得到预处理后的摆度信号x(t)
[0074]
y(t)=x(t)+n(t)。
[0075]
s2将预处理后的摆度信号x(t)进行ceemdan分解,获得一系列的固有模态分量imf和一个趋势分量r;具体步骤如下:
[0076]
s21通过对预处理后的信号x(t)加n种不同的白噪音分别进行第一阶段的emd算法分解,得到n个固有模态分量imf
1i
(t),再对固有模态分量集合进行总体平均,得到第一阶固有模态分量imf1(t),有:
[0077][0078]
s22计算经预处理后的信号x(t)减去imf1(t)的剩余量,将剩余量x1(t)加入辅助噪音ε1e1(ωi[t])后继续emd分解直至得到满足imf2(t)条件的分量,之后对所得到的n个分量作整体平均,得到原信号的第二阶imf分量:
[0079]
x1(t)=x(t)-imf1(t)
[0080][0081]
其中ek表示给定信号经emd分解后获得的第k个模态分量;
[0082]
s23计算第k个余量,并向xk(t)中添加辅助噪音ε
kek
[ωi(t)]后进行第一阶段emd分解获取第一阶的固有模态分量集合,计算出原信号的第k+1阶固有模态分量:
[0083]
xk(t)=x
k-1
(t)-imfk(t)
[0084][0085]
s24重复执行步骤s23,当剩余量的极值点数小于或等于2个时停止迭代,得到最终的剩余量即残差分量r(t);经ceemdan分解后的x(t)可变成各模态分量和残差分量的和为:
[0086][0087]
s3分别计算计算水电机组上导摆度信号x(t)的各模态分量和趋势分量的样本熵值;具体步骤包括:
[0088]
s31按照下列公式将第一阶模态分量imf1(t)按顺序组成m维矢量,并计算m维矢量集合内不同向量间的距离,
[0089]
imf1(t)={u(i),u(i+1),
…
u(i+m-1)}
[0090]dij
=max|u(i+k)-u(j+k)|
[0091]
s32按照下列公式计算n
ij
(r)与总的矢量个数n-m+1的比值以及该比值的均值:
[0092][0093][0094]
其中,r(r》0)为给定阈值,n
ij
(r)为统计d
ij
《r的个数。
[0095]
s33将维数增加到m+1,并计算m维矢量集合内不同向量间的距离,根据下式重新计算新的比值均值和样本熵的值:
[0096][0097][0098]
通过将imfk(t)和r(t)替代样本熵算法中的第一阶模态分量imf1(t),从而将其他各模态分量和趋势分量的样本熵值依次计算出来。如表1所示,在本实施例中,计算得出的样本熵值分别为:d1=2.052、d2=2.125、d3=2.147、d4=1.572、d5=0.834、d6=0.534、d7=0.226、d8=0.034、d9=0.028、d
10
=0.033、d
11
=0.009、dr=0.004。
[0099]
s4根据上述样本熵值的大小,将imf1、imf2、imf3分量划分为高频噪声分量,将imf4、imf5、imf6分量划分为信噪混合分量,将imf7、imf8、imf9、imf
10
、imf
11
、r分量划分为低频有效分量,并且进一步利用小波阈值去噪方法从信噪混合分量imf4、imf5、imf6中滤出噪声成分w1。
[0100]
s5从水电机组的实际上导摆度信号中滤除高频噪声分量imf1、imf2、imf3和信噪混合分量中的噪声成分w1即可完成基于nlm-ceemdan和样本熵方法的实例水电机组的实际上导摆度信号的去噪。通过matlab算法拟合计算,可分别得到实例水电机组的实际上导摆度信号去噪前后的波形图,分别如图3和4所示。
[0101]
s6分别利用小波阈值去噪的方法、ceemdan滤波去噪的方法对同一个水电机组实际上导摆度信号进行去噪处理。
[0102]
s7分别计算利用nlm-ceemdan方法、小波阈值滤波方法、ceemdan滤波方法对水电
机组实际上导摆度信号去噪后的信噪比nrr,为nrr1=17.9912、nrr2=14.9384、nrr3=9.7293,可以发现nrr1值最大,即证明了基于nlm-ceemdan和样本熵的水电机组摆度信号去噪方法优于传统的滤波去噪方法。该信噪比nrr的数值也可以见于表2。
[0103]
实施例二 水电机组的实际下导摆度信号去噪
[0104]
s1利用nlm算法对水电机组实际上导摆度信号进行预处理降噪;
[0105]
s2将预处理后的摆度信号x(t)进行ceemdan分解,获得固有模态分量imf和趋势分量r;
[0106]
s3分别计算计算水电机组下导摆度信号x(t)的各模态分量和趋势分量的样本熵值;
[0107]
在本实施例中,计算得到各模态分量和趋势分量的样本熵值分别为d1=1.592、d2=1.591、d3=1.821、d4=1.055、d5=0.53、d6=0.475、d7=0.101、d8=0.118、d9=0.053、d
10
=0.013、d
||
=0.009、dr=0.005。该数值也示于表1。
[0108]
s4根据样本熵值的大小,将imf1、imf2、imf3分量划分为高频噪声分量,将imf4、imf5、imf6分量划分为信噪混合分量,将imf7、imf8、imf9、imf
10
、imf
11
、r分量划分为低频有效分量,并且进一步利用小波阈值去噪方法从信噪混合分量imf4、imf5、imf6中滤出噪声成分w2。
[0109]
s5再从水电机组的实际下导摆度信号中滤除高频噪声分量imf1、imf2、imf3和信噪混合分量中的噪声成分w2即可完成基于nlm-ceemdan和样本熵方法的实例水电机组的实际下导摆度信号的去噪。通过matlab算法拟合计算,可分别得到实例水电机组的实际下导摆度信号去噪前后的波形图,分别如图5和6所示。
[0110]
s6最后分别利用小波阈值去噪的方法、ceemdan滤波去噪的方法对同一个水电机组实际下导摆度信号进行去噪处理。
[0111]
s7分别计算利用nlm-ceemdan方法、小波阈值滤波方法、ceemdan滤波方法对水电机组实际下导摆度信号去噪后的信噪比nrr,为nrr1=18.2869、nrr2=16.7255、nrr3=13.4247,可以发现nrr1值最大,即证明了基于nlm-ceemdan和样本熵的水电机组摆度信号去噪方法优于传统的滤波去噪方法。该信噪比nrr的数值示于表2。
[0112]
实施例三 水电机组的实际水导摆度信号去噪
[0113]
s1利用nlm算法对水电机组实际上导摆度信号进行预处理降噪;
[0114]
s2将预处理后的摆度信号x(t)进行ceemdan分解,获得固有模态分量imf和趋势分量r;
[0115]
s3分别计算计算水电机组下导摆度信号x(t)的各模态分量和趋势分量的样本熵值;
[0116]
在本实施例中,各模态分量和趋势分量的样本熵值分别为d1=1.833、d2=1.468、d3=1.177、d4=0.702、d5=0.593、d6=0.514、d7=0.26、d8=0.101、d9=0.063、d
10
=0.035、d
11
=0.009、dr=0.003。该数值同样示于表1。
[0117]
s4根据样本熵值的大小,将imf1、imf2、imf3分量划分为高频噪声分量,将imf4、imf5、imf6分量划分为信噪混合分量,将imf7、imf8、imf9、imf
10
、imf
11
、r分量划分为低频有效分量,并且进一步利用小波阈值去噪方法从信噪混合分量imf4、imf5、imf6中滤出噪声成分w3。
[0118]
s5再从水电机组的实际下导摆度信号中滤除高频噪声分量imf1、imf2、imf3和信噪混合分量中的噪声成分w3即可完成基于nlm-ceemdan和样本熵方法的实例水电机组的实际下导摆度信号的去噪。通过matlab算法拟合计算,可分别得到实例水电机组的实际下导摆度信号去噪前后的波形图,分别如图7和8所示。
[0119]
s6最后分别利用小波阈值去噪的方法、ceemdan滤波去噪的方法对同一个水电机组实际水导摆度信号进行去噪处理。
[0120]
s7分别计算利用nlm-ceemdan方法、小波阈值滤波方法、ceemdan滤波方法对水电机组实际下导摆度信号去噪后的信噪比nrr,为nrr1=18.2869、nrr2=16.7255、nrr3=13.4247,可以发现nrr1值最大,即证明了基于nlm-ceemdan和样本熵的水电机组摆度信号去噪方法优于传统的滤波去噪方法。该信噪比nrr的数值示于表2。
[0121]
表1摆度信号各分量的样本熵
[0122][0123]
表2不同方法去噪后的摆度信号噪声抑制比
[0124][0125]
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。本领域的技术人员容易理解,以上所述仅为本发明专利的较佳实施例而已,并不用以限制本发明专利,凡在本发明专利的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明专利的保护范围之内。
[0126]
本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。