频谱图很好画啊,用abs(fft(sin(x))),再用plot就可以了
画相位图时,fft做完是复数,用atan(虚部/实部)就可以了,不要用abs命令
Adata = fft(Tdata);
phase = (angle(Adata)*180/pi);
Adata
=
fft(Tdata);
phase
=
(angle(Adata)*180/pi);
用fft函数
以下是matlab help的例子,你看看吧
t = 0:0.001:0.6;
x = sin(2*pi*50*t)+sin(2*pi*120*t);
y = x + 2*randn(size(t));
plot(1000*t(1:50),y(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('time (milliseconds)'
Y = fft(y,512);
Pyy = Y.* conj(Y) / 512;
f = 1000*(0:256)/512;
plot(f,Pyy(1:257))
title('Frequency content of y')
xlabel('frequency (Hz)')