资源简介
对滚动轴承振动信号提取小波包熵并对各个频带上的小波包熵值进行作图,代码中有注释,比较简单,只要对MATLAB懂一些并可理解~
代码片段和文件信息
%求小波包的信息熵
%ECG为信号源,n为分解的层数,wpname为小波名字.
function y=waveletentropy(ECGnwpname)
S=zeros(14);
%正常轴承
x0=X099_FE_time(1:102400);
wpt0=wpdec(x03‘db4‘); %对数据进行小波包分解
for i=1:8 %对各层小波包分解系数进行重构
E0(i)=norm(wprcoef(wpt0[3i-1])2)*norm(wprcoef(wpt0[3i-1])2); %求每个节点能量E(i)
end
E0_total=sum(E0); %求小波包分解总能量E_total
for i=1:8
p0(i)= E0(i)/E0_total; %求归一化后小波包各频带的能量分布
end
%提取小波包熵
for i=1:8
m0(i)=-p0(i)*log(p0(i));
end
S(1)=sum(m0)*(-1);
%损伤直径为0.1778mm的外圈故障
x1=X300_FE_time(1:102400);
wpt1=wpdec(x13‘db4‘); %对数据进行小波包分解
for i=1:8 %对各层小波包分解系数进行重构
E1(i)=norm(wprcoef(wpt1[3i-1])2)*norm(wprcoef(wpt1[3i-1])2); %求每个节点能量E(i)
end
E1_total=sum(E1); %求小波包分解总能量E_total
for i=1:8
p1(i)= E1(i)/E1_total; %求归一化后小波包各频带的能量分布
end
%提取小波包熵
for i=1:8
m1(i)=p1(i)*log2(p1(i));
end
S(2)=sum(m1)*(-1);
%损伤直径为0.3556mm的外圈故障
x2=X311_FE_time(1:102400);
wpt2=wpdec(x23‘db4‘); %对数据进行小波包分解
for i=1:8 %对各层小波包分解系数进行重构
E2(i)=norm(wprcoef(wpt2[3i-1])2)*norm(wprcoef(wpt2[3i-1])2); %求每个节点能量E(i)
end
E2_total=sum(E2); %求小波包分解总能量E_total
for i=1:8
p2(i)= E2(i)/E2_total; %求归一化后小波包各频带的能量分布
end
%提取小波包熵
for i=1:8
m2(i)=p2(i)*log2(p2(i));
end
S(3)=sum(m2)*(-1);
%损伤直径为0.5334mm的外圈故障
x3=X317_FE_time(1:102400);
wpt3=wpdec(x33‘db4‘); %对数据进行小波包分解
for i=1:8 %对各层小波包分解系数进行重构
E3(i)=norm(wprcoef(wpt3[3i-1])2)*norm(wprcoef(wpt3[3i-1])2); %求每个节点能量E(i)
end
E3_total=sum(E3); %求小波包分解总能量E_total
for i=1:8
p3(i)= E3(i)/E3_total; %求归一化后小波包各频带的能量分布
end
%提取小波包熵
for i=1:8
m3(i)=p3(i)*log2(p3(i));
end
S(4)=sum(m3)*(-1);
S
figure(1)
bar(p0);
%ylim([0 1.0]);
xlabel(‘提升小波包频带‘‘fontsize‘10‘Fontname‘ ‘方正宋黑简体‘);
ylabel(‘归一化能量值‘‘fontsize‘10‘Fontname‘ ‘方正宋黑简体‘);
set(gcf‘Position‘[100 100 350 300]);
figure_FontSize=10;
%set(get(gca‘XLabel‘)‘FontSize‘figure_FontSize‘Vertical‘‘top‘);
%set(get(gca‘YLabel‘)‘FontSize‘figure_FontSize‘Vertical‘‘middle‘);
set(gca‘XTickLabel‘{‘(30)‘‘(31)‘‘(32)‘‘(33)‘‘(34)‘‘(35)‘‘(36)‘‘(37)‘});
set(findobj(‘FontSize‘9)‘FontSize‘figure_FontSize);
set(findobj(get(gca‘Children‘)‘LineWidth‘0.5)‘LineWidth‘1);
figure(2)
bar(p1);
ylim([0 1.0]);
xlabel(‘小波包节点‘‘fontsize‘10.5);
ylabel(‘归一化能量值‘‘fontsize‘10.5);
set(gcf‘Position‘[100 100 400 220]);
figure_FontSize=8;
set(get(gca‘XLabel‘)‘FontSize‘figure_FontSize‘Vertical‘‘top‘);
set(get(gca‘YLabel‘)‘FontSize‘figure_FontSize‘Vertical‘‘middle‘);
set(gca‘XTickLabel‘{‘(30)‘‘(31)‘‘(32)‘‘(33)‘‘(34)‘‘(35)‘‘(36)‘‘(37)‘});
set(findobj(‘FontSize‘10.5)‘FontSize‘figure_FontSize);
set(findobj(get(gca‘Children‘)‘LineWidth‘0.5)‘LineWidth‘1);
figure(3)
bar(p2);
ylim([0 1.0]);
xlabel(‘小波包节点‘‘fontsize‘10.5);
ylabel(‘归一化能量值‘‘fontsize‘10.5);
set(gcf‘Position‘[100 100 400 220]);
figure_FontSize=8;
set(get(gca‘XLabel‘)‘FontSize‘figure_FontSize‘Vertical‘‘top‘);
set(get(gca‘YLabel‘)‘FontSize‘figure_FontSize‘Vertical
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4624 2017-03-20 18:59 waveletentropy_figure.m
相关资源
- MATLAB GUI语音信号特征提取
- LBP特征提取 程序 代码 MATLAB版
- 图像lbp特征提取的MATLAB实现源码
- 常见纹理特征提取的MATLAB代码
- 人脸特征提取matlab源码
- Gabor特征提取MATLAB代码
- 数字特征提取matlab
- 基于MATLABGUI的语音信号特征提取系统
- 小波矩特征提取matlab代码
- Gabor的matlab程序,Gabor滤波是一种不错
- matlab 信号特征提取
- MATLAB灰度共生矩阵纹理特征提取
- 基于云模型的花卉特征提取matlab源代
- 基于matlab的图像纹理特征提取
- haar特征提取 matlab
- 链码方法特征提取
- GaborGMRFLBP纹理特征提取方法_MATLAB
- 图像灰度梯度共生矩阵的15个特征提取
- 小波包信号能量特征提取
- gabor特征提取matlab实现
- 结合查找法做的旋转不变性LBP特征提
- 利用DOG算子实现图像特征提取中的角
- 基于matlab的红细胞提取
- 特征提取 csp matlab代码
- 人工神经网络程序
- 基于特征匹配和RANSAC的三维点云拼接
- LBP图像特征提取matlab程序
- 小波包 特征提取 matlab
- 基于matlab的声发射信号量化诊断系统
- 提取图像的颜色特征 matlab
评论
共有 条评论