两种经典数据集故障诊断,连续小波变换-ResNet,CNN-SVM,CNN-BiGRU,CNN-LSTM,MATLAB代码
本期带来:两种常用的经典数据集(江南大学轴承数据、西储大学轴承数据)进行故障诊断。
采用连续小波变换时频图作为故障特征提取的手段,并构建多种机器学习诊断方法,可以自行搭配。包含的方法有:
CWT-CNN,CNN-SVM,CWT-ResNet,CWT-CNNBiGRU,CWT-CNNLSTM。
内容简介
①对官方下载的西储大学(江南大学轴承)数据进行处理。处理的方法参考往期文章:西储大学轴承诊断数据处理,matlab免费代码获取;
②通过连续小波变换 (Continuous Wavelet Transform,CWT)将轴承 数据集转换为时频图,以提取频域和时域信息, 并为后续的故障诊断提供更详细的特征;
③为了方便模型的训练,以及考虑到计算机的内存,将时频图重新调整为64×64×3的尺寸,并保存提取到的特征数据。
④分别搭建:CNN,ResNet,CNNBiGRU,CNNLSTM,CNNSVM模型,将特征数据送入模型,将70%的数据作为训练集,30%作为测试集,对模型展开训练与测试。
CWT-CNN模型结构如下:

内容详解
一,对官方下载的西储大学数据进行处理,步骤如下:
-
一共加载10种数据,然后取每个数据的DE_time(%DE是驱动端数据 FE是风扇端数据 BA是加速度数据 选择其中一个就行)
-
2.设置滑动窗口w,每个数据的故障样本点个数s,每个故障类型的样本量m
-
将所有的数据滑窗完毕之后,综合到一个data变量中
-
有关西储大学数据的处理之前有文章也讲过,大家可以看这篇文章:西储大学轴承诊断数据处理,matlab免费代码获取
最后得到的数据是一个1000*2048的矩阵,其中1000是样本量,2048是特征。1000又等于100*10,10是指10种故障状态,100是指每种状态有100个样本。在代码中是data_total_1797.mat
二,对官方下载的江南大学数据进行处理,步骤如下:
①对江南大学轴承数据进行处理。
②通过连续小波变换 (Continuous Wavelet Transform,CWT)将轴承 数据集转换为时频图,以提取频域和时域信息, 并为后续的故障诊断提供更详细的特征;
③为了方便模型的训练,以及考虑到计算机的内存,将时频图重新调整为64×64×3的尺寸,并保存提取到的特征数据。
④分别搭建:CNN,ResNet,CNNBiGRU,CNNLSTM,CNNSVM模型,将特征数据送入模型,将70%的数据作为训练集,30%作为测试集,对模型展开训练与测试。
三,采用连续小波变换将数据进行时频图转换
西储大学数据:连续小波变换时频图

江南大学轴承数据:连续小波变换时频图,以1000rpm为例进行展示。

四,将构建好的特征向量送入不同模型进行训练与测试
西储大学数据诊断结果:
将每种状态的前70组用于训练,后30组用于测试。得到的结果如下:




ResNet结构:



添加了T-sne降维前后分布图:


江南大学数据诊断结果:
将每种状态的前70组用于训练,后30组用于测试。得到的结果如下:
以下均为1000rpm的四种状态数据分类结果:




ResNet结构:

添加了T-sne降维前后分布图:


代码目录
分为西储大学数据和江南大学数据:


代码获取
链接:
已将此代码添加至故障诊断全家桶中,
故障诊断全家桶获取链接:
参考文献:
[1]宋乾坤,周孟然.基于CWT-CNN的滚动轴承故障诊断[J].重庆工商大学学报(自然科学版),2023,40(03):42-47.
[2]卓识,战利伟,白晓峰等.基于CWT-AT-CNN的航空滚动轴承故障诊断方法[J/OL].轴承,1-9[2024-03-17].
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)