matlab中fftshift是什么意思?

 我来答
velocity_2005
高粉答主

2019-06-01 · 关注我不会让你失望
知道小有建树答主
回答量:1785
采纳率:100%
帮助的人:120万
展开全部

在matlab中,经过fft变换后,数据的频率范围是从[0,fs]排列的。而一般,我们在画图或者讨论的时候,是从[-fs/2,fs/2]的范围进行分析。因此,需要将经过fft变换后的图像的[fs/2,fs]部分移动到[-fs/2,0]这个范围内。

而fftshift就是完成这个功能。通常,如果想得到所见的中间是0频的图像,经过fft变换后,都要再经过fftshift这个过程。

MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。

随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。

扩展资料

fftshift函数详解:

1)实信号fft的结果前半部分对应[0, fs/2]是正频率的结果,后半部分对应[ -fs/2, 0]是负频率的结果。大于fs/2的部分的频谱实际上是实信号的负频率加fs的结果。故要得到正确的结果,只需将视在频率减去fs即可得到频谱对应的真实负频率;

2)如果实信号fft的绘图频率f从[-fs/2, fs/2],并且没有fftshift,则fft正频谱对应f在[0, fs/2]的结果将混叠到(f - fs/2)的位置;

3)如果要让实信号fft的结果与[-fs/2, fs/2]对应,则要fft后fftshift一下即可,fftshift的操作是将fft结果以fs/2为中心左右互换。

参考资料来源:百度百科-MATLAB

Sakuramengfei
推荐于2019-10-28 · TA获得超过4004个赞
知道小有建树答主
回答量:45
采纳率:100%
帮助的人:9391
展开全部

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) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的

处理工具。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
isolated花儿
2017-12-25 · TA获得超过1235个赞
知道小有建树答主
回答量:6
采纳率:0%
帮助的人:2222
展开全部

fftshift的作用正是让正半轴部分和负半轴部分的图像分别关于各自的中心对称.因为直接用fft得出的数据与频率不是对应的,fftshift可以纠正过来。

matlab中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')

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式