• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: 其他
  • 标签: matlab  

资源简介

自己构造一个数字信号,然后分解成3层,自己可以把信号换成自己的实验数据,进行分解就可以啦。可以的话,求评论。

资源截图

代码片段和文件信息

tic
clear
clc
a=15; b=0.5; f=200; m=pi/3; %设定初始值
N=400; flag=1;
%下面代码是分段绘制信号,时间间隔为0.001,数据点数是1001个
t1=linspace(0.3010.5200);
xt1=9*sin(100*pi*t1)+5*sin(180*pi*t1)+sin(240*pi*t1);
t2=linspace(0.5010.7200);
xt2=9*sin(100*pi*t2)+5*sin(180*pi*t2)+sin(240*pi*t2)+sin(2*pi*f*t2+m.*exp(-a*(t2-b)));
t=[t1t2];
xt=[xt1xt2];
figure(1);
plot(txt);
title(‘原始信号图‘); xlabel(‘时间(t)‘); ylabel(‘幅值‘); 

T=wpdec(xt3‘db2‘); %进行小波包分解
plot(T);  figure(2);
%计算小波包分解系数
x1=wpcoef(T[10]); 
x2=wpcoef(T[11]); 
z1=wpcoef(T[20]);  
z2=wpcoef(T[21]); 
z3=wpcoef(T[22]); 
z4=wpcoef(T[23]); 
y1=wpcoef(T[30]);  
y2=wpcoef(T[31]); 
y3=wpcoef(T[32]); 
y4=wpcoef(T[33]); 
y5=wpcoef(T[34]); 
y6=wpcoef(T[35]); 
y7=wpcoef(T[36]); 
y8=wpcoef(T[37]); 
figure(3);
subplot(321);   plot(x1);
subplot(322);   plot(x2);
subplot(323);   plot(z1);
subplot(324);   plot(z2);
subplot(325);   plot(z3);
subplot(326);   plot(z4);
figure(4);
subplot(421);   plot(y1);
subplot(422);   plot(y2);
subplot(423);   plot(y3);
subplot(424);   plot(y4);
subplot(425);   plot(y5);
subplot(426);   plot(y6);
subplot(427);   plot(y7);
subplot(428);   plot(y8);

%重构小波包系数
xx1=wprcoef(T[10]); 
xx2=wprcoef(T[11]); 
zz1=wprcoef(T[20]);  
zz2=wprcoef(T[21]); 
zz3=wprcoef(T[22]); 
zz4=wprcoef(T[23]); 
yy1=wprcoef(T[30]); 
yy2=wprcoef(T[31]); 
yy3=wprcoef(T[32]); 
yy4=wprcoef(T[33]); 
yy5=wprcoef(T[34]); 
yy6=wprcoef(T[35]); 
yy7=wprcoef(T[36]); 
yy8=wprcoef(T[37]); 
figure(5);
subplot(321);   plot(txx1); title(‘第一层分解低频段‘);
subplot(322);   plot(txx2); title(‘第一层分解高频段‘);
subplot(323);   plot(tzz1); title(‘第二层分解低频段1‘);
subplot(324);   plot(tzz2); title(‘第二层分解低频段2‘);
subplot(325);   plot(tzz3); title(‘第二层分解高频段1‘);
subplot(326);   plot(tzz4); title(‘第二层分解高频段2‘);
figure(6);
subplot(421);   plot(tyy1); title(‘第三层分解低频段1‘);
subplot(422);   plot(tyy2); title(‘第三层分解低频段2‘);
subplot(423);   plot(tyy3); title(‘第三层分解低频段3‘);
subplot(424);   plot(tyy4); title(‘第三层分解低频段4‘);
subplot(425);   plot(tyy5); title(‘第三层分解高频段1‘);
subplot(426);   plot(tyy6); title(‘第三层分解高频段2‘);
subplot(427);   plot(tyy7); title(‘第三层分解高频段3‘);
subplot(428);   plot(tyy8); title(‘第三层分解高频段4‘);
%计算各个频段的能量
a=pow2(1);  %计算第一次分解后的能量
aa=xx1.^2;    bb=(aa.*a)/(N-a);
for i=1:a:N-a-1 
    bb(1i+a)=bb(1i+a)+bb(1i);
end
E1= bb(1i+a);
aa=xx2.^2;    bb=(aa.*a)/(N-a);
for i=1:a:N-a-1 
    bb(1i+a)=bb(1i+a)+bb(1i);
end
E2= bb(1i+a);

a=pow2(2);   %计算第二次分解后的能量
aa=zz1.^2;    bb=(aa.*a)/(N-a);
for i=1:a:N-a-1  
    bb(1i+a)=bb(1i+a)+bb(1i);
end
E3= bb(1i+a);
aa=zz2.^2;    bb=(aa.*a)/(N-a);
for i=1:a:N-a-1   
    bb(1i+a)=bb(1i+a)+bb(1i);
end
E4= bb(1i+a);
aa=zz3.^2;    bb=(aa.*a)/(N-a);
for i=1:a:N-a-1   
    bb(1i+a)=bb(1i+a)+bb(1i);
end
E5= bb(1i+a);
aa=zz4.^2;    bb=(aa.*a)/(N-a);
for i=1:a:N-a-1   
    bb(1i+a)=bb(1i+a)+bb(1i);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4381  2010-04-23 22:14  小波包分解\waveletpacketsZHH.m

     目录          0  2018-10-25 19:31  小波包分解

----------- ---------  ---------- -----  ----

                 4381                    2


评论

共有 条评论