资源简介
内容是设计的一款基于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\
相关资源
- 织物密度测量MATLAB实现
- 单机器人的多任务路径规划GUI
- MATLAB GUI设计学习手记第3版源代码BY罗
- MATLAB GUI设计学习手记 第3版 源代码
- matlab数字水印dwtGUI+psnr+mse
- 基于matlabGUI的小车倒立摆pid控制
- matlab模板匹配车牌识别
- 基于MATLAB人民币识别系统.zip
- 小车倒立摆系统的控制及GUI动画演示
- MATLAB身份证号码识别系统GUI论文.zip
- 基于MATLAB的心电信号分析及滤波
- 基于MATLAB GUI的多功能计算器
- MATLAB交通标志识别[GUI界面,论文].z
- MATLAB车牌[GUI,语音播报,论文,详细
- MATLAB数字表盘识别[GUI界面,界面丰富
-
matlab心电信号分析与simuli
nk仿真成果 - MATLAB霍夫曼变换的表盘刻度识别系统
- MATLAB水果分级[GUI界面,面积,直径,
- MATLAB人脸识别考勤系统摄像头,记录
- MATLAB多方法车牌识别系统bp+模板+GUI
- PCA算法实现人脸识别基于matlab GUI界面
- MATLAB App Designer 教程.pdf
- 数字图像课程设计MATLAB实现简单找茬
- Matlab GUI详尽介绍英文
- 基于MATLAB-GUI图形界面的数字图像处理
- 美颜软件matlab.zip
- 基于MATLAB面部的人数统计系统[戴口罩
- [精通MATLAB GUI设计第3版][陈垚光毛涛涛
- EMD HHT Matlab 信号分析,Google英文原版
- matlab GUI制作的播放器
评论
共有 条评论