matlab中fftshift是什么意思
展开全部
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')
以下是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))大概是什么意思
来自:求助得到的回答
展开全部
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) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的
处理工具。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fft是一维的傅里叶变换,是将时域信号转换为频域信号的
fftshift是这针对频域信号的,将fft的DC分量移到频谱中心区,
这是信号处理的基本功能!
fftshift是这针对频域信号的,将fft的DC分量移到频谱中心区,
这是信号处理的基本功能!
追问
X=fftshift(fft(x,nfft))大概是什么意思!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询