小波包分解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%小波包分解程序%%
m=load('300_30.txt'); 导入文件名为300_30的txt文件N=length(m);
for i=1:N-1 ;
q(i,1)=m(i,1);
end;
d=q';
s1=d;
change=1000;
[c,l] = wavedec(d,3,'db4'); %提取小波分解后的低频系数
ca3=appcoef(c,l,'db4',3); %提取各层小波分解后的高频系数cd3=detcoef(c,l,3);
cd2=detcoef(c,l,2);
cd1=detcoef(c,l,1); %对信号强制消噪
cdd3=zeros(1,length(cd3));%第三层高频系数cd3全置0 cdd2=zeros(1,length(cd2));%第二层高频系数cd2全置0 cdd1=zeros(1,length(cd1));%第一层高频系数cd1全置0
c1=[ca3,cdd3,cdd2,cdd1];%建立新的系数矩阵
s2=waverec(c1,l,'db4')%为新的分解结构
%[thr,sorh,keepapp]=ddencmp('den','wv',d);
%s2=wdencmp('gbl',c,l,'db4',4,thr,sorh,keepapp);
%subplot(413)
%plot(1:change,s2(1:change));
%title('默认软阈值消噪后信号')
figure(1)
subplot(9,2,1)
plot(1:change,s1(1:change))
title('原始信号')
ylabel('S1')
subplot(9,2,2)
plot(1:change,s2(1:change))
title('强制消噪后信号')
ylabel('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);
s12=norm(s132);
s13=norm(s133);
s14=norm(s134);
s15=norm(s135);
s16=norm(s136);
s17=norm(s137);
%计算方差
st10=std(s130);
st11=std(s131);
st12=std(s132);
st13=std(s133);
st14=std(s134);
st15=std(s135);
st16=std(s136);
st17=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(1:change,s130(1:change)); ylabel('S130');
subplot(9,2,5);plot(1:change,s131(1:change)); ylabel('S131');
subplot(9,2,7);plot(1:change,s132(1:change)); ylabel('S132');
subplot(9,2,9);plot(1:change,s133(1:change)); ylabel('S133');
subplot(9,2,11);plot(1:change,s134(1:change)); ylabel('S134');
subplot(9,2,13);plot(1:change,s135(1:change)); ylabel('S135');
subplot(9,2,15);plot(1:change,s136(1:change)); ylabel('S136');
ylabel('S137');
wpt=wpdec(s2,3,'db1','shannon');
%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);
disp('故障信号的特征向量');
snorm2=[s20,s21,s22,s23,s24,s25,s26,s27]; std2=[st20,st21,st22,st23,st24,st25,st26,st27]; subplot(9,2,4);plot(1:change,s230(1:change)); ylabel('S230');
subplot(9,2,6);plot(1:change,s231(1:change)); ylabel('S231');
subplot(9,2,8);plot(1:change,s232(1:change)); ylabel('S232');