基于非下采样小波包分析的滚动轴承故障诊断(MATLAB R2021B)

小波变换具有良好的时频局部化特性和多分辨率特性,可准确定位信号的突变点并可在不同尺度上描述信号的局部细节特征,被广泛应用于信号降噪。但标准正交小波变换不具有平移不变性,采用标准正交小波对信号消噪后,会在脉冲尖峰处产生Gibbs振荡现象,造成脉冲信号的失真。

非下采样小波NSW具有平移不变性,用于信号消噪可以较好地抑制Gibbs振荡现象。但NSW变换只对信号的低频部分进行分解,对信号的高频部分不再进行剖分,导致分解后信号高频部分的频率分辨率较差。这对于主要信息包含在低频部分的信号比较适合,但对于强噪声背景下的信号并不适用。因为很多信号中的脉冲尖峰和剧烈振荡部分等重要信息主要位于高频部分,分解后和噪声混杂在一起,不对高频部分进行再次剖分提高其频率分辨率,去噪时就无法有效区分有用细节信息和噪声,会导致较多的有用细节信息被误删除且部分噪声被误保留,从而破坏脉冲累积轮廓的几何特征。非下采样小波包NWP分解可较好地克服这一缺点,它在对信号的低频部分进行分解的同时,对小波变换中没有分解的高频部分也进行进一步的分解,使得高频频带被分解的更加细致,可为信号消噪提供更加丰富和详细的信息,对于含较强噪声的低信噪比信号可取的更好的消噪效果。

鉴于此,采用非下采样小波包分析进行滚动轴承故障诊断,运行环境为MATLAB R2021B。

非下采样小波包时频谱如下:

3层小波包分解及小波包时频谱图:

8个子频带波形:

8个子带对应的包络谱:

可见第3个子带和第8个子带的包络谱故障特征频率较为明显,不妨重新看一下:

Matlab 复制代码
switch num
    case {1,'blocks'}       % blocks.
        tt = linspace(0,1,len);  x = zeros(1,len);
        for j=1:11
            x = x + ( h(j)*(1+sign(tt-t(j)))/2 );
        end
    完整代码:mbd.pub/o/bread/YpyXk5Zr
    case {2,'bumps'}        % bumps.
        h  = abs(h);
        w  = 0.01*[0.5 0.5 0.6 1 1 3 1 1 0.5 0.8 0.5];
        tt = linspace(0,1,len);  x = zeros(1,len);
        for j=1:11
            x = x + ( h(j) ./ (1+ ((tt-t(j))/w(j)).^4));
        end

工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
vocal3 分钟前
谷歌第七版Prompt Engineering—第一部分
人工智能
MonkeyKing_sunyuhua4 分钟前
5.6 Microsoft Semantic Kernel:专注于将LLM集成到现有应用中的框架
人工智能·microsoft·agent
不当菜虚困9 分钟前
JAVA设计模式——(四)门面模式
java·开发语言·设计模式
ruyingcai6666669 分钟前
用python进行OCR识别
开发语言·python·ocr
arbboter12 分钟前
【AI插件开发】Notepad++ AI插件开发1.0发布和使用说明
人工智能·大模型·notepad++·ai助手·ai插件·aicoder·notepad++插件开发
BB_CC_DD12 分钟前
四. 以Annoy算法建树的方式聚类清洗图像数据集,一次建树,无限次聚类搜索,提升聚类搜索效率。(附完整代码)
深度学习·算法·聚类
m0Java门徒17 分钟前
面向对象编程核心:封装、继承、多态与 static 关键字深度解析
java·运维·开发语言·intellij-idea·idea
liuweidong080219 分钟前
【Pandas】pandas DataFrame radd
开发语言·python·pandas
IT_Octopus24 分钟前
AI工程pytorch小白TorchServe部署模型服务
人工智能·pytorch·python
果冻人工智能29 分钟前
AI军备竞赛:我们是不是正在造一个无法控制的神?
人工智能