reggie_liu 发表于 2010-5-31 09:51

怎么计算频率突变信号的FFT

clear;
clc;
T=1,fs=1000;
%-------------------频率突变信号------------------------
t1=0:1/fs:T/2-1/fs;
t2=T/2:1/fs:T-1/fs;
t=;
x=;
% plot(t,x)
Y = fft(x,512);
Pyy = Y.* conj(Y) / 512;
f = 1000*(0:255)/512;
plot(f,Pyy(1:256))
title('Frequency content of x')
xlabel('frequency (Hz)')

以上是程序,可是最后画图的时候只有在50Hz的地方出现谱峰,在100Hz的地方就没有,请问该怎么解决?

bcyangbc 发表于 2010-5-31 10:24

因为你算FFT时只取了前面频率为50Hz的500个点,还有频率为100Hz的12个点,能量太小,显示不出来。
注意你这一句:
clear;
clc;
T=1,fs=1000;
%-------------------频率突变信号------------------------
t1=0:1/fs:T/2-1/fs;
t2=T/2:1/fs:T-1/fs;
t=;
x=;
% plot(t,x)
Y = fft(x,512);   %计算FFT时只取了512个点
Pyy = Y.* conj(Y) / 512;
f = 1000*(0:255)/512;
plot(f,Pyy(1:256))
title('Frequency content of x')
xlabel('frequency (Hz)')

reggie_liu 发表于 2010-5-31 11:32

谢谢LS,已经解决了。
页: [1]
查看完整版本: 怎么计算频率突变信号的FFT