如何重构提升小波?
%得到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');
提升小波没这个重构函数。 是不是可以用用这个 lwtcoef
比如:%重构低频和高频系数
a1=lwtcoef('a',xdec,lsnew,2,1);
d1=lwtcoef('d',xdec,lsnew,2,1);
不知道对不对? lwtcoef在解释的时候就是提取或重构一维LWT小波系数,其他的我也就不太知道了 本帖最后由 cbbing 于 2009-3-30 21:11 编辑
用lwtcoef是可以重构,可是问题是:
我进行软阈值处理后,结果失真很大,可能原因是软阈值处理要针对细节系数,用‘d’分量是细节变量。
就是没有找到针对近似系数和细节系数的重构函数! 提升小波这东西真是不好学
页:
[1]