本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

fft2

二维快速傅里叶变换

说明

示例

Y = fft2(X) 使用快速傅里叶变换算法返回矩阵的二维傅里叶变换,这等同于计算 fft(fft(X).').'。如果 X 是一个多维数组,fft2 将采用高于 2 的每个维度的二维变换。输出 Y 的大小与 X 相同。

示例

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

示例

全部折叠

二维傅里叶变换对处理二维信号和其他二维数据(如图像)很有用。

创建并绘制具有重复块的二维数据。

P = peaks(20);
X = repmat(P,[5 10]);
imagesc(X)

计算数据的二维傅里叶变换。将零频分量移动到输出的中心,并绘制生成的 100×200 矩阵,它与 X 的大小相同。

Y = fft2(X);
imagesc(abs(fftshift(Y)))

用零填充 X 以计算 128×256 变换。

Y = fft2(X,2^nextpow2(100),2^nextpow2(200));
imagesc(abs(fftshift(Y)));

输入参数

全部折叠

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

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

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

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

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

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

详细信息

全部折叠

二维傅里叶变换

以下公式定义 m×n 矩阵 X 的离散傅里叶变换 Y:

Yp+1,q+1=j=0m1k=0n1ωmjpωnkqXj+1,k+1

ωm 和 ωn 是复单位根:

ωm=e2πi/mωn=e2πi/n

i 是虚数单位。p 和 j 是值范围从 0 到 m–1 的索引,q 和 k 是值范围从 0 到 n–1 的索引。此公式将 X 和 Y 的索引平移 1 位,以反映 MATLAB® 中的矩阵索引。

扩展功能

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

另请参阅

| | |

在 R2006a 之前推出