
Summary
117
operation in the algorithm. Hence, the name plus-minus (PM). The term
radix-z specifies the way a problem is decomposed into smaller problems.
While we can design algorithms with any radix, the practically most useful
value for z is two and, therefore, the algorithms described in this book are
exclusively of the type radix-2. In a radix-2 algorithm, a problem is split
into two smaller independent problems of the same type, each of half the
size,
recursively from the input or output end. The solutions of two smaller
problems are combined to form the solution of a larger problem. A radix-2
algorithm requires that the length of the data N divided by the vector
length u is equal to an integral power of 2, that is ^ = 2
m
where m is an
integer.
The letter u indicates the number of elements in a vector. Although
general expressions are developed in the following chapter, with one excep-
tion for vector length six, all the algorithms described, in detail, in this
book use a vector length of two since that length is practically the most
useful. It is possible to combine fully or partially the multiplication opera-
tions of two or more consecutive stages of an algorithm in order to reduce
the total number of arithmetic operations. However, the partial merging
of multiplication operations of adjacent stages leads to practically ineffi-
cient and irregular algorithms. Therefore, the letter v, in the range 1 to
m = log
2
—, specifies the number of adjacent stages whose multiplications
are combined. Although the set of PM algorithms is quite large, the prac-
tically more useful algorithms are those with z = 2, u — 2, and v = 1 or
v = 2. A good understanding of these algorithms will enable the reader to
derive algorithms with other parameters, if necessary.
5.8 Summary
• The problem of computing the DFT of N values is the problem of
evaluating N sums, each of N products. The challenge in designing
fast algorithms is to find the way to develop partial results and share
each partial result to compute as many coefficients as possible.
• The problem of computing the DFT can also be considered as the
decomposition of a larger DFT into smaller DFTs and combining
the coefficients of the smaller DFTs to produce the coefficients of
the larger DFT.
• In this chapter, the DFT and IDFT definitions using vector inputs