急,帮忙看一个短时傅里叶程序,谢谢
做毕业设计分析故障信号的傅里叶谱不对频率非常低
不知道怎么回事
请教一下大家看看程序
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('短时傅立叶谱');
回复 #1 sweet 的帖子
频率低就不对 吗?你已经知道信号的真实频率? 恩,真实频率是50hz肯定应该主要有50hz工频的呀
回复 #3 sweet 的帖子
程序好像没什么问题,你贴数据吧 先分析下时域信号 采样间隔DT没有考虑。 横坐标应该乘以1/(N*DT)
页:
[1]