





1. 研究背景
滚动轴承是旋转机械的关键部件,其故障诊断对保障设备安全运行、减少停机损失具有重要意义。本代码基于凯斯西储大学(CWRU)轴承数据集,利用信号分解、复合多尺度熵特征提取与智能优化支持向量机(SVM),实现轴承不同故障类型(内圈、外圈、滚动体)及不同损伤尺寸的自动识别。
2. 主要功能
- 数据预处理:将原始振动信号按滑动窗口切分为样本,构建带标签的数据集。
- 信号分解:采用改进的完全自适应噪声集合经验模态分解(ICEEMDAN)将每个样本分解为若干本征模态函数(IMF)。
- 特征提取:对每个IMF计算复合多尺度气泡熵(Composite Multiscale Bubble Entropy, CMBE),形成特征向量。
- 智能分类:利用蜣螂优化算法(Dung Beetle Optimizer, DBO)优化SVM的惩罚参数c和核参数g,训练分类器并输出准确率、混淆矩阵等评价指标。
3. 算法步骤
- 数据加载与样本构造:读取10种状态(正常+9种故障)的.mat文件,以窗口长1000、样本长2048切分,每类120个样本,共1200个样本。
- ICEEMDAN分解:对每个样本进行分解,取前8个IMF分量。
- 复合多尺度气泡熵计算:对每个IMF,按尺度因子1~10分别计算复合粗粒化序列的气泡熵,得到10维特征;8个IMF共80维特征。
- 特征归一化:将所有样本的特征向量映射到[0,1]区间。
- 训练/测试集划分:每类前90个样本训练,后30个测试。
- DBO优化SVM:以训练集交叉验证错误率为目标函数,优化c和g。
- 模型训练与预测:用最优参数训练SVM,在测试集上预测并评估性能。
- 结果可视化:输出训练/测试集预测对比图、混淆矩阵、优化收敛曲线。
4. 技术路线
原始振动信号 → ICEEMDAN分解 → IMF分量 → 复合多尺度气泡熵 → 特征向量 → 归一化 → DBO-SVM分类 → 故障识别
5. 公式原理
- ICEEMDAN:在EEMD基础上引入自适应噪声,通过添加特定白噪声并计算局部均值,减小模态混叠和残留噪声,分解得到IMF。
- 气泡熵(Bubble Entropy) :
构造m维嵌入向量,计算切比雪夫距离,统计距离≤r的向量对比例p,熵值定义为 BE=−plnpBE = -p \ln pBE=−plnp。
反映时间序列的规律性/复杂度。 - 复合多尺度气泡熵(CMBE) :
对尺度因子τ,计算τ组粗粒化序列的气泡熵并取平均,避免传统多尺度熵中因粗粒化起点不同导致的波动。 - DBO算法:模拟蜣螂滚球、跳舞、觅食、偷窃等行为,迭代寻优,用于搜索SVM的最佳c和g。
- SVM :采用RBF核 K(xi,xj)=exp(−g∥xi−xj∥2)K(x_i,x_j)=\exp(-g\|x_i-x_j\|^2)K(xi,xj)=exp(−g∥xi−xj∥2),通过最大化分类间隔实现非线性分类。
6. 参数设定
| 参数 | 值 | 说明 |
|---|---|---|
Nstd |
0.1 | ICEEMDAN中噪声标准差 |
NR |
80 | 噪声添加次数 |
MaxIter |
8 | 最大分解层数(提取8个IMF) |
maxScale |
10 | 复合多尺度最大尺度因子 |
m |
2 | 气泡熵嵌入维数 |
r_factor |
0.15 | 相似容限系数(实际r = 0.15×std(x)) |
tn |
90 | 每类训练样本数 |
pop |
20 | DBO种群规模 |
Max_iteration |
30 | DBO最大迭代次数 |
c 范围 |
[0.1, 100] | SVM惩罚参数 |
g 范围 |
[1, 256] | RBF核参数 |
7. 运行环境
- 软件:MATLAB2023b
- 数据文件:CWRU轴承数据(.mat格式,如97.mat等)
8. 应用场景
- 旋转机械(如电机、风机、压缩机)的在线状态监测与故障诊断
- 轴承故障模式识别(内圈、外圈、滚动体故障及严重程度评估)
- 工业大数据驱动的预测性维护系统