二维快速傅里叶逆变换
ifft2
二维快速傅里叶逆变换
语法
X = ifft2(Y)
X = ifft2(Y,m,n)
X = ifft2(___,symflag)
说明
示例
X = ifft2(
Y) 使用快速傅里叶变换算法返回矩阵的二维离散傅里叶逆变换。如果 Y
是一个多维数组,则 ifft2
计算大于 2 的每个维度的二维逆变换。输出 X
的大小与 Y
相同。
示例
X = ifft2(
Y,m
,n
) 在计算逆变换之前截断 Y
或用尾随零填充 Y
,以形成 m
×n
矩阵。X
也是 m
×n
。如果 Y
是一个多维数组,ifft2
将根据 m
和 n
决定 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 00 -1
输入参数
全部折叠
Y
- 输入数组
矩阵 | 多维数组
输入数组,指定为矩阵或多维数组。如果 Y
的类型为 single
,则 ifft2
本身以单精度进行计算,X
的类型也是 single
。否则,X
以 double
类型返回。
数据类型: 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:
xp,q=∑j=1m∑k=1ne(j−1)(p−1)2πime(k−1)(q−1)2πinYjk,.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=1∑mk=1∑nem(j−1)(p−1)2πien(k−1)(q−1)2πiYjk,.
i 是虚数单位。p 的范围从 1 到 m,q 的范围从 1 到 n。
m×n的矩阵 Y或连续函数 的离散傅里叶逆变换,结果为 X:
xp,q=1mn∑j=1m∑k=1ne−(j−1)(p−1)2πime−(k−1)(q−1)2πinYjk,.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=1∑mk=1∑ne−m(j−1)(p−1)2πie−n(k−1)(q−1)2πiYjk,.
让p,q从0开始,j,k也从0开始,则
xp,q=1mn∑j=0m−1∑k=0n−1e−jp2πime−kq2πinYjk,.x_{p,q} =\frac{1}{mn} \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=mn1j=0∑m−1k=0∑n−1e−mjp2πie−nkq2πiYjk,.
如果m=nm=nm=n,则
xp,q=1m2∑j=0m−1∑k=0m−1e−(jp+kqm)2πiYjk,.x_{p,q} =\frac{1}{m^{2}} \sum_{j=0}^{m-1}\sum_{k=0}^{m-1}e^{-(\frac{jp +kq}{m})2\pi i}Y_{jk},. xp,q=m21j=0∑m−1k=0∑m−1e−(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
二维快速傅里叶逆变换相关推荐
- ifft2 二维快速傅里叶逆变换(Matlab)
1.语法 X = ifft2(Y) X = ifft2(Y,m,n) X = ifft2(___,symflag) 2.说明 X = ifft2(Y) 使用快速傅里叶变 ...
- 【经典算法实现 44】理解二维FFT快速傅里叶变换 及 IFFT快速傅里叶逆变换(迭代法 和 递归法)
[经典算法实现 44]理解二维FFT快速傅里叶变换 及 IFFT快速傅里叶逆变换(迭代法 和 递归法) 一.二维FFTFFTFFT快速傅里叶变换 公式推导 二.二维FFTFFTFFT 及 IFFTIF ...
- C++实现二维快速傅里叶变换(FFT)
上一篇文章里,我根据DFT公式用C++实现了二维离散傅里叶变换.但跑一张300*300的图片都要好几分钟,速度实在太慢了.我研究了下快速傅里叶变换,在网上找了一些资料,然后用C++实现了二维快速傅里叶 ...
- C++实现二维离散傅里叶变换
在上一篇文章<C++实现一维离散傅里叶变换>中,我们介绍了一维信号傅立叶变换的公式和C++实现,并阐述了频域幅值的意义. 一维傅立叶变换只适用于一维信号,例如音频数据.心脑电图等. 在图像 ...
- Python 二维离散傅里叶变换
Python 二维离散傅里叶变换 文章目录 Python 二维离散傅里叶变换 需要的库 计算两张图片的PSNR 二维离散傅里叶变换 二维离散傅里叶逆变换 频域平移 绘制频域图像 需要的库 import ...
- 通过二维FFT变换对比加入窗函数之后的图像频谱和相位
目录 一.理论基础 1.1二维FFT变换 1.2窗函数 二.核心程序 三.测试结果 一.理论基础 1.1二维FFT变换 以下公式定义 m×n 矩阵 X 的离散傅里叶变换 Y: ωm 和 ωn 是复单位 ...
- 单尺度二维离散小波重构(逆变换)idwt2
clc,clear all,close all; load woman; %单尺度二维离散小波分解.分解小波函数haar [cA,cH,cV,cD]=dwt2(X,'haar'); %单尺度二维离散小 ...
- 泊松融合进阶——DFT求解二维泊松方程
前言 泊松融合(Poisson Blending)是图像处理领域著名的图像融合算法,自从2003年发表以来,有很多基于此算法的应用和改进研究出现.泊松融合无需像Alpha blending一样的精确抠 ...
- 对图像进行二维离散Fourier变换
用函数fft2对图像进行二维离散Fourier变换.用图像的形式分别显示清晰的频谱幅度和相位.对图像用窗函数加权,观察其Fourier变换,解释加窗前后的变化.对图像作Fourier变换和反变换.将图 ...
最新文章
- qt与JAVA服务器通信_Qt实现的SSL通信客户端和服务器
- java 中如何连接 oracle 数据库
- 用大数据看中国美食咸甜之战
- 201671010103 2016-2017-2 《Java程序设计》第二周学习心得
- Zookeeper-单机/集群安装
- BZOJ2428[HAOI2006] 均分数据
- 如何划分和细化有限元网格,才能提高计算的精度和速度?
- Trance — Aura NFT 合集
- 数据库设计-UML模型
- macbook不能进系统 备份数据_用数据“说话” VOCs治理在线监测系统不能少
- 【云原生 | Kubernetes 系列】K8s 实战 一文学会如何从 PodSecurityPolicy 迁移到内置的 PodSecurity 准入控制器
- 连作业都不会抄!盘点那些年被淘宝直播带沟里的直播平台
- iphone修改app名称_iPhone6 plus怎么修改图标名字?苹果6 plus设置修改图标名字教程...
- Mac显示/隐藏文件夹
- 形状文法--建筑风格分类总结
- Hive中小表与大表关联(join)的性能分析
- Java项目:SSH的自动排课系统-遗传算法
- reshape(1,-1)与reshape(-1,1)的理解
- 嵌入式开发常见通信协议
- python爬虫解决403禁止访问错误