资源简介

用于求取小波包变换后小波系数的熵值,对初学者很有帮助

资源截图

代码片段和文件信息

%求小波包的信息熵
%ECG为信号源,n为分解的层数,wpname为小波名字,我常用的是db3haardb4. 
function y=waveletentropy(ECGnwpname) 
ECG=imread(‘Empreinte.bmp‘);
n=3;
wpname=‘bior3.5‘;
wpt1=wpdec2(ECGnwpname); %对数据进行小波包分解 
for i=1:2*n %wpcoef(wpt1[ni-1])是求第n层第i个节点的系数 
disp(‘每个节点的能量E(i)‘); 
E(i)=norm(wpcoef(wpt1[ni-1])2)*norm(wpcoef(wpt1[ni-1])2) 
%求第i个节点的范数平方,其实也就是平方和 
end 
disp(‘小波包分解总能量E_total‘); 
E_total=sum(E) %求总能量 
disp(‘以下是每个节点的概率P‘); 
for i=1:2*n 
p(i)= E(i)/E_total %求每个节点的概率 
end 
%以下计算小波熵,即-sum(pj*lnpj), 
disp(‘小波熵的值S_wt‘); 
for i=1:2*n 
m(i)=p(i)*log(p(i)); 
end 
S_wt=sum(m)*(-1) 
disp(‘小波包分解图形‘); 
subplot(131); 
text(1010‘原始图象‘) ; 
plot(ECG); 
subplot(132); 
text(10200‘概率分布图象‘); 
plot(p); 
subplot(133); 
plot(E); 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        843  2009-03-16 21:05  wavelet\小波.txt

     文件     120054  2007-07-24 09:47  wavelet\Empreinte.bmp

     文件        899  2011-04-15 14:55  wavelet\waveletentropy.m

    ..A.SH.      8704  2011-04-15 19:02  wavelet\Thumbs.db

     目录          0  2011-04-15 10:45  wavelet

----------- ---------  ---------- -----  ----

               130500                    5


评论

共有 条评论