yummyking 发表于 2015-5-28 15:41

关于轴承振动信号的小波去噪

昨晚把论坛里面的所有关于小波去噪的帖子看了一遍,还是没找到“傻瓜式”去噪matlab程序。今天上午通过看书,我编了个去噪的小程序,并对去噪效果进行测试。从测试后的图形中发现一些问题。我把程序和测试数据都放上了,希望这个帖子对刚接触小波去噪的同学们有所帮助。在此留下我的邮箱yummyking@126.com问题如下:1、对于轴承故障信号到底选用什么小波基?2、如何评价去噪效果,我看好多文章都是仿真一个信号,然后通过信噪比评价去噪效果,对于实际信号怎么办?3、我看了论坛里面的去噪程序,又找了关于matlab小波分析的书,小波去噪的命令这么多种,哪种效果最好啊?我编写的这个去噪的matlab程序对吗,去噪效果好不好?我对采集到的轴承内圈故障振动信号,进行频谱分析,通过下图可知,52.25频率处有幅值,这个频率不是轴承的故障频率。我也不知道它是什么。
我用db3小波对采集到的轴承振动信号进行降噪。在论坛里面看的,在高频分量小的情况下,采取通用阈值、启发式(混合式)阈值进行软阈值去噪效果比较好。我也不知道我的数据是不是在高频分量小的情况下。在别人的论文中看到的,对于轴承故障信号,用db2、db3小波就可以了。这句话对吗?处理轴承故障信号,到底用什么比较好??试验需要,我选择了五尺度分解。xd = wden(nx,'heursure','s','mln',i,'db3');下面是我编写的去噪程序。原始波形图,以及去噪后的波形。clc;clear;=xlsread('zdd');nx=nx';% 将信号nx用小波函数分解到第n层% 用不同阀值选择对系数进行处理,消除噪声信号n=6;figure(1);plot(nx);title('原始信号');for i=1:nxd = wden(nx,'heursure','s','mln',i,'db3');figure(2);subplot(n,1,i);plot(xd);title(['db3小波基',num2str(i),'层分解后去噪']);end
去噪后的

yummyking 发表于 2015-5-28 17:13

这是我对前4层信号去噪后得到的频谱加包络谱。为什么到了第四层的频谱图和包络谱就变样了呢。

impulse 发表于 2015-5-28 17:37

本帖最后由 impulse 于 2015-5-28 17:38 编辑

yummyking 发表于 2015-5-28 17:13
这是我对前4层信号去噪后得到的频谱加包络谱。为什么到了第四层的频谱图和包络谱就变样了呢。
小波没研究过,上学时候有师兄做,也看过,整体感觉小波和emd之类信号分析方法,普适性差,对于某一特定信号效果很好,换了其他信号就很差,所以也很少关注这些东西。话说回来,去噪本来就没有什么标准算法,所以不可能找到最优并且对全部信号都适用。

yummyking 发表于 2015-5-28 19:19

impulse 发表于 2015-5-28 17:37
小波没研究过,上学时候有师兄做,也看过,整体感觉小波和emd之类信号分析方法,普适性差,对于某一特定 ...

那我怎么知道我去噪的效果好不好啊?
页: [1]
查看完整版本: 关于轴承振动信号的小波去噪