matlab快速傅立叶变换

时间:2011-12-07 17:14:49

标签: matlab

我在Matlab中找到了一些代码:

y = fft(y,nfft);

其中y是512x443 2d数组,nfft = 512。

我认为fft用于单维数组,对于2d数组应该有fft2但fft正在工作。怎么可能,有人可以向我解释一下吗?

2 个答案:

答案 0 :(得分:3)

来自documentation(强调我的):

  

Y = fft(x)返回向量x的离散傅立叶变换(DFT),用快速傅里叶变换(FFT)算法计算。

     

如果输入X是矩阵,则Y = fft(X)返回矩阵的每列的傅里叶变换。

答案 1 :(得分:3)

fft实际上采用了(可选的)第三个参数:dim。这告诉它执行FFT的维度。如果您未指定,dim将默认为“第一个非单独维度”。所以你得到的是2D阵列所有列的一维FFT。