Jump to content

Prime-factor FFT algorithm

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 86.136.242.220 (talk) at 19:54, 3 February 2012. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The pr

The PFA involves a re-indexing of the input and output arrays, which when substituted into the DFT formula transforms it into two nested DFTs (a two-dimensional DFT).

Re-indexing

Suppose that N = N1N2, where N1 and N2 are relatively prime. In this case, we can define a bijective re-indexing of the input n and output k by:

where N1−1 denotes the modular multiplicative inverse of N1 modulo N2 and vice-versa for N2−1; the indices ka and na run from 0,...,Na−1 (for a = 1, 2). These inverses only exist for relatively prime N1 and N2, and that condition is also required for the first mapping to be bijective.

This re-indexing of n is called the Ruritanian mapping (also Good's mapping), while this re-indexing of k is called the CRT mapping. The latter refers to the fact that k is the solution to the Chinese remainder problem k = k1 mod N1 and k = k2 mod N2.

(One could instead use the Ruritanian mapping for the output k and the CRT mapping for the input n, or various intermediate choices.)

A great deal of research has been devoted to schemes for evaluating this re-indexing efficiently, ideally in-place, while minimizing the number of costly modulo (remainder) operations (Chan, 1991, and references).

DFT re-expression

The above re-indexing is then substituted into the formula for the DFT, and in particular into the product nk in the exponent. Because e2πi = 1, this exponent is evaluated modulo N: any N1N2 = N cross term in the nk product can be set to zero. (Similarly, Xk and xn are implicitly periodic in N, so their subscripts are evaluated modulo N.) The remaining terms give:

The inner and outer sums are simply DFTs of size N2 and N1, respectively.

(Here, we have used the fact that N1−1N1 is unity when evaluated modulo N2 in the inner sum's exponent, and vice-versa for the outer sum's exponent.)

References

  • Good, I. J. (1958). "The interaction algorithm and practical Fourier analysis". J. R. Statist. Soc. B. 20 (2): 361–372. JSTOR 2983896. Addendum, ibid. 22 (2), 373-375 (1960) JSTOR 2984108.
  • Thomas, L. H. (1963). "Using a computer to solve problems in physics". Applications of Digital Computers. Boston: Ginn.
  • Duhamel, P.; Vetterli, M. (1990). "Fast Fourier transforms: a tutorial review and a state of the art". Signal Processing. 19 (4): 259–299. doi:10.1016/0165-1684(90)90158-U.
  • Chan, S. C.; Ho, K. L. (1991). "On indexing the prime-factor fast Fourier transform algorithm". IEEE Trans. Circuits and Systems. 38 (8): 951–953. doi:10.1109/31.85638.