基于小波分析的故障诊断算法Word文件下载.docx
《基于小波分析的故障诊断算法Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于小波分析的故障诊断算法Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。
但是,当故障的程度很小时,使用小波变换所得的可视信息是有限的,这些信息用于故障检测是困难的。
某些研究员提出了利用模式识别中的统计相似性分析的方法进行故障特征提取与诊断,信号检测值与样板之间的相似性是通过二者之间的距离来实现的。
直接使用小波变换的小波系数的所有值作为特征矢量是不现实的,因此必须进行特征压缩。
这一方法特别适用于缓变故障或具有故障趋势的系统故障诊断。
3)
模糊逻辑理论是描述与处理广泛存在的不精确、模糊的事件和概念的有效理
论工具。
近年来人们已将这一理论成果应用于故障诊断中。
但在故障诊断中,通
常是将这一理论和其他方法相结合来实现的。
某研究人员将小波变换和模糊逻辑理论相结合,实现对影响电网稳定性的干扰源故障诊断。
还有研究者用小波变换分析模糊数据的局部时频特性来进行故障的检测与分离,利用了在线和离线的学习算法进行规则库的设计和更新。
将小波分析理论与神经网络理论相结合的小波神经网络(WaveletNeuralNetwork,WNN)最早是由ZhangQinghua等提出的。
小波网络的基本思想是基于任何函数或信号可以由小波函数表示。
小波网络用于故障诊断,主要用于信号逼近和故障分类。
目前,用于故障诊断的小波神经网络,主要有两种方式:
它的基本思想是将信号经小波变换后,提取相应的故障特征,再将所得的故障特征输入给常规神经网络,利用神经网络的非线性映射能力,对故障进行识别和诊断。
某人提出了利用辅助式小波神经网络实现对动态系统的辨识方法。
有研究者利用小波包的多维多分辨率特性,对电机振动信号进行分解重构,提取电机故障特征信号,将其作为特征向量输入ART2(自适应谐振)神经网络,可对电机工作状态进行在线监测和故障诊断。
某研究团队针对非线性系统中的多重并发故障,提出了在输入层对残差信号进行二进制离散小波变换,由故障信号多尺度
下的细节分量进行故障特征的提取,并将其输入到神经网络进行故障分类与识别。
该方法成功实现了对某歼击机同时发生的平尾卡死故障和副翼损伤故障的诊断。
它的基本思想是将常规单隐层神经网络的隐节点函数用小波函数代替。
利用小波网络的非线性映射能力对非线性动力系统实现故障诊断。
某研究员提出了一种可对任意非线性时变系统进行辨识的小波神经网络,它采用了自校正移动窗的递推最小二乘算法,可自动地调节移动窗的长度来跟踪非线性时变系统的动态特性,比常规神经网络具有更好的跟踪精度和辨识性能。
某人提出了在BF网络
的基础上引入小波函数的方法对电力系统的接地短路故障进行诊断。
数据融合(DataFusion)指的是将不同性质的多个传感器在不同层次上获得的关于同一事物的信息、或同一传感器在不同时刻获得的同一事物的信息综合成一个信息表征形式的处理过程。
数据融合技术现已广泛应用于工业过程监控、机器人制造、医疗诊断和模式识别等众多领域中。
现代高性能、多层次、复杂系统往往要求多个传感器在不同的层次上对其状态或过程进行监测、分析和综合,所以数据融合系统可以获得关于目标更精确的信息。
某篇期刊论文中提出了利用多传感器数据融合技术进行非线性系统的状态参数估计方法。
同时小波分析具有尺度可变的特点,能将信号的特征在不同的尺度下刻画出来。
将小波分析的多分辨特点与数据融合技术相结合进行故障诊断,是一个很有前途的诊断方法。
6)小波分析与混沌理论相结合的故障诊断方法
混沌(Chaos)的分形维数、关联维数等特征量可以描述非线性系统的特征。
在实际的故障诊断中,有一些变量是难于直接测量到的,而在有些极端情况下,甚至不知道系统独立变量有几个,也不知道哪些是系统变量。
根据动力学系统方法,系统变量之间存在关联作用,某个变量的时间序列蕴藏着参与动态的全部变量的痕迹。
因而,当监测参量有限时,可以通过混沌特征量进行系统故障监测与诊断。
某研究人员提出利用小波多分辨模型来辨识混沌系统,混沌系统对初始条件极端敏感,两个(或多个)相近的初始条件将导致完全不同的混沌轨迹,这就使得混沌系统建模变得相当困难。
作者根据小波多分辨率分析特点,利用小波对非线性强有力的逼近能力,采用张量积构造多维小波框架,利用降维分解建模方法解决高维空间中的“维数灾”问题。
这一方法给非线性系统的故障诊断提出了一个新的方法和思路。
7)其他方法
除了上面介绍的一些方法外,小波分析在故障诊断中的应用还有其他一些方法。
如小波分析与数据挖掘相结合的故障诊断方法、小波分析与时间序列统计与估计分析相结合的故障诊断方法,甚至还有上述多种方法的组合,如小波分析、神经网络和专家系统的组合,小波分析、神经网络和粗糙集的组合等。
利用专家系统、神经网络和小波分析技术组成的混合故障诊断系统,实现对某钢厂的冷轧自动化生产线系统进行实时状态监测和故障诊断。
某医疗科研机构提出了利用小波分析与粗糙集理论、神经网络相结合的信号处理方法,实现对癫痫病的诊断分析。
MATLA仿真
本次仿真中将采用小波包变换分析两个信号的特征向量和各频率成分的功率谱。
产生两个信号;
s1为正常信号,s2为故障信号
3St=0.001:
0.001:
1:
t=l:
1000;
sl=siti(2*pi*50*t*0.t)01)+^in(2*pi*120*t*0i.'
OOlHrandtUlenath(t)):
Slrand随机产生函數
□fort=l:
500:
s2(t)=sinf2*pi*50itftiFO.00I)+sin(2*pi*l20*t*0.001)+rand(UenEthh));
-md
Ffort=501:
1000;
s2(t)=sin(2*pi*200*'
t*0.001)-Hsin(2*pi*12O*t#0»
001)+rand(Ijletifth/t));
-end
仿真运行程序,两个信号如下图:
寸Ukl!
□aafe
-Kfy©
eiS;
s□Id■口
原始信号
故障信号
c.,
VHI亠38i-lI■A■■j-Lh_■!
_>
■--■.;
Jr-iiJI・■■h,丄I
■%£
001000
sr5001000
52|1^丽甬丽郦甲丽丽丑而两J;
fo500
1-_0号尸…卩^呼,■呻—■■斗E
■^'
0500
JJo500
Sg05001000
s■05001000
鱼”*■■呻H耳
s05001000
I•訪§
£
O0
500
获得小波正交基和节点数据如下:
1000
100^
a
in
m
罚j
s8
-2
Rgg审+
605001000
<
N1-
sSF
s0
Cln-
SIE
50
:
〔%500
'
0500
siF
[0
胃•!
丫呻帕・•"
*
5-1
05001000
I*****!
-u—"
-i-J^^-r-Tj-.——J
SOO
X-
FileEditViewInsertToolsDesktopWindowHkipNodeLabelNodeActionna日⑥fexo®
fliS;
s□Id□B
datafornode:
0or(0,0).
TreeDecompositiciri
2-
1.5
o.s
k3;
0)P:
1)p;
2)p;
3)p;
4){3:
5|(3;
^l(3:
7)
勿0400CO'
CSOO1000
两个信号的功率谱:
Jaasfe®
凰K-层□Id■□
原始信号的功率谱
故障信号的功率谱
°
300
250'
200
gj
丘ISO
100
50
200400COO
250
150
SO
200400eoo
两个信号选取八个特征向量点进行分析:
bAGEBBS
閃30的功率谱
CL
400
昼200
Q_
2r
CMcnE
COcnE
200400600
QL
50r
10
JLU..
200400m
600
31
D_
C00
一_u_Lk
200400
5
mfOE
04
9
T0.2
也5
Jftj
Ul4
jj.
%
200400GOO
I—■tihI
Daa©
fe匕、■fj®
逞/Fs□IdBQ
S⑼的I力率诸
亶200
eon
60D
20
CO
pg10
cn
Ol
J
0_
」Li
IL
JL.,Il
eoo
0.5
I.
LnfOc
1
IL
csi□
.UUu
JJ1
9m
I
gJ
h
il1k
jjJi111
.1
GOO
得到正常信号和故障信号的特征向量如下:
0:
Si
TLMn」贞肿唧事莎zk二□匸E链txjaa宦24.u3dBii啤脸直潼,
Tfdl-
li'
S
0.1(^:
■ubJt
2D.i™f«
1S
]1_0113
17.24[4
r].tS23
e.Alt?
3L11
■I
a.3111
■12»
L
每次运行得到的数据(包括上面的功率谱)应该不一样,因为存在随机产生。
如下图,某次运行得到的结果:
EniqrH.L-
■id]-
札|曲4
1.W6I
检测到信号的突变点,可是识别出故障,也可以通过
通过特征向量的对比,模式匹配,识别出故障的类型。
结语:
总之,小波分析故障诊断方法研究已经取得了相当大的进展,但就这些理论和方法本身来说还不是很成熟,还需要进一步完善,无论是在理论研究还是工程应用方面,都还有许多工作要做。
①故障检测中的小波基选择
要有效地检测故障,必须选择合适的小波基波。
目前小波基波的选择虽有一些经验,但还没有一个理论标准,有待进一步地规范。
②小波分析和其他理论和方法的结合
小波分析虽然能有效地检测故障,但通常很难对故障进行识别。
因此,将小波分析和其他各种知识方法的结合,如神经网络、专家系统、粗糙集理论和数据融合等,发挥各自的优点,是小波分析在故障诊断中应用的一个重要研究方向,因
此要加强小波分析与各种方法结合的理论和方法实现研究。
③加强实际应用研究
故障诊断理论已取得很大的发展,但大多数方法还只是着重于理论和方法上的研究,真正应用于工作实际的较少,小波分析故障诊断也不例外。
因此要加强实际应用研究,如开发实用的小波分析应用软件,并解决实际应用中的硬件实现问题。
附录:
matlab程序
%t=0.001:
0.001:
1;
t=1:
s1=sin(2*pi*50*t*0.001)+sin(2*pi*120*t*0.001)+rand(1,length(t));
rand随机产生函数
fort=1:
500;
s2(t)=sin(2*pi*50*t*0.001)+sin(2*pi*120*t*0.001)+rand(1,length(t));
end
fort=501:
s2(t)=sin(2*pi*200*t*0.001)+sin(2*pi*120*t*0.001)+rand(1,length(t));
subplot(9,2,1)plot(s1)title('
原始信号'
)ylabel('
S1'
)
%subplot(m,n,p)m-行数n-列数p-位置
subplot(9,2,2)plot(s2)title('
故障信号'
S2'
wpt=wpdec(s1,3,
db1'
'
shannon'
);
%小波包函数
plot(wpt);
s130=wprcoef(wpt,[3,0]);
度的信号s131=wprcoef(wpt,[3,1]);
s132=wprcoef(wpt,[3,2]);
s133=wprcoef(wpt,[3,3]);
s134=wprcoef(wpt,[3,4]);
s135=wprcoef(wpt,[3,5]);
s136=wprcoef(wpt,[3,6]);
s137=wprcoef(wpt,[3,7]);
s10=norm(s130);
%求范数
s11=norm(s131);
%将某个节点的小波包系数重构,得到的是和原信号一样长
norm(s132);
norm(s133);
norm(s134);
norm(s135);
norm(s136);
norm(s137);
std(s130);
std(s131);
std(s132);
std(s133);
std(s134);
std(s135);
std(s136);
std(s137);
%求标准差
disp('
正常信号的特征向量'
snorm1=[s10,s11,s12,s13,s14,s15,s16,s17]std1=[st10,st11,st12,st13,st14,st15,st16,st17]subplot(9,2,3);
plot(s130);
ylabel('
S130'
subplot(9,2,5);
plot(s131);
ylabel('
S131'
subplot(9,2,7);
plot(s132);
S132'
subplot(9,2,9);
plot(s133);
S133'
subplot(9,2,11);
plot(s134);
S134'
subplot(9,2,13);
plot(s135);
S135'
subplot(9,2,15);
plot(s136);
S136'
subplot(9,2,17);
plot(s137);
S137'
%plot(wpt);
s230=wprcoef(wpt,[3,0]);
s231=wprcoef(wpt,[3,1]);
s232=wprcoef(wpt,[3,2]);
s233=wprcoef(wpt,[3,3]);
s234=wprcoef(wpt,[3,4]);
s235=wprcoef(wpt,[3,5]);
s236=wprcoef(wpt,[3,6]);
s237=wprcoef(wpt,[3,7]);
s20=norm(s230);
s21=norm(s231);
s22=norm(s232);
s23=norm(s233);
s24=norm(s234);
s25=norm(s235);
s26=norm(s236);
s27=norm(s237);
st20=std(s230);
st21=std(s231);
st22=std(s232);
st23=std(s233);
st24=std(s234);
st25=std(s235);
st26=std(s236);
st27=std(s237);
故障信号的特征向量'
snorm2=[s20,s21,s22,s23,s24,s25,s26,s27]std2=[st20,st21,st22,st23,st24,st25,st26,st27]subplot(9,2,4);
plot(s230);
S230'
subplot(9,2,6);
plot(s231);
S231'
subplot(9,2,8);
plot(s232);
S232'
subplot(9,2,10);
plot(s233);
S233'
subplot(9,2,12);
plot(s234);
S234'
subplot(9,2,14);
plot(s235);
S235'
subplot(9,2,16);
plot(s236);
S236'
subplot(9,2,18);
plot(s237);
S237'
%fftfigure
y1=fft(s1,1024);
%对信号s1前1024个点进行fft
py1=y1.*conj(y1)/1024;
y2=fft(s2,1024);
py2=y2.*conj(y2)/1024;
y130=fft(s130,1024);
py130=y130.*conj(y130)/1024;
y131=fft(s131,1024);
py131=y131.*conj(y131)/1024;
y132=fft(s132,1024);
py132=y132.*conj(y132)/1024;
y133=fft(s133,1024);
py133=y133.*conj(y133)/1024;
y134=fft(s134,1024);
py134=y134.*conj(y134)/1024;
y135=fft(s135,1024);
py135=y135.*co