matlab中fft命令为何要配合fftshift来用?

如题。... 如题。 展开
 我来答
工程师笔记
推荐于2017-11-26 · TA获得超过1929个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:152万
展开全部
fftshift的作用正是让正半轴部分和负半轴部分的图像分别关于各自的中心对称。因为直接用fft得出的数据与频率不是对应的,fftshift可以纠正过来

以下是Matlab的帮助文件中对fftshift的说明:

Y = fftshift(X) rearranges the outputs of fft, fft2, and fftn by moving the zero-frequency component to the center of the array. It is useful for visualizing a Fourier transform with the zero-frequency component in the middle of the spectrum. For vectors, fftshift(X) swaps the left and right halves of X.

例子如下:

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')
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b9df065
2008-12-05 · TA获得超过1293个赞
知道小有建树答主
回答量:641
采纳率:0%
帮助的人:746万
展开全部
Y = fft(x,512)

plot(fftshift(Y))

看看帮助吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式