滚动轴承故障诊断系统设计:基于凯斯西储大学数据

发布时间:2026/5/22 3:23:28

滚动轴承故障诊断系统设计:基于凯斯西储大学数据 滚动轴承故障诊断系统设计 数据采用的是凯斯西储大学数据 首先利用美国凯斯西储大学实验室提供的数据进行时域分析和频域分析然后进行小波分解最后进行包络谱分析结果可发现滚动轴承的故障频率与理论计算的故障频率进行对比从而确定故障部位。 同时有详细文档可直接应用。最近搞了个滚动轴承故障诊断系统感觉还挺有意思的来跟大家分享分享。咱用的是美国凯斯西储大学的数据哦。拿到数据后第一步就是时域分析和频域分析啦。时域分析就像是看信号随时间的变化情况频域分析则是把信号从时间维度转换到频率维度看看不同频率成分的信号强度啥的。这就好比把一首曲子拆开看看每个音符的频率和出现规律一样。# 这里假设已经读取了凯斯西储大学的数据存储在data变量中 import numpy as np import matplotlib.pyplot as plt # 时域分析 time_domain np.array(data) plt.plot(time_domain) plt.title(Time Domain Analysis) plt.xlabel(Time) plt.ylabel(Amplitude) plt.show() # 频域分析 fft_result np.fft.fft(time_domain) freq np.fft.fftfreq(len(time_domain)) magnitude np.abs(fft_result) plt.plot(freq[:int(len(freq)/2)], magnitude[:int(len(magnitude)/2)]) plt.title(Frequency Domain Analysis) plt.xlabel(Frequency) plt.ylabel(Magnitude) plt.show()这里的代码就是简单实现了时域和频域分析。np.fft.fft函数是用来计算快速傅里叶变换的通过它我们能得到信号在频域的表示。np.fft.fftfreq则是计算对应的频率数组。接下来就是小波分解啦。小波分解可以把信号分解成不同频率的子带信号这样能更细致地观察信号特征。就像用不同尺寸的筛子去筛选沙子把不同大小的颗粒分开一样。import pywt # 假设选用db4小波分解3层 coeffs pywt.wavedec(time_domain, db4, level3) cA3, cD3, cD2, cD1 coeffs # 这里可以对分解后的系数进行各种操作比如阈值处理啥的就不详细展开啦这里用到了pywt库的wavedec函数进行小波分解。分解后的系数cA3、cD3、cD2、cD1分别对应不同频率子带的系数。滚动轴承故障诊断系统设计 数据采用的是凯斯西储大学数据 首先利用美国凯斯西储大学实验室提供的数据进行时域分析和频域分析然后进行小波分解最后进行包络谱分析结果可发现滚动轴承的故障频率与理论计算的故障频率进行对比从而确定故障部位。 同时有详细文档可直接应用。最后就是包络谱分析啦。包络谱分析能突出信号的包络特征更容易发现故障频率。# 先对时域信号求包络 envelope np.abs(hilbert(time_domain)) # 再对包络信号进行频域分析 envelope_fft np.fft.fft(envelope) envelope_freq np.fft.fftfreq(len(envelope)) envelope_magnitude np.abs(envelope_fft) plt.plot(envelope_freq[:int(len(envelope_freq)/2)], envelope_magnitude[:int(len(envelope_magnitude)/2)]) plt.title(Envelope Spectrum Analysis) plt.xlabel(Frequency) plt.ylabel(Magnitude) plt.show()这里用了hilbert函数求信号的包络假设已经导入了hilbert函数一般在scipy.signal库中。通过包络谱分析就能发现滚动轴承的故障频率啦。然后把这些故障频率和理论计算的故障频率对比就能确定故障部位咯。这个系统还有详细文档直接就能应用简直太方便啦。感觉自己又get了一项新技能以后碰到滚动轴承故障诊断的问题就不怕啦。希望我的分享能给大家带来一些启发呀要是你们也有类似好玩的项目也欢迎在评论区交流交流。

相关新闻