ifftshift 逆零频平移(Matlab)

1.语法:

        X = ifftshift(Y)
        X = ifftshift(Y,dim)

2.说明:

1.X = ifftshift(Y) 将进行过零频平移的傅里叶变换 Y 重新排列回原始变换输出的样子。换言之,ifftshift 就是撤消 fftshift 的结果。

        如果 Y 是向量,则 ifftshift 会将 Y 的左右两半部分进行交换。
        如果 Y 是矩阵,则 ifftshift 会将 Y 的第一象限与第三象限交换,将第二象限与第四象限交换。
        如果 Y 是多维数组,则 ifftshift 会沿每个维度交换 Y 的半空间。

2.X = ifftshift(Y,dim) 沿 Y 的维度 dim 执行运算。例如,如果 Y 是矩阵,其行表示多个一维变换,则 ifftshift(Y,2) 会将 Y 的每一行的左右两半部分进行交换。

3.输入参数:

Y - 输入数组
        参数支持类型:向量 | 矩阵 | 多维数组
        输入数组,指定为向量、矩阵或多维数组。
        数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
        复数支持: 是
dim - 沿其运算的维度
        参数支持类型:正整数标量
        沿其运算的维度,指定为正整数标量。如果未指定任何值,则 ifftshift 沿所有维度进行交换。

1.以输入矩阵 Yc 为例。运算 ifftshift(Yc,1) 会将 Yc 的每一列的上下两半部分进行交换

在这里插入图片描述

2.以输入矩阵 Yr 为例。运算 ifftshift(Yr,2) 会将 Yr 的每一行的左右两半部分进行交换。

在这里插入图片描述
数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

4.示例(逆平移向量元素):

您可以使用 fftshift 和 ifftshift 函数交换向量的左右两半部分。

创建包含奇数个元素的向量,然后使用 fftshift 函数交换该向量的左右两侧。

V = [1 2 3 4 5 6 7];
X = fftshift(V)

X = 1×7

 5     6     7     1     2     3     4

使用 ifftshift 函数交换 X 的左右两侧。结果与原始向量 V 相同。

Y = ifftshift(X)

Y = 1×7

 1     2     3     4     5     6     7

调用 fftshift 函数两次并不一定会重新构造原始输入。

fftshift(fftshift(V))

ans = 1×7

 2     3     4     5     6     7     1

本文转自:matlab官网
网址为:https://ww2.mathworks.cn/help/matlab/ref/ifftshift.html

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值