Matlab函数——fftshift

fftshift
将零频率的分量移到频谱的中心

语法
Y=fftshift(X)
Y=fftshift(X,dim)

描述
通过移动零频率分量到数组的中心,Y=fftshift(X)对fft、fft2、fftn的输出进行了重新的排列。这对于用肉眼观察傅里叶变换是非常有帮助的,因为零频率的分量在频谱的中心。
对于向量,fftshift(X)将X均分为左右两部分并兑换。对于矩阵,fftshift(X)将第一个四分块同第三个四分块调换,第二个同第四个调换。如下图所示。

对于更高维的数组,fftshift(X)沿着X的每一个维度,将X的两个“半空间”对调。
Y=fftshift(X,dim)是对X的dim维度进行fftshift操作。

注意:ifftshift是fftshift的逆过程。如果矩阵X包含奇数个元素,为了得到原始的X,我们必须用ifftshift(fftshift(X))这个操作。单纯的通过两次使用fftshift(X)将不会得到X。

例子:对于任意的矩阵X
Y= fft2(X)
有Y(1,1)=sum(sum(X));信号的零频率分量在二维FFT的左上角处。对于
Z= fftshift(Y)
这个零频率分量就会出现在矩阵的中心处附近。
fftshift和ifftshift的不同对于奇数长度的输入序列是非常重要的。
N=5;
X=0:N-1;
Y=fftshift(fftshift(X));
Z=ifftshift(fftshift(X));
注意到Z就是X,而Y不是。
isequal(X,Y),isequal(X,Z)
ans =

     0

ans =

     1


也可以查看
cirshift,fft,fft2,fftn,ifftshift
  • 9
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值