long9998 发表于 2009-5-25 10:51

滚动轴承外圈故障信号处理(求助)

我在老师那里弄到了外圈故障的数据,放在zhouchengbishe@163.com里了 密码是20092009,(本来想直接添加附件了,但是数据太大,压缩之后还有800多k,就放在邮箱里了,大家帮帮忙,谢谢了)采样点数是N=121991,采样频率fs=12000,故障频率是107HZ,大家帮我看看下面的程序那里错了?我怎么得不到107HZ的频率啊 ?
clc;
fs=12000;
N=121991;
n=0:N-1;
t=n/fs;
%s=load('105.dat');%载入数据
fid=load('data130.mat');
s=fieldnames(fid);
B=load('data130.mat')
fid=fid.(s{1});
x=fid';
%小波降噪
=wavedec(x,3,'db3');
=ddencmp('den','wv',x)
sd=wdencmp('gbl',x,'db3',3,thr,sorh,keepapp);
%共振解调法
=butter(4,);%带通滤波
Sf=filter(b,a,sd);
sf=hilbert(Sf);%包络
y=abs(sf);
y=y-mean(y);
nfft=121991;
=butter(4,0.15,'low');%解调
y1=filter(c,d,y);
%nfft=121991;
p=abs(fft(y1,nfft));
plot((0:nfft/2-1)/nfft*fs,p(1:nfft/2));%功率谱
%细化谱
fa=0;
n=0:N-1;
%频移
b=2*n*pi*fa/fs;
q=y1.*exp(-i*b);
=butter(4,400/nfft,'low');
y6=filter(b,a,q);
np=8;
y3=resample(y6,1,np);%重新采样,采样频率为fs/N
y2=abs(fft(y3));
w=fa:(nfft/np+fa);
figure
plot(fa:399,y2((fa+1):400));

[ 本帖最后由 zhangnan3509 于 2010-1-8 22:00 编辑 ]

zhwang554 发表于 2009-5-25 16:44

滚动轴承外圈故障频谱图

你的程序没有错,原程序第一个频谱图频率轴太大,你只画出前1/10的频谱如图一,可明显看出107Hz基频
即作图语句改为   plot((0:nfft/20-1)/nfft*fs,p(1:nfft/20))
.

                                          图一   滚动轴承外圈故障频谱图

[ 本帖最后由 zhwang554 于 2009-5-25 21:26 编辑 ]

long9998 发表于 2009-5-25 21:04

问题解决了,是我的细化时定义频率坐标出错了,不过还是要感谢楼上。呵呵

gcy813326 发表于 2009-12-25 21:13

希望你能帮助我解决

我也要做一些频谱细化的东西 有些问题还不是很清楚 尤其是移频和从采样方面

xiangyu537 发表于 2010-1-7 16:14

问题解决了,是我的细化时定义频率坐标出错了
能否具体说明一下? 谢谢!

gcy813326 发表于 2010-5-7 13:49

拜托

你的横坐标是怎么解决的啊,我也要做细化谱,也是卡到这里了

dayongjiang 发表于 2010-5-11 16:04

回复 楼主 long9998 的帖子

兄弟,你数据里面的X130-BA-timeX130-DE-timeX130-FE-time是什么意思啊?
你用的什么型号的轴承?采样点数一般是2的整数倍,你怎么是121991?

impulse 发表于 2010-9-3 22:28

回复 dayongjiang 的帖子
看看这个就知道了。http://www.eecs.case.edu/laboratory/bearing/download.htm

   

200810100659 发表于 2010-12-8 20:12

正在学习这个例子,很好。不知用双谱分析会是什么样
页: [1]
查看完整版本: 滚动轴承外圈故障信号处理(求助)