快速体验
- 打开 InsCode(快马)平台 https://www.inscode.net
- 输入框输入如下内容
帮我开发一个轴承故障诊断系统,用于分析CWRU数据集中的内圈/外圈/滚动体故障。系统交互细节:1. 加载.mat格式振动信号数据 2. 实现希尔伯特变换提取包络信号 3. 生成包络谱分析图 4. 计算理论故障特征频率 5. 可视化对比FFT频谱。注意事项:需处理直流分量干扰,重点关注0-500Hz低频段。 - 点击'项目生成'按钮,等待项目生成完整后预览效果

一、项目背景与原理
轴承故障诊断是工业设备健康监测的重要环节。传统FFT频谱分析常因高频噪声干扰难以识别故障特征频率,而希尔伯特解调技术通过提取信号包络,能有效突出低频段的故障特征。本实践基于CWRU轴承数据集,演示完整的包络谱分析流程。
二、核心实现步骤
- 数据准备:
- 使用scipy.io加载.mat格式的振动加速度数据
- 从CWRU数据集中提取内圈故障、外圈故障、滚动体故障三类样本
-
可视化原始振动信号观察时域特征
-
希尔伯特变换处理:
- 通过fftpack.hilbert计算解析信号的虚部
- 组合原始信号与希尔伯特变换结果构建解析信号
-
求取解析信号的模得到包络信号
-
包络谱分析:
- 对包络信号执行FFT变换获得频谱
- 消除直流分量干扰(减去均值)
-
截取0-500Hz低频段重点分析
-
故障特征验证:
- 根据轴承参数计算理论故障频率(BPFI/BFPO/BSF)
- 在包络谱上标注理论故障频率位置
- 对比FFT频谱验证包络谱的优势
三、关键技术细节
- 直流分量处理:
- 包络谱在0Hz处通常存在大幅值,会压缩其他频率的显示效果
-
通过
at = at - np.mean(at)消除直流偏移 -
频率分辨率优化:
- 根据采样率12000Hz合理设置FFT点数
-
采用
np.fft.fftfreq获取准确频率坐标 -
可视化技巧:
- 使用
plt.vlines标注理论故障频率位置 - 限制x轴范围突出关键频段(0-300Hz)
- 对比显示原始FFT与包络谱的差异
四、实际应用发现
- 诊断效果验证:
- 内圈故障:包络谱能清晰识别156Hz特征频率及其谐波
- 外圈故障:103Hz附近出现明显峰值
-
滚动体故障:特征频率识别难度较大,需结合其他方法
-
与传统FFT对比:
- 原始FFT频谱高频成分占主导
- 故障特征频率幅值被噪声淹没
- 包络谱有效抑制高频干扰,突出故障特征
五、平台实现建议
在InsCode(快马)平台实践时,可利用其集成环境快速验证: - 直接上传CWRU的.mat数据文件 - 通过内置Python环境运行分析脚本 - 实时查看生成的频谱图表

这种免配置的云端开发方式,特别适合信号处理算法的快速验证与迭代。实际测试中,从数据加载到生成诊断结果的全流程可在1分钟内完成,大幅降低实验环境搭建成本。

5615


被折叠的 条评论
为什么被折叠?



