基于非下采样小波包分析的滚动轴承故障诊断(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等。

相关推荐
努力的小雨3 分钟前
从零开始学机器学习——网络应用
机器学习
wclass-zhengge7 分钟前
数据结构篇(绪论)
java·数据结构·算法
何事驚慌8 分钟前
2024/10/5 数据结构打卡
java·数据结构·算法
结衣结衣.8 分钟前
C++ 类和对象的初步介绍
java·开发语言·数据结构·c++·笔记·学习·算法
学习使我变快乐10 分钟前
C++:静态成员
开发语言·c++
TJKFYY11 分钟前
Java.数据结构.HashSet
java·开发语言·数据结构
杰哥在此20 分钟前
Python知识点:如何使用Multiprocessing进行并行任务管理
linux·开发语言·python·面试·编程
小白学大数据20 分钟前
User-Agent在WebMagic爬虫中的重要性
开发语言·爬虫·http
ROBIN__dyc26 分钟前
C语言基本概念
c语言·开发语言
whaosoft-14328 分钟前
51c视觉~CV~合集3
人工智能