The radix-2 algorithms described in Notes 17 and 18 are very useful, but in certain situations, a DFT block size of 2k is just not acceptable. The prime factor algorithm (PFA) is a technique for constructing fast transforms of length N, where N can be expressed as a product of mutually prime factors. A DFT of length N = N1N2 can be restructured as an N1 by N2 two-dimensional DFT:
19.1
where
W1 = exp(–j2p/N1)
W2 = exp(–j2p/N2)
In order to make use of the restructured transform, the one-dimensional input sequence, x[n], must be mapped into a two-dimensional sequence, x2[n1, n2], using the index transformation
n ≡ (N1n1 + N2n1) modulo 2
where
n1 = 0, 1, ,N1 –1
n1 = 0, 1, ,N2 –1
After transformation, the two-dimensional result, X2[k1, k2], is mapped into the one-dimensional result using the index transformation
k ≡ (N1t1k2 + N2t2k1) mogulo 2
where t1 and t2 are chosen such that
N1t1 = 1 modulo N2
N2t2 = 1 modulo N1
There are a number of very efficient specialized implementations for N-point DFTs when N is very small (see Math Boxes 19.1 through 19.3). These implememetations are ideally suited for use as component DFTs in the prime factor algorithm.
18.117.82.152