基于神经网络的齿轮箱故障诊断系统
项目介绍
本项目是一款基于 MATLAB 开发的智能齿轮箱故障诊断平台。系统通过对齿轮箱在不同运行工况下的振动信号进行深度挖掘,利用数字信号处理技术提取反映设备健康状态的关键特征,并结合反向传播(BP)神经网络构建非线性映射模型。该系统旨在实现对齿轮箱典型故障(如断齿、磨损、点蚀等)的自动化识别与分类,为机械设备的预测性维护提供科学依据。
功能特性
- 多工况信号仿真:内置动力学响应模拟模块,能够合成正常、断齿、磨损及点蚀四种状态下的高仿真振动信号,涵盖冲击脉冲、高频调制及宽带噪声等特征。
- 多维特征提取:整合了 8 项时域统计指标与 3 项频域特征指标,构建 11 维特征向量,全面刻画信号在时间维度与频率维度的演变规律。
- 模式识别建模:采用优化配置的 BP 神经网络,支持自动训练、验证及参数调整,具备极强的非线性拟合与泛化能力。
- 智能化结果评估:提供自动化的准确率计算及可视化诊断报告,通过多种图表直观展示模型的分类效果与收敛动态。
- 高鲁棒性预处理:内置数据乱序、归一化及 One-Hot 标签编码流程,确保模型训练的稳定性与科学性。
系统逻辑与流程说明
脚本遵循标准的监督学习诊断流程,具体逻辑如下:
- 环境初始化:清除工作区并设置固定随机种子,确保诊断结果在不同运行环境下具备可复现性。定义采样频率、样本点数及四种典型的齿轮箱工况。
- 数据合成模块:基于正弦分量、周期性冲击函数及调制包络函数,为每种工况生成特定数量的样本。正常状态以低背景噪声为主,断齿状态引入周期性脉冲,磨损状态增强噪声能量,点蚀状态则添加高频调制成分。
- 特征工程模块:
*
时域分析:计算均值、标准差、均方根值、峰值、峭度指标、峰值因子、波形因子及裕度因子。这些指标能有效捕捉信号的冲击感和能量波动。
*
频域分析:通过快速傅里叶变换(FFT)将信号转换至频域,提取重心频率、均方根频率及频率标准差,表征功率谱分布的集中程度。
- 样本处理与划分:将提取的特征矩阵进行归一化处理(映射至 0,1区间),并将样本随机划分为训练集(80%)与测试集(20%),通过 One-Hot 编码处理输出标签。
- 神经网络训练:构建一个包含 11 个输入节点、18 个隐藏层节点及 4 个输出节点的模式识别网络(Patternnet)。设定最大迭代次数、误差目标及学习率,利用训练集和验证集协同完成权重更新。
- 诊断与评价:利用训练好的模型对测试集进行盲测,输出诊断标签并与实际标签对比,计算整体准确率。
关键算法与实现细节
- 特征提取算法:
*
峭度(Kurtosis):采用四阶中心矩法手动计算,准确反映振动信号中冲击成分的剧烈程度,是判断早期点蚀的关键指标。
*
频域重心(Centroid Frequency):通过频率分量及其对应幅值的加权平均,定位信号能量的中枢及其偏移趋势。
- BP 神经网络优化:
* 隐藏层节点数定为 18,在保证计算效率的同时防止过拟合。
* 使用模式识别网络框架,其输出层通常采用 Softmax 或 Sigmoid 激活函数来处理分类概率。
- 可视化分析工具:
*
收敛性能图:采用对数坐标展示均方误差(MSE)随迭代次数的变化情况。
*
诊断对比散点图:直观展示每一个测试样本的真实状态与预测预测状态的匹配度。
*
详细识别率统计图:通过柱状图分析不同故障类别(如“断齿”对“点蚀”)的个体识别精度。
*
混淆矩阵:以热力图形式呈现误报与漏报的具体分布,帮助分析模型在哪些类别之间存在分类偏差。
使用方法
- 确保计算机已安装 MATLAB 软件。
- 将脚本放置于 MATLAB 当前工作目录下。
- 运行该主脚本,程序将自动开始数据生成、特征提取、模型训练及结果分析。
- 运行结束后,系统会自动弹出包含四个子图的可视化窗口,并在控制台显示最终的诊断准确度。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 工具箱需求:Deep Learning Toolbox(原 Neural Network Toolbox)。
- 硬件配置:建议 4GB 以上内存,普通 CPU 即可满足实时计算需求。