基于MATLAB的小波变换在碰磨故障信号特征提取中的应用
2-23 基于matlab的小波变换碰磨故障信号的特征提取 基于matlab的小波变换碰磨故障信号的特征提取可以画出信号原图轴心轨迹频谱图以及多层小波变换的重构信号。 程序已调通可直接运行。最近在搞旋转机械碰磨故障诊断发现小波变换处理这类非平稳信号是真的香。今天咱们直接上Matlab实操手把手玩转故障信号的特征提取关键代码我现场拆解保准你运行完就能出图。先甩个信号生成的代码镇楼实战就得从模拟故障开始fs 5000; % 采样率5kHz t 0:1/fs:0.5; % 0.5秒时长 f1 50; f2 3000; % 工频碰磨高频 x 0.6*sin(2*pi*f1*t) 1.2*exp(-10*t).*sin(2*pi*f2*t); noise 0.3*randn(size(t)); % 加点工业现场祖传噪声 signal x noise;这段代码的精髓在指数衰减的高频项——碰磨发生时的高频冲击衰减特征拿捏住了。运行完先看原始信号全家福图1时域波形明显能看到周期性冲击但被噪声干扰得亲妈都不认识。频谱分析不能少但普通FFT在碰磨诊断里就是个弟弟[pxx,f] pwelch(signal,256,128,256,fs); plot(f,10*log10(pxx)) title(功率谱密度估计) xlabel(频率 (Hz))这时候你会看到3000Hz附近有个明显的谱峰图2但问题来了——传统频谱根本看不出冲击发生的时间特征这时候就该小波出场了。2-23 基于matlab的小波变换碰磨故障信号的特征提取 基于matlab的小波变换碰磨故障信号的特征提取可以画出信号原图轴心轨迹频谱图以及多层小波变换的重构信号。 程序已调通可直接运行。上硬菜5层小波分解走起wname db4; level 5; [C,L] wavedec(signal,level,wname); % 重构各频段细节 D1 wrcoef(d,C,L,wname,1); % 3000-5000Hz D2 wrcoef(d,C,L,wname,2); % 1500-3000Hz D3 wrcoef(d,C,L,wname,3); % 750-1500Hz A5 wrcoef(a,C,L,wname,5); % 0-75Hz选db4小波是有讲究的——其紧支性和消失矩特别适合捕捉瞬态冲击。把D1到D3重构信号和原始信号对比图3明显看到D2层1500-3000Hz把有效冲击成分提取得最干净。轴心轨迹才是故障诊断的灵魂画手% 构造正交信号假设x、y方向振动信号 theta 2*pi*t; x_vib 1.2*sin(theta) 0.3*D2; y_vib 1.2*cos(theta) 0.3*D2; plot(x_vib,y_vib) axis equal title(带碰磨特征的轴心轨迹)加了碰磨成分后的轨迹图4会出现典型的8字形畸变和纯不对中的香蕉形、纯不平衡的椭圆形有明显区别。注意这里用了D2层重构信号来强化故障特征比直接用原始信号清晰N个档次。最后来个特征值提取的骚操作% 计算小波能量熵 energy zeros(1,level1); for i1:level [Cd,~] detcoef(C,L,i); energy(i) sum(Cd.^2); end energy(level1) sum(A5.^2); total_energy sum(energy); prob energy/total_energy; entropy -sum(prob.*log(prob));这个熵值能定量表征故障严重程度——正常状态熵值较低能量集中在工频碰磨发生时高频带能量占比上升导致熵值增大。建议结合历史数据搞个阈值报警比老师傅的经验判断靠谱多了。整套代码跑完不到10秒但有几个坑得注意小波分解层数别超过log2(N)-1N是数据点数否则重构会出鬼畜效果轴心轨迹记得axis equal保持比例不然轨迹变形会误导判断。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2462693.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!