怎么画频谱图?

我用5MHz的采样频率对一个周期为1ms的伪码采样,采样之后得到5000个数据点,把这5000个点FFT之后,怎么画出频谱图?就是在横坐标能看到频率,纵坐标是幅值?... 我用5MHz的采样频率对一个周期为1ms的伪码采样,采样之后得到5000个数据点,把这5000个点FFT之后,怎么画出频谱图?
就是在横坐标能看到频率,纵坐标是幅值?
展开
 我来答
babyAn涩
推荐于2017-09-08 · 知道合伙人金融证券行家
babyAn涩
知道合伙人金融证券行家
采纳数:7678 获赞数:132050
2014年于上海市商贸旅游学校毕业,专业会计。后就读于上海市同济大学网络教育学院。

向TA提问 私信TA
展开全部

在matlab中应用fft求傅立叶变换后,如果想画出频谱图,必须用fftshift命令处理变换的结果。

例子如下:
clear;
clc;
t=0:0.001:2;
n=2001;
Fs=1000;
Fc=200;
x=cos(2*pi*Fc*t);
y1=fft(x);
y2=fftshift(y1);
f=(0:2000)*Fs/n-Fs/2;
hold on;
plot(f,abs(y1),'r')
plot(f,abs(y2),'b')
结果如下图:

图中红色是没经过fftshift处理的频谱图,蓝色是经过处理之后的。结合程序,显然x的频谱应该位于200Hz处,经过fftshift处理的蓝色频谱是正确的。

注意:红色和蓝色的曲线在两边分别关于-250Hz和250Hz对称,这并不是偶然。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式