200810100659 发表于 2010-12-30 22:35

小波分解与重构程序为何不对呢

%实验信号
clear all;
N=1024;
t=1:N;
fid=fopen('g1.txt','r');%正常信号
sig=fread(fid,N,'int16');
fclose(fid);
%归一化
sig=(sig-mean(sig))/std(sig,1);
%采样频率
fs=1000;
%时域波形
figure(1)
plot(t/fs,sig);
xlabel('时间 t/s');
ylabel('幅值 A/V');
%功率谱
nfft=4096;
%用db4小波进行5尺度分解
=wavedec(sig,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(sig, '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');
页: [1]
查看完整版本: 小波分解与重构程序为何不对呢