怎么画频谱图?
我用5MHz的采样频率对一个周期为1ms的伪码采样,采样之后得到5000个数据点,把这5000个点FFT之后,怎么画出频谱图?就是在横坐标能看到频率,纵坐标是幅值?...
我用5MHz的采样频率对一个周期为1ms的伪码采样,采样之后得到5000个数据点,把这5000个点FFT之后,怎么画出频谱图?
就是在横坐标能看到频率,纵坐标是幅值? 展开
就是在横坐标能看到频率,纵坐标是幅值? 展开
推荐于2017-09-08 · 知道合伙人金融证券行家
关注
展开全部
在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对称,这并不是偶然。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |