怎么用MATLAB画频谱图

问题描述:

怎么用MATLAB画频谱图
我不知道怎么生成频谱,在MATLAB中spectrum好像不怎么好用,我是用的08版的MATLAB.

>> t=-10:0.001:10;
>> x=10*cos(800*pi*t+pi/4)+7*cos(1200*pi*t-pi/3)-3*cos(1600*pi*t);
>> X=fftshift(fft(x));
>> fs=linspace(-1000/2,1000/2,length(t));%%1000是由0.001而来,采样间隔
>> plot(fs,abs(X));
   grid on
这样的话出来的频谱图是不对的啊,本来应该有六个频率分量,但是现在只有四个。而且有两个是不对的啊。频谱中心搬移到原点了,好好看看!可是幅值也不太对啊,我第一次用,不知道怎么用。我把x(t)换成余弦函数也得不到想要的结果啊?