目录
1.数据处理
1.1轴承数据集的获取
在此路径下下载轴承故障数据数据集,这里我下载了1种轴承正常数据、9种轴承故障数据。
1.2轴承数据集的处理
运行数据处理代码(data_processing.m)对轴承数据集进行处理,可得到一个data.mat文件,这个data.mat文件包含1种轴承正常数据、9种轴承故障数据。每种类型的数据包含120个样本(前120个样本对应1种轴承正常数据,以此类推)
2.对处理的数据(data.mat)进行特征提取
2.1WOA优化VMD参数k和a
本文选取最小包络熵函数作为适应度函数,采用WOA对VMD的最佳k和α参数进行寻优,运行(WOA_VMD.m)代码,可以得到文件average_vmd_params,里面包含WOA优化VMD的最佳k和α参数。其中FaultType1为1种正常,FaultType2-10为9种故障。
2.2IMF分量的筛选(相关系数法)
筛选和原始信号相关度较高的IMF分量,运行代码sxIMF.m可以得到表correlation_coefficients.csv,里面包含每种故障类型的随机一个样本和原始信号之间的相关系数,你需要根据这个表格筛选出相关性较强的IMF分量个数,后续得作为2.3特征提取的参数输入。
2.3特征提取
以样本熵函数作为特征进行提取。若筛选的IMF分量个数为9,本文包含正常一共有10种故障类型,每种故障类型包含120组数据,在进行特征提取时,每种故障应包含120×9个特征向量,运行tezhengtiqu.m代码,可以得到文件数据集.csv其作为SVM的分类输入。
3.故障分类(SVM和PSO-SVM实现故障分类)
3.1将数据集导入SVM分类器进行故障分类结果:
3.2将数据集导入PSO-SVM分类器进行故障分类结果:
4.完整代码获取
获取链接:https://mbd.pub/o/bread/ZZeWlppy