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