cbbing 发表于 2009-3-30 12:05:38

如何重构提升小波?

%得到bior4.4小波的提升方案
lsbior=liftwave('bior2.6');
%添加ELS到提升方案中
els={'p',[-0.125 0.125],0};
lsnew = addlift(lsbior,els);
xDec=lwt(ecgdata,lsnew,4); %一维提升小波
CA = xDec(1:2:end);
CD = xDec(2:2:end);
%提取一维LWT小波系数
ca4=lwtcoef('ca',xDec,lsnew,4,4);
ca3=lwtcoef('ca',xDec,lsnew,4,3);
ca2=lwtcoef('ca',xDec,lsnew,4,2);
ca1=lwtcoef('ca',xDec,lsnew,4,1);
cd4=lwtcoef('cd',xDec,lsnew,4,4);
cd3=lwtcoef('cd',xDec,lsnew,4,3);
cd2=lwtcoef('cd',xDec,lsnew,4,2);
cd1=lwtcoef('cd',xDec,lsnew,4,1);

%对小波细节系数进行小波软阈值滤波处理
r1=var(cd1)*sqrt(2*log(length(cd1))); %var()求方差
r2=var(cd2)*sqrt(2*log(length(cd2)));
r3=var(cd3)*sqrt(2*log(length(cd3)));
r4=var(cd4)*sqrt(2*log(length(cd4)));
%进行软阈值处理
cd11= wthresh(cd1,'s',r1);
cd21= wthresh(cd2,'s',r2);
cd31= wthresh(cd3,'s',r3);
cd41= wthresh(cd4,'s',r4);

如何将进行阈值处理后的提升小波系数重构?一直没找到函数。


小波里可以这样处理:
C1=';

ecgout=waverec(C1,L,'coif4');
提升小波没这个重构函数。

范科举 发表于 2009-3-30 20:14:50

是不是可以用用这个 lwtcoef
比如:%重构低频和高频系数
       a1=lwtcoef('a',xdec,lsnew,2,1);
            d1=lwtcoef('d',xdec,lsnew,2,1);
不知道对不对?

范科举 发表于 2009-3-30 20:17:32

lwtcoef在解释的时候就是提取或重构一维LWT小波系数,其他的我也就不太知道了

cbbing 发表于 2009-3-30 20:48:42

本帖最后由 cbbing 于 2009-3-30 21:11 编辑

用lwtcoef是可以重构,可是问题是:
   我进行软阈值处理后,结果失真很大,可能原因是软阈值处理要针对细节系数,用‘d’分量是细节变量。
   就是没有找到针对近似系数和细节系数的重构函数!

范科举 发表于 2009-10-26 10:07:47

提升小波这东西真是不好学
页: [1]
查看完整版本: 如何重构提升小波?