资源简介
小波熵matlab程序 自己编写的,希望对他人有用.小波分解层数为3层,提取高频系数,进行单只重构,从而得到各组系数,最后再用能量熵的算法对其进行..
代码片段和文件信息
%计算小波熵
function WEE = wentropy0(y)
sig=y;
fs=10000;
t=((1:length(y))/fs)‘;
n=6;
wname=‘db6‘;
% y=entropy(signwname);
[cl]=wavedec(signwname);% 使用db6对信号进行6层分解
ca=wrcoef(‘a‘clwnamen);%对第6层的逼近(低频)系数进行单支重构得到重构逼近系数
EA=norm(ca2)*norm(ca2);%求第6层逼近系数的能量
for m=1:n
cd(m:)=wrcoef(‘d‘clwnamem);%对各层的细节(高频)系数进行单支重构得到重构细节系数
E(m)=norm(cd(m:)2)*norm(cd(m:)2);%每层细节系数的能量
end
% %显示重构后的第6层近似系数和各层细节系数
% figure
% subplot(711);
% plot(tca‘LineWidth‘1);
% ylabel(‘ca6‘);
% title(‘显示重构后的第6层近似系数和各层细节系数‘);
% subplot(712);
% plot(tcd(6:)‘LineWidth‘1);
% ylabel(‘cd6‘);
% subplot(713);
% plot(tcd(5:)‘LineWidth‘1);
% ylabel(‘cd5‘);
% subplot(714);
% plot(tcd(4:)‘LineWidth‘1);
%
评论
共有 条评论