第二行:将小波包树的第二行的四个节点收起来,也就是让第二行的节点变为树的最底层节点。因为第一行中小 波包树的节点个数是 第一层2个,第二层4个,第三层8个。现在将t2就是将第三层的节点再聚合回第二 层。
第三行:读取第二层四个节点系数的size
第四~七行:将所有四个节点的小波包系数变为0
第八行:将四个节点的系数重组到t3小波树中。
第九行:对t3小波树进行重构,获得信号wave2
load ir %将信号装入MATLAB工作环境s=X106_BA_time(1:1000) %取采样信号的前1~1000个采样点
is=length(s) %计算采样序列长度
subplot(321)plot(s)title('原始信号')%画出原始信号波形
xlabel('样本序列号')
ylabel('幅值A')
wpt=wpdec(s,3,'db1','shannon')% 用db1小波包对信号x3层分解,用shannon熵作为熵标准
plot(wpt)%绘制小波包树
N=allnodes(wpt)% 计算小波包分解树的结点
%提取各节点的小波包系数
for i=1:length(N)
X=wpcoef(wpt,i-1)
subplot(floor((length(N)+1)/2),2,i)plot(X)
title(['节点',num2str(i) '的小波包系数'])
end
figure
%各节点小波包重构系数
for i=1:length(N)
rcfs=wprcoef(wpt,i-1)
subplot(floor((length(N)+1)/2),2,i)plot(rcfs)
title(['重构节点',num2str(i) '小波包系数'])
end
%装载leleccum信号
load
leleccum
s
=
leleccum(1:3920)
%
用db1小波函数对信号进行三尺度小波分解
[C,L]=wavedec(s,2,'db1')
figure(1)
plot(s)
title('leleccum原始信号')
%
提取尺度1的低频系数
cA1
=
appcoef(C,L,'db1',1)
%用小波分解框架[C.L]计算1层低频系数的近似值,小波基为db1
%
提取尺度2的低频系数
cA2
=
appcoef(C,L,'db1',2)
figure(2)
subplot(2,1,1)
plot(cA1)
title('尺度1的低频系数')
subplot(2,1,2)
plot(cA2)
title('尺度2的低频系数')
%
提取尺度1的高频系数
cD1
=
detcoef(C,L,1)
%用小波分解框架[C.L]计算1层高频系数的近似值,小波基为db1
%
提取尺度2的高频系数
cD2
=
detcoef(C,L,2)
figure(3)
subplot(2,1,1)
plot(cD1)
title('尺度1的高频系数')
subplot(2,1,2)
plot(cD2)
title('尺度2的高频系数')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)