• 大小: 482KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-08-01
  • 语言: Matlab
  • 标签: gui  信号分析  

资源简介

内容是设计的一款基于matlab GUI 的齿轮箱振动数据分析系统。这是初版,后面还有另一款加入更多特征提取和神经网络分析的综合版本。

资源截图

代码片段和文件信息

clear all;
close all;

%----------------信号说明—————————————————%
%   normal880-1    正常齿轮箱  实测转速880
%   normal880-2    加载0.2A下正常齿轮箱 数据记录 实测转速800
%   normal880-3    加载0.1A下正常齿轮箱据记录 实测转速820
%   normal880-4    加载0.05A下正常齿轮箱据记录 实测转速852 
%   传感器:
%   1------------TACH1  转速,光电, 每周1个脉冲
%   2------------ch1  输入轴 X方向位移    
%   3------------ch2   Y方向位移
%   4------------CH3   加速度 输入轴电机侧轴承Y  
%   5------------CH4  加速度 输出轴电机侧轴承Y
%   6------------CH5    加速度 输入轴负载侧轴承Y
%   7------------CH6 加速度 输出轴负载 侧轴承Y
%   8------------CH7  加速度 输出轴负载 侧轴承X
%   9------------CH8  磁电式速度  输出轴负载 侧轴承X 
%-------------------------------------------------------%
fs=2000*2.56;        % 采样率
load data.mat
t=0:1/fs:(length(signal(1:))-1)/fs;     %以时间为横坐标

%% 去噪法二:小波分解消噪
%使用一维信号的自动消噪函数wden对信号进行消噪
%将信号使用小波函数‘sym5‘分解到第5层 
%使用minimaxi阈值选择对系数进行处理,消除噪声信号 
n=length(signal(1:));
for i=1:1:4
    signalnew(i:)=wden(signal(i:)‘minimaxi‘‘s‘‘mln‘5‘sym5‘);   %小波分解去噪
end

% 时域波形图---去噪前,去噪后
figure(1)
subplot(221);
plot(tsignal(1:)‘-b‘);hold on;plot(tsignalnew(1:)‘-r‘);
xlim([011]);ylabel(‘加速度‘);xlabel(‘时间(s)‘);title(‘1.正常齿轮箱(880r/min)‘);
subplot(222);
plot(tsignal(2:)‘-b‘);hold on;plot(tsignalnew(2:)‘-r‘);
xlim([011]);ylabel(‘加速度‘);xlabel(‘时间(s)‘);title(‘2.加载0.2A下正常齿轮箱(800r/min)‘);
subplot(223);
plot(tsignal(3:)‘-b‘);hold on;plot(tsignalnew(3:)‘-r‘);
xlim([011]);xlabel(‘加速度‘);xlabel(‘时间(s)‘);title(‘3.加载0.1A下正常齿轮箱(820r/min)‘);
subplot(224);
plot(tsignal(4:)‘-b‘);hold on;plot(tsignalnew(4:)‘-r‘);
xlim([011]);ylabel(‘加速度‘);xlabel(‘时间(s)‘);title(‘4.加载0.05A下正常齿轮箱(852r/min)‘);
legend(‘去噪前‘‘去噪后‘);

figure;
plot(abs(fft(signal(1:)))1024);

%时域特征计算----结果显示在命令框
for i=1:1:4
    feature(i1)=var(signalnew(i:));        %特征1 方差
    feature(i2)=skewness(signalnew(i:));   %特征2 偏度
    feature(i3)=kurtosis(signalnew(i:));   %特征3 峰度
    feature(i4)=std(signalnew(i:));        %特征4 均方根
    disp([‘信号‘num2str(i)‘的方差、偏度、峰度、均方根分别为‘]);   %输出
    disp(feature(i:));
end

%小波变换
percent=zeros(433);
for i=1:1:4
    percent(i1)=i;
    c=cwt(signalnew(i:)1:32‘morl‘);   %morlet小波  32维
    a=zeros(321);
    for j=1:1:32
        for jj=1:1:n
            a(j1)=a(j1)+(c(jjj)).^2;
        end 
    end    
    %计算每个尺度对应能量占总能量的百分比
    sum1=0;
    for j=1:1:32
        sum1=sum1+a(j);
    end
    b=zeros(321);
    for j=1:1:32
        b(j1)=a(j1)./sum1;
    end
    b=b‘;
    percent(i2:1:33)=b(1:);
    figure(2);
    color=[0 0 0;
           0 0 1;
           0 1 0;
           1 0 0];
    for i=1:1:4
        plot(percent(i2:33)‘color‘color(i:));hold on;grid on;
    end
    xlabel(‘尺度‘);ylabel(‘各尺度能量百分比‘);title(‘齿轮振动信号能量-尺度图‘);
end
legend(‘信号1‘‘信号2‘‘信号3‘‘信号4‘)

%功率谱计算 Welch法
nfft=128;
window=hamming(100);
noverlap=20;
figure(3);
for i=1:1:4
    [Pxxf]=pwelch(signalnew(i:)windownoverlapnfftfs);
    Pxx_log=10*log(Pxx);
    plot(fPxx_log‘color‘color(i:));hold on;grid on;
e

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件      486691  2017-08-29 16:17  2017082902\data.mat
     文件        3599  2017-08-29 16:48  2017082902\process.m
     文件        8239  2017-08-30 14:35  2017082902\process_gui.fig
     文件       14743  2017-08-30 14:36  2017082902\process_gui.m
     目录           0  2017-08-30 14:34  2017082902\

评论

共有 条评论