怎么计算频率突变信号的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的地方就没有,请问该怎么解决? 因为你算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)') 谢谢LS,已经解决了。
页:
[1]