且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

非log-base2数字的Matlab FFT(快速傅立叶变换)功能

更新时间:2022-01-15 21:18:39

来自官方MATLAB文档:

FFT函数(fft,fft2,fftn,ifft,ifft2,ifftn)基于名为 FFTW a>.

要在N为复合值(即N = N 1 N 2 )时计算N点DFT,FFTW库使用 Cooley-Tukey算法,该算法首先计算N 1 大小为N 2 的变换,然后计算大小为N 1 的N 2 个变换.

To compute an N-point DFT when N is composite (that is, when N = N1N2), the FFTW library decomposes the problem using the Cooley-Tukey algorithm, which first computes N1 transforms of size N2, and then computes N2 transforms of size N1.

当N是质数时,FFTW库首先使用

When N is a prime number, the FFTW library first decomposes an N-point problem into three (N – 1)-point problems using Rader's algorithm. It then uses the Cooley-Tukey decomposition described above to compute the (N – 1)-point DFTs.

我不确定Apple的Accelerate Framework如何计算此类FFT,但我在这里偏爱MATLAB来产生正确的结果.

I'm not sure how Apple's Accelerate Framework computes such FFTs, but I'm favouring MATLAB here to produce correct results.