|
楼主 |
发表于 2012-5-6 08:53
|
显示全部楼层
回复 2 # impulse 的帖子
你好,在吗?我想问下你,我用西储大学的轴承数据做了下分析,用的是驱动的轴承内圈故障信号,采样频率是12000hz的,数据是X105_DE_time,做出来的边际谱有很多频率,有600多hz,1000多hz,3000多hz的频率,这些频率是怎么回事?能帮我解释下吗??故障特征频率应该是162hz左右的么,而且这故障特征频率也不是很明显啊?以下是我的程序。和边际谱图。
万分感谢啦
程序如下;
fs=12000;
data=X105_DE_time(1:5000);%这个是西储大学轴承中心下载的数据,驱动端内圈采集数,数据很大,采样频率是12000;imf=emd(data); %对输入信号进行EMD分解
[A,f,t]=hhspectrum(imf); %对IMF分量求取瞬时频率与振幅:A:是每个IMF的振幅向量,f:每个IMF对应的瞬时频率,t:时间序列号
[E,t,Cenf]=toimage(A,f); %将每个IMF信号合成求取Hilbert谱,E:对应的振幅值,Cenf:每个网格对应的中心频率 这里横轴为时间,纵轴为频率
%即时频图(用颜色表示第三维值的大小)和三维图(三维坐标系:时间,中心频率,振幅)
cemd_visu(data,1:length(data),imf); %显示每个IMF分量及残余信号--------------------------------------------
disp_hhs(E); %希尔伯特谱----------------------------------------------------------
%画出边际谱
%N=length(Cenf);%设置频率点数 %完全从理论公式出发。网格化后中心频率很重要,大家从连续数据变为离散的角度去思考,相信应该很容易理解
for k=1:size(E,1)
bjp(k)=sum(E(k,:))*1/fs;
end
figure(3);
plot(Cenf(1,:)*fs,bjp); % 作边际谱图 进行求取Hilbert谱时频率已经被抽样成具有一定窗长的离散频率,所以此时的频率轴已经是中心频率
xlabel('频率 / Hz');
ylabel('幅值');
|
-
边际谱图
|