matlab中fftshift是什么意思?
在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
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) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的
处理工具。
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')