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