基于非下采样小波包分析的滚动轴承故障诊断(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 小时前
LeetCode 21. 合并两个有序链表|Python 解法详解
python·算法·leetcode·链表
浩风祭月5 小时前
ChatGPT o3将在8月26日退出:Plus、Pro用户现在该迁移什么
人工智能·chatgpt·openai o3·模型迁移
布列瑟农的星空5 小时前
Milvus内部机制浅入浅出
人工智能·agent
李永奉5 小时前
C语言-嵌入式开发C语言常用预处理指令合集
c语言·开发语言
东离与糖宝5 小时前
WorkBuddy记忆机制拆解:别再反复交代需求
人工智能
ZHOU_WUYI5 小时前
7. fastwam 模型 _predict_action_noise_with_cache部分
人工智能·pytorch·深度学习
Sagittarius_A*5 小时前
后量子密码|通识认知 03|量子威胁辟谣:Grover 算法对对称密码的影响与误区
算法·信息安全·密码学·量子计算·pqc·后量子密码
测试者家园6 小时前
AI如何发现测试人员看不到的问题?
人工智能·职场和发展·agent·智能化测试·幻觉检测·行为漂移
上海安当技术6 小时前
敏感数据怎么防拖库?信封加密(DEK+KEK 二层密钥)架构设计与 Java 实战
java·开发语言·python
WoooChi6 小时前
DailyTech-20260807
人工智能·科技·业界资讯