<< Chapter < Page | Chapter >> Page > |
This yields the two intermediate polynomials,
In the notation used above,
entailing 24 additions. Continuing this process results in a factorization in steps
In order to see the number of additions this scheme uses for numbers of the form (which is relevant to prime length FFT algorithms) figure 4 shows the number of additions the reduction process uses when the polynomialX(s) is real.
Figure 4: Number of Additions for Reduction Stage
The iterated convolution algorithm can be used to construct an point linear convolution algorithm from shorter linear convolution algorithms [link] . Suppose the linear convolution , of the point vectors and ( known) is described by
where is an “expansion" matrix the elements of which are 's and 0's and is an appropriate diagonal matrix. Because the only multiplications in thisexpression are by the elements of , the number of multiplications required, , is equal to the number of rows of . The number of additions is denoted by .
Given a matrix and a matrix , the iterated algorithm gives a method for combining and to construct a valid expansion matrix, , for . Specifically,
The product may be greater than , for zeros can be (conceptually) appended to . The operation count associated with is
Although they are both valid expansion matrices, and Because it is desirable to chose an ordering of factors to minimize the additions incurred by the expansion matrix.The following [link] , [link] follows from above.
Note that a valid expansion matrix, , can be constructed from and , for . In general, any number of factors can be used to create larger expansion matrices.The operation count associated with is
These equations generalize in the predicted way when more factors are considered. Because the ordering of the factors is relevant in the equation for but not for , it is again desirable to order the factors to minimize the number of additions. By exploiting the following property of the expressionsfor and , the optimal ordering can be found [link] .
reservation of Optimal Ordering. Suppose and distinct}, then
The generalization of this property to more than two factors reveals that an optimal ordering of is preserved in an optimal ordering of . Therefore, if is an optimal ordering of , then is an optimal ordering of and consequently
for all .
This immediately suggests that an optimal ordering of is one for which
is nondecreasing. Hence, ordering the factors, , to minimize the number of additions incurred by simply involves computing the appropriate ratios.
We have designed prime length FFTs up to length 53 that are as good as the previous designs that only went up to 19. Table 1 gives theoperation counts for the new and previously designed modules, assuming complex inputs.
It is interesting to note that the operation counts depend on the factorability of . The primes 11, 23, and 47 are all of the form making the design of efficient FFTs for these lengths more difficult.
Further deviations from the original Winograd approach than we have made could prove useful for longer lengths. We investigated, for example,the use of twiddle factors at appropriate points in the decomposition stage; these can sometimes be used to divide the cyclic convolutioninto smaller convolutions. Their use means, however, that the 'center* multiplications would no longer be by purely real or imaginary numbers.
N | Mult | Adds |
7 | 16 | 72 |
11 | 40 | 168 |
13 | 40 | 188 |
17 | 82 | 274 |
19 | 88 | 360 |
23 | 174 | 672 |
29 | 190 | 766 |
31 | 160 | 984 |
37 | 220 | 920 |
41 | 282 | 1140 |
43 | 304 | 1416 |
47 | 640 | 2088 |
53 | 556 | 2038 |
The approach in writing a program that writes another program is a valuable one for several reasons. Programming the design process for the design ofprime length FFTs has the advantages of being practical, error-free, and flexible. The flexibility is important because it allows for modificationand experimentation with different algorithmic ideas. Above all, it has allowed longer DFTs to be reliably designed.
More details on the generation of programs for prime length FFTs can be found in the 1993 Technical Report.
Notification Switch
Would you like to follow the 'Fast fourier transforms' conversation and receive update notifications?