MATLAB环境下滚动轴承复合故障仿真信号及时频谱

滚动轴承是一种广泛应用于各类旋转机械的通用基础部件,其运行状态的正常与否往往会对于整台机器的寿命、可靠性和精度等性能产生直接的影响。据统计,旋转机械中30%的故障和大型异步电机中44%的故障是由故障轴承引起的,而位于轴承内圈和外圈的故障占了其中的90%。相较于其它机械零部件,滚动轴承的寿命具有离散性大的特点。即使是生产过程完全一样的同一批轴承,它们的寿命也相差很大。所以,对轴承按照设计寿命进行定期检查和维修是不合适的。因此,需要对于轴承进行工况监测和故障诊断,及时发现轴承运行中存在的问题。

在工程实际中,故障轴承往往是多个故障并存的情况。复合故障信号由于信号之间相互抵消、叠加,导致故障信号十分复杂,难以作出准确的诊断。因此,如何对于复合故障进行有效的诊断,一直都是研究者重点关注的问题。

机械故障诊断学经过数十年的发展,在研究内容上基本可以划分为信号获取与传感技术、故障机理与征兆联系、信号处理与特征提取、识别分类与智能决策四个方面。在这四个方面中,研究者们更多的是将重点放在了故障信号的处理方法和识别分类与智能决策上面,对于故障机理与征兆联系这一方面的研究比较少。在故障机理的研究中,一般的研究过程为:首先根据对象的特点,利用数学物理知识建立相应的模型;然后通过仿真研究获得模型的响应特征;最后根据实验的结果对模型进行修正,获得故障的准确表征。

鉴于此,本项目简单研究了滚动轴承复合故障仿真信号及时频谱,并给出了相应的程序,运行环境为MATLAB R2021B,包括但不限于:滚动轴承内圈、外圈和滚动体复合故障,复合故障+随机冲击故障,复合故障+齿轮啮合干扰信号+转子干扰信号,部分代码如下:

% 加噪信号生成
nDb =  -0;
sig = bearing + rot + gear;
x = noisegen(sig,nDb);
noi = x - sig;
%时域图
figure(13)
plot(t,x);
ylabel('Amplitude');
xlabel('Time [s]');
xlim([0 0.4]);
setfontsize(14);
%频谱
figure(14)
myfft(fs,x,1);
ylabel('Amplitude');
xlabel('Frequency [Hz]');
setfontsize(14);
ncomb = 20;helperPlotCombs(ncomb,113.0457);xlim([0 3000]);
%原始信号的CWT时频谱
figure(16)
cwt(sig(1:0.4*fs),fs,'morse');
setfontsize(14);
% 加噪后信号的CWT时频谱
figure(17)
cwt(x(1:0.4*fs),fs,'morse')
setfontsize(14);

部分出图如下:

完整代码:MATLAB环境下滚动轴承复合故障仿真信号及时频谱

工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。

擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
幻风_huanfeng6 分钟前
线性代数中的核心数学知识
人工智能·机器学习
测试界的酸菜鱼10 分钟前
C# NUnit 框架:高效使用指南
开发语言·c#·log4j
GDAL10 分钟前
lua入门教程 :模块和包
开发语言·junit·lua
李老头探索12 分钟前
Java面试之Java中实现多线程有几种方法
java·开发语言·面试
小沈熬夜秃头中୧⍤⃝12 分钟前
【贪心算法】No.1---贪心算法(1)
算法·贪心算法
CSXB9913 分钟前
三十四、Python基础语法(文件操作-上)
开发语言·python·功能测试·测试工具
volcanical14 分钟前
LangGPT结构化提示词编写实践
人工智能
web Rookie33 分钟前
JS类型检测大全:从零基础到高级应用
开发语言·前端·javascript
很楠不爱44 分钟前
Qt——窗口
开发语言·qt
yi碗汤园44 分钟前
【一文了解】C#基础-集合
开发语言·前端·unity·c#