二维快速傅里叶变换及其逆变换-Matlab

ifft2

二维快速傅里叶逆变换

说明

示例

X = ifft2(Y) 使用快速傅里叶变换算法返回矩阵的二维离散傅里叶逆变换。如果 Y 是一个多维数组,则 ifft2 计算大于 2 的每个维度的二维逆变换。输出 X 的大小与 Y 相同。

示例

X = ifft2(Y,m,n) 在计算逆变换之前截断 Y 或用尾随零填充 Y,以形成 m×n 矩阵。X 也是 m×n。如果 Y 是一个多维数组,ifft2 将根据 mn 决定 Y 的前两个维度的形状。

示例

X = ifft2(___,symflag) 指定 Y 的对称性。例如,ifft2(Y,'symmetric')Y 视为共轭对称。

示例

全部折叠

矩阵的二维逆变换

Y = fft2(X)
Y = 3×3 complex

45.0000 + 0.0000i, 0.0000 + 0.0000i 0.0000 + 0.0000i
0.00000 + 0.0000i, 13.5000 + 7.7942i 0.0000 - 5.1962i
0.00000 - 0.0000i, 0.00000 + 5.1962i 13.5000 - 7.7942i

计算 Y 的逆变换,结果与原始矩阵 X 相同(基于舍入误差)。

ifft2(Y)
ans = 3×3
8.0000    1.0000    6.0000
3.0000    5.0000    7.0000
4.0000    9.0000    2.0000

用尾随零填充 Y 的两个维度,使变换的大小为 8×8。

Z = ifft2(Y,8,8);
size(Z)
ans = 1×2
 8     8

共轭对称矩阵

X = ifft2(Y,‘symmetric’)

X = 2×2

 4     0
 0    -1

输入参数

全部折叠

Y - 输入数组
矩阵 | 多维数组

输入数组,指定为矩阵或多维数组。如果 Y 的类型为 single,则 ifft2 本身以单精度进行计算,X 的类型也是 single。否则,Xdouble 类型返回。

数据类型: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical
复数支持:

m - 逆变换行数
正整数标量

逆变换行数,指定为正整数标量。

n - 逆变换列数
正整数标量

逆变换列数,指定为正整数标量。

symflag - 对称类型
'nonsymmetric' (默认) | 'symmetric'

对称类型,指定为 'nonsymmetric''symmetric'。当 Y 由于舍入误差而导致不完全共轭对称时,ifft2(Y,'symmetric') 会将 Y 视为共轭对称。有关共轭对称的详细信息,请参阅算法

详细信息

全部折叠

二维傅里叶变换/逆变换

m×n的矩阵 Y或连续函数 的离散傅里叶逆变换,结果为 X:

x p , q = 1 m n ∑ j = 1 m ∑ k = 1 n e ( j − 1 ) ( p − 1 ) 2 π i m e ( k − 1 ) ( q − 1 ) 2 π i n Y j k , . x_{p,q} =\frac{1}{mn}\sum_{j=1}^{m}\sum_{k=1}^{n}e^{\frac{(j-1)(p-1)2\pi i}{m}}e^{\frac{(k-1)(q-1)2\pi i}{n}}Y_{jk},. xp,q=mn1j=1mk=1nem(j1)(p1)2πien(k1)(q1)2πiYjk,.
i 是虚数单位。p 的范围从 1 到 m,q 的范围从 1 到 n。

m×n的矩阵 Y或连续函数 的离散傅里叶变换,结果为 X:
x p , q = ∑ j = 1 m ∑ k = 1 n e − ( j − 1 ) ( p − 1 ) 2 π i m e − ( k − 1 ) ( q − 1 ) 2 π i n Y j k , . x_{p,q} = \sum_{j=1}^{m}\sum_{k=1}^{n}e^{-\frac{(j-1)(p-1)2\pi i}{m}}e^{-\frac{(k-1)(q-1)2\pi i}{n}}Y_{jk},. xp,q=j=1mk=1nem(j1)(p1)2πien(k1)(q1)2πiYjk,.
让p,q从0开始,j,k也从0开始,则
x p , q = ∑ j = 0 m − 1 ∑ k = 0 n − 1 e − j p 2 π i m e − k q 2 π i n Y j k , . x_{p,q} = \sum_{j=0}^{m-1}\sum_{k=0}^{n-1}e^{-\frac{jp2\pi i}{m}}e^{-\frac{kq2\pi i}{n}}Y_{jk},. xp,q=j=0m1k=0n1emjp2πienkq2πiYjk,.
如果 m = n m=n m=n,则
x p , q = ∑ j = 0 m − 1 ∑ k = 0 m − 1 e − ( j p + k q m ) 2 π i Y j k , . x_{p,q} = \sum_{j=0}^{m-1}\sum_{k=0}^{m-1}e^{-(\frac{jp +kq}{m})2\pi i}Y_{jk},. xp,q=j=0m1k=0m1e(mjp+kq)2πiYjk,.

算法

ifft2 函数测试矩阵 Y 中的向量是否在两个维度上都共轭对称。

  • 当向量 v 的第 i 个元素满足 v(i) = conj(v([1,end:-1:2])) 时,它就是一个共轭对称向量。
  • 如果 Y 中的向量在两个维度上都共轭对称,则逆变换的计算速度更快,并且输出为实数。

https://ww2.mathworks.cn/help/matlab/ref/fft2.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值