matlab——fft2 二维快速傅里叶变换

版权声明:double12754 https://blog.csdn.net/double12754/article/details/88393626

fft2二维快速傅里叶变换
语法
Y = fft2(X)
Y = fft2(X,m,n)
说明
Y = fft2(X) 使用快速傅里叶变换算法返回矩阵的二维傅里叶变换,这等同于计算 fft(fft(X).’).’。如果 X 是一个多维数组,fft2 将采用高于 2 的每个维度的二维变换。输出 Y 的大小与 X 相同。
Y = fft2(X,m,n) 将截断 X 或用尾随零填充 X,以便在计算变换之前形成 m×n 矩阵。Y 是 m×n 矩阵。如果 X 是一个多维数组,fft2 将根据 m 和 n 决定 X 的前两个维度的形状。

示例

(不用二维快速傅里叶变换)二维傅里叶变换对处理二维信号和其他二维数据(如图像)很有用。
创建并绘制具有重复块的二维数据。

P = peaks(20);
X = repmat(P,[5 10]);
imagesc(X)
(不用二维快速傅里叶变换)
在这里插入图片描述
计算数据的二维傅里叶变换。将零频分量移动到输出的中心,并绘制生成的 100×200 矩阵,它(Y)与 X 的大小相同。
Y = fft2(X);
imagesc(abs(fftshift(Y)))
(使用二维快速傅里叶变换)
在这里插入图片描述
用零填充 X 以计算 128×256 变换(加快计算机计算速度)
Y = fft2(X,2nextpow2(100),2nextpow2(200));
imagesc(abs(fftshift(Y)));
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/double12754/article/details/88393626