我在Matlab中找到了一些代码:
y = fft(y,nfft);
其中y是512x443 2d数组,nfft = 512。
我认为fft用于单维数组,对于2d数组应该有fft2但fft正在工作。怎么可能,有人可以向我解释一下吗?
答案 0 :(得分:3)
来自documentation(强调我的):
Y = fft(x)返回向量x的离散傅立叶变换(DFT),用快速傅里叶变换(FFT)算法计算。
如果输入X是矩阵,则Y = fft(X)返回矩阵的每列的傅里叶变换。
答案 1 :(得分:3)
fft
实际上采用了(可选的)第三个参数:dim
。这告诉它执行FFT的维度。如果您未指定,dim
将默认为“第一个非单独维度”。所以你得到的是2D阵列所有列的一维FFT。