MATLAB环境下基于可调Q因子小波变换的滚动轴承故障诊断(MATLAB R2021B)

小波变换是一种时频局域化方法,它的窗口面积固定但形状可以发生改变(时间窗与频率窗均可变化)。小波变换在时间域与频率域都能够表示信号的局部特征,并具有多分辨率分析的特点,是机械故障诊断中常用的方法。小波变换故障诊断的效果依赖于小波基的选择,且小波基品质因子恒定,若选择不当将会影响诊断效果。

理论上,小波变换被应用到振荡的信号,其Q因子(振荡脉冲的Q因子是其中心频率和带宽的比值)应该在局部选择,例如当采用小波来分解和处理振荡信号时(语音、脑电图等),小波变换应具有相对高的Q因子;另一方面,处理很少或根本没有振荡行为的信号时(如摄影图像的扫描线),小波变换应具有低的Q因子。然而,除了连续小波变换可以调整Q因子,大多数小波变换都无能为力。离散小波变换具有低的Q因子,因此适合于处理非振荡信号(即分段光滑)。

可调Q因子小波变换通过它的Q因子和过采样率(即冗余)使其参数化,采用实值伸缩因子下的完全重构过采样滤波器组来实现,因而它是完全离散的,具有完全重构性、超完备性和平移不变性,可以用来表示稀疏信号。对于一些信号处理的算法,可调Q因子小波变换保持了能量属性。可调Q因子小波变换是一种新型离散小波变换方法,具有许多的优点。首先,它通过选取品质因子Q与冗余因子r来确定基函数,因此基函数的选取更加灵活,可以较好地匹配不同振荡特征的信号;其次,其具有离散小波变换不具备的近似平移不变性,在处理以周期性冲击为主要特征的故障振动信号时不会造成波形失真而丢失重要信息。综上,可调Q因子小波变换在处理以周期性冲击为主要特征的振动信号时具备较强的优势。

当旋转机械零部件诸如轴承出现故障时,其故障振动信号特征表现为周期性冲击;当齿轮发生剥落、点蚀、断齿这几类故障时,其故障振动信号中同样也会产生周期性冲击成分。因此,可以通过可调Q因子小波变换对这类含冲击故障特征信号进行处理,较好地将这些故障冲击特征提取出来。

鉴于此,采用可调Q因子小波变换对滚动轴承进行故障诊断,程序运行环境为MATLAB R2021B,也可用于金融时间序列,地震信号,机械振动信号,语音信号,声信号等一维时间序列信号,部分代码如下:

%4个子带波形
figure(1)
subplot(4,1,1)
stem(w{1},'Marker','none','ShowBaseline','off')
ylabel('mV')
subplot(4,1,2)
stem(w{2},'Marker','none','ShowBaseline','off')
ylabel('mV')
subplot(4,1,3)
stem(w{3},'Marker','none','ShowBaseline','off')
ylabel('mV')
subplot(4,1,4)
stem(w{4},'Marker','none','ShowBaseline','off')
ylabel('mV')
%4个子带包络谱
figure(2)
subplot(4,1,1);[pEnvInner, fEnvInner, xEnvInner, tEnvInner] = envspectrum(w{1}, fs);plot(fEnvInner, pEnvInner)
xlim([0 1500]);ncomb = 20;helperPlotCombs(ncomb,BPFI*v);xlabel('Frequency(Hz)');ylabel('Ampitude')
subplot(4,1,2);[pEnvInner, fEnvInner, xEnvInner, tEnvInner] = envspectrum(w{2}, fs);plot(fEnvInner, pEnvInner)
xlim([0 1500]);ncomb = 20;helperPlotCombs(ncomb,BPFI*v);xlabel('Frequency(Hz)');ylabel('Ampitude')
subplot(4,1,3);[pEnvInner, fEnvInner, xEnvInner, tEnvInner] = envspectrum(w{3}, fs);plot(fEnvInner, pEnvInner)
xlim([0 1500]);ncomb = 20;helperPlotCombs(ncomb,BPFI*v);xlabel('Frequency(Hz)');ylabel('Ampitude')
subplot(4,1,4);[pEnvInner, fEnvInner, xEnvInner, tEnvInner] = envspectrum(w{4}, fs);plot(fEnvInner, pEnvInner)
xlim([0 1500]);ncomb = 20;helperPlotCombs(ncomb,BPFI*v);xlabel('Frequency(Hz)');ylabel('Ampitude')

出图如下:

完整代码:

MATLAB环境下基于可调Q因子小波变换的滚动轴承故障诊断(MATLAB R2021B)

工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家,担任《计算机科学》,《电子器件》等中文核心审稿专家。
擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

最近更新

  1. TCP协议是安全的吗?

    2024-03-18 17:52:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-18 17:52:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-18 17:52:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-18 17:52:02       18 阅读

热门阅读

  1. 【晴问算法】入门篇—贪心算法—最大组合整数

    2024-03-18 17:52:02       21 阅读
  2. 【软考】windows系统常见命令

    2024-03-18 17:52:02       18 阅读
  3. vue 函数防抖

    2024-03-18 17:52:02       15 阅读
  4. 移动端Vant2移动端组件库,相关参考地址

    2024-03-18 17:52:02       18 阅读
  5. 26.MySQL中的别名

    2024-03-18 17:52:02       19 阅读
  6. 【golang】http.ListenAndServe源码解析

    2024-03-18 17:52:02       20 阅读
  7. 英文面。。。

    2024-03-18 17:52:02       16 阅读
  8. 力扣80删除有序数组的重复

    2024-03-18 17:52:02       23 阅读
  9. 优美的互联网常用语

    2024-03-18 17:52:02       15 阅读
  10. 3月18日,每日信息差

    2024-03-18 17:52:02       18 阅读
  11. Android内存优化实战

    2024-03-18 17:52:02       26 阅读