声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4766|回复: 22

[FFT] 对轴承振动信号包络线转换后的FFT【matlab】

  [复制链接]
发表于 2013-1-8 15:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我做的是圆柱滚子轴承在有异物情况下的实验,轴的转速是300RMP振动传感器用的是加速度传感器,采样频率是8k,采了40000个数据。想用包络线分析看轴承的故障频率,也就是内圈故障特征频率之类的。我本专业是学机械的,做信号分析真心有点吃力。看了些信号处理的书之后,用下面这个程序对才到的振动数据做了下运行,结果不是很好,看不清什么特征频率。我看都说hilbert之后再FFT一下,现在知识有限,写的程序也简单。请各位高手指点一下。谢谢
  1. load 1221.csv;
  2. Xt=test;
  3. Fs=8000;
  4. dt=1/Fs;
  5. N=length(Xt);
  6. y=hilbert(Xt);
  7. am=abs(y);
  8. Xf=fft(am);

  9. figure(1)
  10. subplot(2,1,1),plot([0:N-1]/Fs,Xt);
  11. xlabel('Time/s'),title('Time domain');
  12. grid on;

  13. subplot(2,1,2),plot([0:N-1]/(N*dt),abs(Xf)*2/N);
  14. xlabel('frequency/Hz'),title('amplitude frequency diagram');
  15. ylabel('amplitude');
  16. xlim([0 4000]);
  17. grid on;
复制代码

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2013-1-8 16:42 | 显示全部楼层
要先带通滤波,可能效果好些,你把数据发上来,分析分析!
发表于 2013-1-8 16:50 | 显示全部楼层
为什么做Hilbert变换呢?因为FFT做出来的结果是共轭的,加上Hilbert变换后形成分析信号(复数信号),那么共轭这个问题就没有了(共轭引起的问题你再查查)
 楼主| 发表于 2013-1-8 20:40 | 显示全部楼层

不好意思,我基本是个外行,还请多多指教啊这个是振动的数据csv格式的 1221.rar (16.3 KB, 下载次数: 17)
用了包络线分析也基本看不出什么



 楼主| 发表于 2013-1-8 20:52 | 显示全部楼层
yghit08 发表于 2013-1-8 16:50
为什么做Hilbert变换呢?因为FFT做出来的结果是共轭的,加上Hilbert变换后形成分析信号(复数信号),那么共 ...

我也用过只是FFT的,更加看不出来啊,而且包络线是轴承检测现在比较普及的做法啊
发表于 2013-1-8 21:02 | 显示全部楼层
忽悠着你 发表于 2013-1-8 20:52
我也用过只是FFT的,更加看不出来啊,而且包络线是轴承检测现在比较普及的做法啊

两者做的结果有差别吗?
从你的程序中看没有做包络啊,只是利用Hilbert将信号转换成分析信号,接着利用这个分析信号做FFT。
我知道的包络分析也许和你知道的包络分析不同——我只做信号的趋势分析(包络能做出来)。
另外,不知道你的特征频率是多少,确实如二楼所说做之前需要对信号做预处理——去趋势项,滤波一下(采集信号前,信号采集器有硬件滤波功能的话开启)。
FFT是一全局平均的方法,也许你的特征信号被其他能量大的频率信号所淹没以致于比较难发现。
当然,最重要的是你确保你采集到的信号中真的含有故障特征信号吗!
 楼主| 发表于 2013-1-9 09:10 | 显示全部楼层
yghit08 发表于 2013-1-8 21:02
两者做的结果有差别吗?
从你的程序中看没有做包络啊,只是利用Hilbert将信号转换成分析信号,接着利用这 ...

包络线:
Envelope.jpg FFT
FFT.jpg
结果区别还是比较大的,特征频率是29hz和38hz,包络线的相对接近一些我感觉。

不过你提到到底有没有特征频率这点也是我担心的,但是不做好这个,到底有没有也不知道对吧

评分

1

查看全部评分

发表于 2013-1-9 09:58 | 显示全部楼层
忽悠着你 发表于 2013-1-9 09:10
包络线:
FFT

这样看确实有区别,具体原因不知道,但是从你程序自身看应该区别不大,这样区别的原因我不太清楚了!
 楼主| 发表于 2013-1-9 11:05 | 显示全部楼层
yghit08 发表于 2013-1-9 09:58
这样看确实有区别,具体原因不知道,但是从你程序自身看应该区别不大,这样区别的原因我不太清楚了!

恩,看来还好多学习学习
发表于 2013-1-9 17:10 | 显示全部楼层
就这一个数据啊,你的这是求包络谱,低频应出现包络线,你把频率轴的范围取成0-500看看!
发表于 2013-1-11 19:51 | 显示全部楼层
本帖最后由 fzwxjtu 于 2013-1-11 20:03 编辑

楼主在处理数据之前先把均值去掉好点,我看0频的成分太多了。
对信号x(t)做Hilbert变换之后得到的解析信号h(t)=x(t)+x‘(t),得到h(t)的模值就是信号x(t)的幅值包络,这个是没错的。
你的问题,在对am做fft之前加一句    am=am-mean(am);效果就好一点。


11.png
发表于 2013-1-12 10:15 | 显示全部楼层
试试对imf分量分别进行fft变换,求功率谱密度,hilbert普,三个都试一下
 楼主| 发表于 2013-1-15 13:22 | 显示全部楼层
fzwxjtu 发表于 2013-1-11 19:51
楼主在处理数据之前先把均值去掉好点,我看0频的成分太多了。
对信号x(t)做Hilbert变换之后得到的解析信 ...

我按照你说的加了am=am-mean(am);之后果然和以前的不一样了,还想问问你一开始说的均值去掉应该怎么做?
发表于 2013-1-15 19:35 | 显示全部楼层
忽悠着你 发表于 2013-1-15 13:22
我按照你说的加了am=am-mean(am);之后果然和以前的不一样了,还想问问你一开始说的均值去掉应该怎么做?

am=am-mean(am);就是去均值了
 楼主| 发表于 2013-1-17 09:43 | 显示全部楼层
fzwxjtu 发表于 2013-1-15 19:35
am=am-mean(am);就是去均值了

恩,谢谢,已经有点进展了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-25 10:45 , Processed in 0.080913 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表