最近在弄小波包能量特征提取,可以说弄了很长时间。
废话不多说,抓紧时间上重点!
小波变换
小波变换是处理低频的信息,但是对于高频却不能处理。不能处理非线性、非平稳的信号(例如滚动轴承)。
小波包变化
因为有不足,才会发展;知识也是这样,所以小波包问世。小波包变化弥补了小波变换的不足之处,即可对低频也可对高频信号处理;
小波包能量特征提取
我提取的是8维db3小波包能量特征,以上即是小波包树,其中节点的命名规则是从(1,0)开始,叫1号, (1,1)是2号………依此类推,(3,0)是7号,(3,7)是14号。 每个节点都有对应的小波包系数,这个系数决定了频率的大小。
代码
function E =wavelet_energy_spectrum( wpt,n )
%% 计算每一层每一个节点的能量
% wpt-wavelet packet tree
% n-第n层能量
%
% Author hubery_zhang
% Date 20170714
%%
% 求第n层第i个节点的系数
E(1:2^n )=0;
for i=1:2^n
E(i) = norm(wpcoef(wpt,[n,i-1]),2); %求第i个节点的范数平方,其实也就是平方和
end
%求每个节点的概率
E_total=sum(E);
for i=1:2^n
p_node(i)= 100*E(i)/E_total;
end
% E = wenergy(wpt); only get the last layer
figure;
x=1:2^n;
bar(x,p_node);
title([‘第’,num2str(n),‘层’]);
axis([0 2^n 0 100]);
xlabel(‘结点’);
ylabel(‘能量百分比/%’);
for j=1:2^n
text(x(j),p_node(i),num2str(p_node(j),’%0.2f’),…
‘HorizontalAlignment’,‘center’,…
‘VerticalAlignment’,‘bottom’)
end
end