matlab中fftshift是什么意思

 我来答
ghostjack131
2012-12-14 · TA获得超过7182个赞
知道大有可为答主
回答量:3388
采纳率:67%
帮助的人:616万
展开全部
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')
追问
X=fftshift(fft(x,nfft))大概是什么意思
来自:求助得到的回答
Sakuramengfei
2018-03-30 · TA获得超过4004个赞
知道小有建树答主
回答量:45
采纳率:100%
帮助的人:9862
展开全部

1、在matlab中,经过fft变换后,数据的频率范围是从[0,fs]排列的。

2、而一般,我们在画图或者讨论的时候,是从[-fs/2,fs/2]的范围进行分析。

3、因此,需要将经过fft变换后的图像的[fs/2,fs]部分移动到[-fs/2,0]这个范围内。

而fftshift就是完成这个功能。

通常,如果想得到所见的中间是0频的图像,经过fft变换后,都要再经过fftshift。

MATLAB

    MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视

    化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和

    Simulink两大部分。

特点

1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来。

2) 具有完备的图形处理功能,实现计算结果和编程的可视化。

3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握。

4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的

处理工具。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贫風璇j
2012-12-14 · TA获得超过466个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:143万
展开全部
fft是一维的傅里叶变换,是将时域信号转换为频域信号的
fftshift是这针对频域信号的,将fft的DC分量移到频谱中心区,
这是信号处理的基本功能!
追问
X=fftshift(fft(x,nfft))大概是什么意思!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式