基于小波时频图和2D-CNN的齿轮箱故障检测
创作时间:
作者:
@小白创作中心
基于小波时频图和2D-CNN的齿轮箱故障检测
引用
CSDN
1.
https://blog.csdn.net/m0_67853969/article/details/131205641
本文介绍了一种基于小波时频图和2D-CNN的齿轮箱故障检测方法。通过东南大学齿轮数据集,选取行星齿轮z方向振动信号数据,利用小波变换将时域信号转换为时频图像,并通过CNN网络进行故障分类。
前言
以东南大学齿轮数据集为基础,选取行星齿轮z方向振动信号数据,每个信号样本包含1024个连续采样点。采集了5类运行状态的传感器信号,每类采集1000个时域图像。总体样本按照9:1的比例划分为训练集与测试集,然后传输到CNN网络上进行故障分类。
数据集(本文选取了第四列行星齿轮z方向):
一、小波时域图
1. 小波时域图介绍
机械设备在不同运转状态下展现出来的时域、频域模式各不相同。因此,可以利用二维时频图像中特有的特征信息作为故障相关特征,通过深度神经网络来训练学习,从而实现故障分类识别。考虑到时频域分辨率问题,小波变换是一种广泛应用于机械故障诊断领域的时频分析方法,因此本文使用连续小波变换(CWT)来实现一维时间序列的时频分布生成。
2. Matlab提取时域图并保存
以保存surface为例,提取1000张小波时域图并保存。以下是Matlab代码实现:
%%
%东南大学齿轮箱数据集;保存1000个时频图
clear
clc
N = 1024000;
fs = 5120;
t = (1:1:1024)/fs; %采样时间
%load('healthtest.mat');
%s = healthtest(:,1)';
load('surface.mat');
s = surface(:,1)';
y_reshaped = reshape(s,1024,1000)';
for i = 1:size(y_reshaped, 1)
%figure(1)
%subplot(16,1,i);
%plot(t,y_reshaped(i,:))
%xlabel('时间/s')
%ylabel('时域幅值/A')
%title('时域波形') %时域波形
% 连续小波变换
wavename='cmor3-3';%表示连续小波变换中使用的一个特定的 Morlet 小波
totalscal=256;
Fc=centfrq(wavename); % 小波的中心频率
c=2*Fc*totalscal;
scals=c./(1:totalscal);
f=scal2frq(scals,wavename,1/fs); % 将尺度转换为频率
coefs=cwt(y_reshaped(i,:),scals,wavename); % 求连续小波系数
%figure
imagesc(t,f,abs(coefs));
set(gca,'YDir','normal')
colorbar;
xlabel('时间 t/s');
ylabel('频率 f/Hz');
%title('小波时频图');
%axis([0 8 0 5000])
axis off;
colorbar('off');
folder = 'C:\Users\16021\Desktop\WCT\data\surface'; % 修改为您的文件夹路径
% 构造文件名
filename = sprintf('surface.%d.png', i);
% 保存绘图到指定文件夹
saveas(gcf, fullfile(folder, filename), 'png');
end
生成五组时域图,每组含有1000张时域图:
二、CNN图像分类
1.训练集和测试集
每一类采集1000个时域图像,将总体样本按照9:1的比例划分训练集与测试集。以下是Python代码实现:
"""
size:将图片划分为训练集和测试集
"""
import os
import random
import shutil
def split_train_test_folder(parent_folder, ratio):
"""
将parent_folder文件夹下的图片按照ratio的比例分割成训练集和测试集,
分割后的训练集和测试集中的图片将分别存放在train和test文件夹中
:param parent_folder: 父文件夹路径,文件夹下存放着待分割的子文件夹以及图片
:param ratio: 分割比例
"""
train_folder = os.path.join(parent_folder, 'train_test','train')
test_folder = os.path.join(parent_folder, 'train_test', 'test')
if not os.path.isdir(train_folder):
os.makedirs(train_folder)
if not os.path.isdir(test_folder):
os.makedirs(test_folder)
for group_folder in os.listdir(parent_folder):
if os.path.isdir(os.path.join(parent_folder, group_folder)):
group_path = os.path.join(parent_folder, group_folder)
file_list = os.listdir(group_path)
total_num = len(file_list)
test_num = int(total_num * ratio)
train_num = total_num - test_num
random.shuffle(file_list)
train_list = file_list[:train_num]
test_list = file_list[train_num:]
for file in train_list:
src_file = os.path.join(group_path, file)
dst_file = os.path.join(train_folder, file)
shutil.copy(src_file, dst_file)
for file in test_list:
src_file = os.path.join(group_path, file)
dst_file = os.path.join(test_folder, file)
shutil.copy(src_file, dst_file)
print("Finish splitting dataset!")
split_train_test_folder('C:/Users/16021/Desktop/WCT/data/', 0.1)
得到如下文件夹:
2.训练过程
训练过程:
3.混淆矩阵图
写在最后
本文介绍了基于小波时频图和2D-CNN的齿轮箱故障检测方法,通过东南大学齿轮数据集,详细描述了从数据预处理到模型训练的全过程。这种方法在实际应用中具有较高的准确性和可靠性,为旋转机械故障诊断提供了一种新的思路和方法。
热门推荐
勇猛与尊贵的象征:解读翡翠上山虎与下山虎
什么是糯米(Sticky Rice)?
陶渊明《拟挽歌辞三首》赏析:昔在高堂寝,今宿荒草乡
痛风患者已超千万,科学防治是关键
母亲节DIY指南:三种手工活动打造温馨亲子时光
中科院院士批驳“中国科技超美”论:基础研究投入严重不足
雁荡山:火山造就的地质奇观与自然美景
法律援助让公平正义触手可及,详解申请条件与流程
移居西班牙享多重福利:从医疗到教育一应俱全
国家设立法律援助制度,构建社会公平正义防线
中国新反隐身技术,可破解五代机隐身性能
后燃器效率提升99%,让战斗机的机动性大增,中国空军将如虎添翼
仫佬族土布成校园新装,非遗技艺融入现代生活
仫佬族刺绣与土布染制:非遗技艺融入现代生活
微信转账怎么把钱退回?微信一键退回转账,不用等24小时,很实用
当微信聊天记录成为“呈堂证供”
欧空局:全球首个5G NTN卫星连接测试成功,频谱效率创新高
进藏铁路建设提速,拉林段将率先实现双线运营
青海融入西部陆海新通道成效显著,特色产品出口增长超40%
我国低轨卫星互联网首次“出海”,在泰国完成试验验证
我国成功发射“千帆星座”首批卫星,实现“1箭18星”技术突破
破解家庭教育焦虑:专家提倡建立爱与尊重的新型家教模式
春节团队管理八大要点:确保项目如期完成
秋冬咳嗽必备:家庭自制花椒炖梨
冬日暖心饮品:雪梨花椒汤及其他养生茶推荐
秋冬咳嗽有妙方:花椒炖梨及其他止咳食疗全攻略
“中国减盐周”:高盐饮食危害多,九招教你轻松减盐
四冲程发动机的秘密:从进气到排气的完整解析
冬季雨雪天行车技巧:川西老司机教你保平安
Steam热游推荐:《反恐精英:全球攻势》