Fast Fourier Transforms by C. Sidney Burrus, Matteo Frigo, Steven G. Johnson, - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub, Kindle for a complete version.

Chapter 8DFT and FFT: An Algebraic View

by Markus Pueschel, Carnegie Mellon University

In infinite, or non-periodic, discrete-time signal processing, there is a strong connection between the z-transform, Laurent series, convolution, and the discrete-time Fourier transform (DTFT) 10. As one may expect, a similar connection exists for the DFT but bears surprises. Namely, it turns out that the proper framework for the DFT requires modulo operations of polynomials, which means working with so-called polynomial algebras 6. Associated with polynomial algebras is the Chinese remainder theorem, which describes the DFT algebraically and can be used as a tool to concisely derive various FFTs as well as convolution algorithms 9, 21, 22, 1 (see also Winograd’s Short DFT Algorithms). The polynomial algebra framework was fully developed for signal processing as part of the algebraic signal processing theory (ASP). ASP identifies the structure underlying many transforms used in signal processing, provides deep insight into their properties, and enables the derivation of their fast algorithms 13, 14, 11, 12. Here we focus on the algebraic description of the DFT and on the algebraic derivation of the general-radix Cooley-Tukey FFT from Factoring the Signal Processing Operators. The derivation will make use of and extend the Polynomial Description of Signals. We start with motivating the appearance of modulo operations.

The z-transform associates with infinite discrete signals X=(⋯,x(–1),x(0),x(1),⋯) a Laurent series:

(8.1)
_autogen-svg2png-0004.png

Here we used s=z–1 to simplify the notation in the following. The DTFT of X is the evaluation of X(s) on the unit circle

(8.2)
_autogen-svg2png-0008.png

Finally, filtering or (linear) convolution is simply the multiplication of Laurent series,

(8.3) H * XH ( s ) X ( s ) .

For finite signals X=(x(0),⋯,x(N–1)) one expects that the equivalent of Equation 8.1 becomes a mapping to polynomials of degree N–1,

(8.4)
_autogen-svg2png-0012.png

and that the DFT is an evaluation of these polynomials. Indeed, the definition of the DFT in Winograd’s Short DFT Algorithms shows that

(8.5)
_autogen-svg2png-0013.png

i.e., the DFT computes the evaluations of the polynomial X(s) at the nth roots of unity.

The problem arises with the equivalent of Equation 8.3, since the multiplication H(s)X(s) of two polynomials of degree N–1 yields one of degree 2N–2. Also, it does not coincide with the circular convolution known to be associated with the DFT. The solution to both problems is to reduce the product modulo sn–1:

(8.6)
_autogen-svg2png-0020.png
Table 8.1. Infinite and finite discrete time signal processing.
ConceptInfinite TimeFinite Time
Signal X ( s ) = ∑n ∈ Z x ( n ) sn _autogen-svg2png-0022.png
Filter H ( s ) = ∑n ∈ Z h ( n ) sn_autogen-svg2png-0024.png
Convolution H ( s ) X ( s ) _autogen-svg2png-0026.png
Fourier transform_autogen-svg2png-0027.png_autogen-svg2png-0028.png

The resulting polynomial then has again degree N–1 and this form of convolution becomes equivalent to circular convolution of the polynomial coefficients. We also observe that the evaluation points in Equation 8.5 are precisely the roots of sn–1. This connection will become clear in this chapter.

The discussion is summarized in Table 8.1.

The proper framework to describe the multiplication of polynomials modulo a fixed polynomial are polynomial algebras. Together with the Chinese remainder theorem, they provide the theoretical underpinning for the DFT and the Cooley-Tukey FFT.

In this chapter, the DFT will naturally arise as a linear mapping with respect to chosen bases, i.e., as a matrix. Indeed, the definition shows that if all input and outputs are collected into vectors X=(X(0),⋯,X(N–1)) and C=(C(0),⋯C(N–1)), then Winograd’s Short DFT Algorithms is equivalent to

(8.7) C = DFTNX ,

where

(8.8)
_autogen-svg2png-0034.png

The matrix point of view is adopted in the FFT books 18, 17.

Polynomial Algebras and the DFT

In this section we introduce polynomial algebras and explain how they are associated to transforms. Then we identify this connection for the DFT. Later we use polynomial algebras to derive the Cooley-Tukey FFT.

For further background on the mathematics in this section and polynomial algebras in particular, we refer to 6.

Polynomial Algebra

An algebra A is a vector space that also provides a multiplication of its elements such that the distributivity law holds (see 6 for a complete definition). Examples include the sets of complex or real numbers C or R, and the sets of complex or real polynomials in the variable s: C[s] or R[s].

The key player in this chapter is the polynomial algebra. Given a fixed polynomial P(s) of degree deg(P)=N, we define a polynomial algebra as the set

(8.9) C [ s ] / P ( s ) = { X ( s ) ∣ deg ( X ) < deg ( P ) }

of polynomials of degree smaller than N with addition and multiplication modulo P. Viewed as a vector space, C[s]/P(s) hence has dimension N.

Every polynomial X(s)∈C[s] is reduced to a unique polynomial R(s) modulo P(s) of degree smaller than N. R(s) is computed using division with rest, namely

(8.10)
_autogen-svg2png-0053.png

Regarding this equation modulo P, P(s) becomes zero, and we get

(8.11)
_autogen-svg2png-0056.png

We read this equation as “X(s) is congruent (or equal) R(s) modulo P(s).” We will also write _autogen-svg2png-0060.png to denote that X(s) is reduced modulo P(s). Obviously,

(8.12)
_autogen-svg2png-0063.png

As a simple example we consider _autogen-svg2png-0064.png, which has dimension 2. A possible basis is b=(1,s). In A, for example, _autogen-svg2png-0067.png, obtained through division with rest

(8.13)
_autogen-svg2png-0068.png

or simply by replacing s2 with 1 (since s2–1=0 implies s2=1).

Chinese Remainder Theorem (CRT)

Assume P(s)=Q(s)R(s) factors into two coprime (no common factors) polynomials Q and R. Then the Chinese remainder theorem (CRT) for polynomials is the linear mapping[1]

(8.14)
_autogen-svg2png-0076.png

Here, is the Cartesian product of vector spaces with elementwise operation (also called outer direct sum). In words, the CRT asserts that computing (addition, multiplication, scalar multiplication) in C[s]/P(s) is equivalent to computing in parallel in C[s]/Q(s) and C[s]/R(s).

If we choose bases b,c,d in the three polynomial algebras, then Δ can be expressed as a matrix. As usual with linear mappings, this matrix is obtained by mapping every element of b with Δ, expressing it in the concatenation cd of the bases c and d, and writing the results into the columns of the matrix.

As an example, we consider again the polynomial P(s)=s2–1=(s–1)(s+1) and the CRT decomposition

(8.15)
_autogen-svg2png-0089.png

As bases, we choose _autogen-svg2png-0090.png. Δ(1)=(1,1) with the same coordinate vector in cd=(1,1). Further, because of _autogen-svg2png-0093.png and _autogen-svg2png-0094.png, Δ(x)=(x,x)≡(1,–1) with the same coordinate vector. Thus, Δ in matrix form is the so-called butterfly matrix, which is a DFT of size 2: _autogen-svg2png-0097.png.

Polynomial Transforms

Assume P(s)∈C[s] has pairwise distinct zeros _autogen-svg2png-0099.png. Then the CRT can be used to completely decompose C[s]/P(s) into its spectrum:

(8.16)
_autogen-svg2png-0101.png

If we choose a basis _autogen-svg2png-0102.png in C[s]/P(s) and bases bi=(1) in each _autogen-svg2png-0105.png, then Δ, as a linear mapping, is represented by a matrix. The matrix is obtained by mapping every basis element Pn, 0≤n<N, and collecting the results in the columns of the matrix. The result is

(8.17)
_autogen-svg2png-0109.png

and is called the polynomial transform for A=C[s]/P(s) with basis b.

If, in general, we choose _autogen-svg2png-0112.png as spectral basis, then the matrix corresponding to the decomposition Equation 8.16 is the scaled polynomial transform

(8.18)
_autogen-svg2png-0113.png

where _autogen-svg2png-0114.png denotes a diagonal matrix with diagonal entries γn.

We jointly refer to polynomial transforms, scaled or not, as Fourier transforms.