Skip to content Skip to navigation

Connexions

You are here: Home » Content » DFT and FFT: An Algebraic View

Navigation

Content Actions

  • Download module PDF
  • Add to ...
    Add the module to:
    • My Favorites
    • A lens
    • An external social bookmarking service
    • My Favorites (What is 'My Favorites'?)
      'My Favorites' is a special kind of lens which you can use to bookmark modules and collections directly in Connexions. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need a Connexions account to use 'My Favorites'.
    • A lens (What is a lens?)

      Definition of a lens

      Lenses

      A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

      What is in a lens?

      Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

      Who can create a lens?

      Any individual Connexions member, a community, or a respected organization.

    • External bookmarks
  • E-mail the author

Recently Viewed

This feature requires Javascript to be enabled.

DFT and FFT: An Algebraic View

Module by: Markus Pueschel

by Markus Pueschel, Carnegie Mellon University

In infinite, or non-periodic, discrete-time signal processing, there is a strong connection between the zz-transform, Laurent series, convolution, and the discrete-time Fourier transform (DTFT) Entry 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 Entry 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 Entry 9, Entry 21, Entry 22, Entry 1 (see also Chapter 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 Entry 13, Entry 14, Entry 11, Entry 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 zz-transform associates with infinite discrete signals X=(,x(-1),x(0),x(1),)X=(,x(-1),x(0),x(1),) a Laurent series:

X X ( s ) = n Z x ( n ) s n . X X ( s ) = n Z x ( n ) s n . (1)

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

X ( e - j ω ) , - π < ω π . X ( e - j ω ) , - π < ω π . (2)

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

H * X H ( s ) X ( s ) . H * X H ( s ) X ( s ) . (3)

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

X X ( s ) = n = 0 N - 1 x ( n ) s n , X X ( s ) = n = 0 N - 1 x ( n ) s n , (4)

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

C ( k ) = X ( W N k ) = X ( e - j 2 π k N ) , 0 k < N , C ( k ) = X ( W N k ) = X ( e - j 2 π k N ) , 0 k < N , (5)

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

The problem arises with the equivalent of Equation 3, since the multiplication H(s)X(s)H(s)X(s) of two polynomials of degree N-1N-1 yields one of degree 2N-22N-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-1sn-1:

H * circ X H ( s ) X ( s ) mod ( s n - 1 ) . H * circ X H ( s ) X ( s ) mod ( s n - 1 ) . (6)
Figure 1
Infinite and finite discrete time signal processing.
Concept Infinite Time Finite Time
Signal X ( s ) = n Z x ( n ) s n X ( s ) = n Z x ( n ) s n n = 0 N - 1 x ( n ) s n n = 0 N - 1 x ( n ) s n
Filter H ( s ) = n Z h ( n ) s n H ( s ) = n Z h ( n ) s n n = 0 N - 1 h ( n ) s n n = 0 N - 1 h ( n ) s n
Convolution H ( s ) X ( s ) H ( s ) X ( s ) H ( s ) X ( s ) mod ( s n - 1 ) H ( s ) X ( s ) mod ( s n - 1 )
Fourier transform DTFT: X ( e - j ω ) , - π < ω π DTFT: X ( e - j ω ) , - π < ω π DFT: X ( e - j 2 π k n ) , 0 k < n DFT: X ( e - j 2 π k n ) , 0 k < n

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

The discussion is summarized in Figure 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))X=(X(0),,X(N-1)) and C=(C(0),C(N-1))C=(C(0),C(N-1)), then (Reference) is equivalent to

C = DFT N X , C = DFT N X , (7)

where

DFT N = [ W N k n ] 0 k , n < N . DFT N = [ W N k n ] 0 k , n < N . (8)

The matrix point of view is adopted in the FFT books Entry 18, Entry 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 Entry 6.

Polynomial Algebra

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

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

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

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

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

X ( s ) = Q ( s ) P ( s ) + R ( s ) , deg ( R ) < deg ( P ) . X ( s ) = Q ( s ) P ( s ) + R ( s ) , deg ( R ) < deg ( P ) . (10)

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

X ( s ) R ( s ) mod P ( s ) . X ( s ) R ( s ) mod P ( s ) . (11)

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

P ( s ) 0 mod P ( s ) . P ( s ) 0 mod P ( s ) . (12)

As a simple example we consider A=C[s]/(s2-1)A=C[s]/(s2-1), which has dimension 2. A possible basis is b=(1,s)b=(1,s). In AA, for example, s·(s+1)=s2+ss+1mod(s2-1)s·(s+1)=s2+ss+1mod(s2-1), obtained through division with rest

s 2 + s = 1 · ( s 2 - 1 ) + ( s + 1 ) s 2 + s = 1 · ( s 2 - 1 ) + ( s + 1 ) (13)

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

Chinese Remainder Theorem (CRT)

Assume P(s)=Q(s)R(s)P(s)=Q(s)R(s) factors into two coprime (no common factors) polynomials QQ and RR. Then the Chinese remainder theorem (CRT) for polynomials is the linear mapping1

Δ : C [ s ] / P ( s ) C [ s ] / Q ( s ) C [ s ] / R ( s ) , X ( s ) ( X ( s ) mod Q ( s ) , X ( s ) mod R ( s ) ) . Δ : C [ s ] / P ( s ) C [ s ] / Q ( s ) C [ s ] / R ( s ) , X ( s ) ( X ( s ) mod Q ( s ) , X ( s ) mod R ( s ) ) . (14)

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)C[s]/P(s) is equivalent to computing in parallel in C[s]/Q(s)C[s]/Q(s) and C[s]/R(s)C[s]/R(s).

If we choose bases b,c,db,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 bb with ΔΔ, expressing it in the concatenation cdcd of the bases cc and dd, 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)P(s)=s2-1=(s-1)(s+1) and the CRT decomposition

Δ : C [ s ] / ( s 2 - 1 ) C [ s ] / ( x - 1 ) C [ s ] / ( x + 1 ) . Δ : C [ s ] / ( s 2 - 1 ) C [ s ] / ( x - 1 ) C [ s ] / ( x + 1 ) . (15)

As bases, we choose b=(1,x),c=(1),d=(1)b=(1,x),c=(1),d=(1). Δ(1)=(1,1)Δ(1)=(1,1) with the same coordinate vector in cd=(1,1)cd=(1,1). Further, because of x1mod(x-1)x1mod(x-1) and x-1mod(x+1)x-1mod(x+1), Δ(x)=(x,x)(1,-1)Δ(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: DFT2=[ 1 1 1 -1 ]DFT2=[ 1 1 1 -1 ].

Polynomial Transforms

Assume P(s)C[s]P(s)C[s] has pairwise distinct zeros α=(α0,,αN-1)α=(α0,,αN-1). Then the CRT can be used to completely decompose C[s]/P(s)C[s]/P(s) into its spectrum:

Δ : C [ s ] / P ( s ) C [ s ] / ( s - α 0 ) C [ s ] / ( s - α N - 1 ) , X ( s ) ( X ( s ) mod ( s - α 0 ) , , X ( s ) mod ( s - α N - 1 ) ) = ( s ( α 0 ) , , s ( α N - 1 ) ) . Δ : C [ s ] / P ( s ) C [ s ] / ( s - α 0 ) C [ s ] / ( s - α N - 1 ) , X ( s ) ( X ( s ) mod ( s - α 0 ) , , X ( s ) mod ( s - α N - 1 ) ) = ( s ( α 0 ) , , s ( α N - 1 ) ) . (16)

If we choose a basis b=(P0(s),,PN-1(s))b=(P0(s),,PN-1(s)) in C[s]/P(s)C[s]/P(s) and bases bi=(1)bi=(1) in each C[s]/(s-αi)C[s]/(s-αi), then ΔΔ, as a linear mapping, is represented by a matrix. The matrix is obtained by mapping every basis element PnPn, 0n<N0n<N, and collecting the results in the columns of the matrix. The result is

P b , α = [ P n ( α k ) ] 0 k , n < N P b , α = [ P n ( α k ) ] 0 k , n < N (17)

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

If, in general, we choose bi=(βi)bi=(βi) as spectral basis, then the matrix corresponding to the decomposition Equation 16 is the scaled polynomial transform

diag 0 k < N ( 1 / β n ) P b , α , diag 0 k < N ( 1 / β n ) P b , α , (18)

where diag0n<N(γn)diag0n<N(γn) denotes a diagonal matrix with diagonal entries γnγn.

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

DFT as a Polynomial Transform

We show that the DFTNDFTN is a polynomial transform for A=C[s]/(sN-1)A=C[s]/(sN-1) with basis b=(1,s,,sN-1)b=(1,s,,sN-1). Namely,

s N - 1 = 0 k < N ( x - W N k ) , s N - 1 = 0 k < N ( x - W N k ) , (19)

which means that ΔΔ takes the form

Δ : C [ s ] / ( s N - 1 ) C [ s ] / ( s - W N 0 ) C [ s ] / ( s - W N N - 1 ) , X ( s ) ( X ( s ) mod ( s - W N 0 ) , , X ( s ) mod ( s - W N N - 1 ) ) = ( X ( W N 0 ) , , X ( W N