sweet 发表于 2007-6-16 16:37

急,帮忙看一个短时傅里叶程序,谢谢

做毕业设计分析故障信号的傅里叶谱不对
频率非常低
不知道怎么回事
请教一下大家看看程序
clear all;
SimData=fopen('d:\work\20km\0314_BG_0_20_01.out','r');   
Out=fscanf(SimData,'%e',);
Xa=Out(2,:);
Xb=Out(3,:);
Xc=Out(4,:);
Xa1=Xa(1544:2567);
Xb1=Xb(1544:2567);
Xc1=Xc(1544:2567);

figure(1);
subplot(311);
plot(Xc1);
set(gca,'XTicklabel');
grid;
y = Xc1;   

Y = fft(y,1024);
Pyy = Y.* conj(Y) / 1024;
f = 1000*(0:1023)/1024;
plot(f(1:512),Pyy(1:512))
title('Frequency content of y')
xlabel('frequency (Hz)')
xlabel('frequency (Hz)');

figure(2);
t=0.18:0.01:0.24;
h=window('hamming',131);
=tfrstft(hilbert(y(1:1024)'),1:1024,1024,h);
imagesc(t,f(1:512)*1000,abs(tfr(1:512,:)));
axis('xy');
xlabel('Time'); ylabel('Frequency');
title('短时傅立叶谱');

zhlong 发表于 2007-6-16 16:46

回复 #1 sweet 的帖子

频率低就不对 吗?你已经知道信号的真实频率?

sweet 发表于 2007-6-16 16:51

恩,真实频率是50hz
肯定应该主要有50hz工频的呀

zhlong 发表于 2007-6-16 17:06

回复 #3 sweet 的帖子

程序好像没什么问题,你贴数据吧

yangzj 发表于 2007-6-16 17:08

先分析下时域信号

VibrationMaster 发表于 2007-6-16 20:08

采样间隔DT没有考虑。 横坐标应该乘以1/(N*DT)
页: [1]
查看完整版本: 急,帮忙看一个短时傅里叶程序,谢谢