• 大小: 60KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-09-24
  • 语言: 其他
  • 标签: matlab  

资源简介

这是一个样本的实验,现将振动信号进行LMD分解,得到分解后的PF分量,在求分量的相关系数啦筛选分量,在求每一个PF分量的样本熵特征,构造一个特征向量,你指的拥有,有帮助的话,希望你好评,谢谢,有问题加我主页qq。

资源截图

代码片段和文件信息

%*****************************************************************
%程 序 名:LMD-相关系数-信息熵--分类(单个)
%设 计 者:一头努力奋斗的猪
%*****************************************************************
clc
clear all
fs=2560;%采样频率
Ts=1/fs;%采样周期
L=3072;%采样点数
t=(0:L-1)*Ts;%时间序列
STA=1; %采样起始位置
%---------------------导入实验分析数据--------------------------------------
A=xlsread(‘20151124_08_15Bin粗卡阀.xlsx‘);
a1=A(1:30721);
x=a1‘;
%----------------------lmdf分解-------------------
[PF]=lmd(x)
figure(1);
imfn=PF;
n=size(imfn1); %size(X1)返回矩阵X的行数;size(X2)返回矩阵X的列数;N=size(X2),就是把矩阵X的列数赋值给N
subplot(n+111);  % m代表行,n代表列,p代表的这个图形画在第几行、第几列。例如subplot(22[12])
plot(tx); %故障信号
ylabel(‘原始信号‘‘fontsize‘12‘fontname‘‘宋体‘);
for n1=1:n
    subplot(n+11n1+1);
    plot(tPF(n1:));%输出IMF分量,a(:n)则表示矩阵a的第n列元素,u(n1:)表示矩阵u的n1行元素
    ylabel([‘PF‘ int2str(n1)]);%int2str(i)是将数值i四舍五入后转变成字符,y轴命名
end
 xlabel(‘时间\itt/s‘‘fontsize‘12‘fontname‘‘宋体‘);
 
 %求各PF分量与原始信号的相关系数,并筛选分量
xiangguanxishu=zeros(1n);
for i=1:n
    a=imfn(i:);
    b=corrcoef(ax‘);
    xiangguanxishu(1i)=b(12);
end

%提取每一个PF分量的信息熵特征
xingxishang=zeros(1n);
for i=1:n
    a=imfn(i:);
    x1=mapminmax(a01); %将数据归一化处理
    %求数据的概率分布
   for m=1:3072
       x=x1(m)/sum(x1);
   end
   shannon=-sum(x.*log2(x));%计算信息熵
   xingxishang(1i)=shannon;
end





 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-01-14 13:43  LMD-信息熵\
     文件       59820  2018-12-27 22:47  LMD-信息熵\20151124_08_15Bin粗卡阀.xlsx
     文件        1573  2019-01-14 13:43  LMD-信息熵\faming.m
     文件        2486  2018-09-22 15:21  LMD-信息熵\lmd.m

评论

共有 条评论