cuijie64510 发表于 2008-12-31 14:58

小波分解与重构

求救把信号进行5层分解与重构的命令怎么写啊?自己的重构命令不知道对不对?到最后一步S5运行不了是怎么回事呢?请高人指点!
%用db4小波进行5尺度分解
=wavedec(s,5,'db4');
%=wavedec(s(2,:),3,'db4');
%取第5层低频系数
ca5 = appcoef(c,l,'db4',5);
%取各层高频系数
cd5=detcoef(c,l,5);
cd4=detcoef(c,l,4);
cd3=detcoef(c,l,3);
cd2=detcoef(c,l,2);
cdl=detcoef(c,l,1);
%以极大值极小值原理选择信号消噪的阈值(软阈值),产生一个最小均方误差的极值
thr=thselect(s, 'minimaxi');
%对各高频系数进行消噪
cdlsoft=wthresh(cdl, 's',thr);
cd2soft=wthresh(cd2,'s',thr);
cd3soft=wthresh (cd3, 's',thr);
cd4soft=wthresh (cd4, 's',thr);
cd5soft=wthresh (cd5, 's',thr);
%由于原信号信噪比大,且高频成分较少thr=-2.409,而各高频系数实际值小于1,因此以上操作实际上是将高频成分置零
%对4层高频系数消噪后重构超声信号
cc=;
s1= waverec(cc,l, 'db4');
% x~1,2,3层高频系数消噪后重构信号
cd=;
s2= waverec(cd,l, 'db4');
ce=;
s3=waverec(ce,l, 'db4');
cf=;
s4=waverec(cf,l, 'db4');
cg=;
s5=waverec(cg,l, 'db4');

gzslbs2003 发表于 2009-1-1 00:40

我也准备搞这个

gzslbs2003 发表于 2009-1-1 00:41

不过我的是用HHT做的

zhchtju 发表于 2009-1-4 17:56

个人认为程序有2个小问题:
1.cc=;应改为
cc=;
cd、ce等类似处理。
2.cd、ce、cf、cg的系数构成有点问题,高频系数要不是少了,就是多了;
多了程序自动取截断(如cd),少了程序就报错了,凑齐就好了

qqvirile 发表于 2009-1-5 10:30

回复 地板 zhchtju 的帖子

同意楼上:lol

qqvirile 发表于 2009-1-5 10:31

t=1:512;
t=t*1/2560;
z=1+0.2*sin(2*pi*7.5*t)
x=5*cos(2*pi*30*t)
y=sin(2*pi*120*t);
f1=x+y+z;
s=x+0.5*randn(1,512);% x信号+噪声
%用db4小波进行5尺度分解
=wavedec(s,5,'db4');
%=wavedec(s(2,:),3,'db4');
%取第5层低频系数
ca5 = appcoef(c,l,'db4',5);
%取各层高频系数
cd5=detcoef(c,l,5);
cd4=detcoef(c,l,4);
cd3=detcoef(c,l,3);
cd2=detcoef(c,l,2);
cdl=detcoef(c,l,1);
%以极大值极小值原理选择信号消噪的阈值(软阈值),产生一个最小均方误差的极值
thr=thselect(s, 'minimaxi');
%对各高频系数进行消噪
cdlsoft=wthresh(cdl, 's',thr);
cd2soft=wthresh(cd2,'s',thr);
cd3soft=wthresh (cd3, 's',thr);
cd4soft=wthresh (cd4, 's',thr);
cd5soft=wthresh (cd5, 's',thr);
%由于原信号信噪比大,且高频成分较少thr=-2.409,而各高频系数实际值小于1,因此以上操作实际上是将高频成分置零
%对4层高频系数消噪后重构超声信号
cc=;
s1= waverec(cc,l, 'db4');
% x~1,2,3层高频系数消噪后重构信号
cd=;
s2= waverec(cd,l, 'db4');
ce=;
s3=waverec(ce,l, 'db4');
cf=;
s4=waverec(cf,l, 'db4');
cg=;
s5=waverec(cg,l, 'db4');
subplot(611)
plot(s);
subplot(612)
plot(s1);
subplot(613)
plot(s2);
subplot(614)
plot(s3);
subplot(615)
plot(s4);
subplot(616)
plot(s5);
页: [1]
查看完整版本: 小波分解与重构