<< Chapter < Page Chapter >> Page >
Y ( s ) = H ( s ) X ( s ) mod P ( s )

where P ( s ) = s N - 1 , and if P ( s ) is factored into two relatively prime factors P = P 1 P 2 , using residue reduction of H ( s ) and X ( s ) modulo P 1 and P 2 , the lower degree residue polynomials can be multiplied and the results recombined with theCRT. This is done by

Y ( s ) = ( ( K 1 H 1 X 1 + K 2 H 2 X 2 ) ) P

where

H 1 = ( ( H ) ) P 1 , X 1 = ( ( X ) ) P 1 , H 2 = ( ( H ) ) P 2 , X 2 = ( ( X ) ) P 2

and K 1 and K 2 are the CRT coefficient polynomials from [link] . This allows two shorter convolutions to replace one longer one.

Another property of residue reduction that is useful in DFT calculation is polynomial evaluation. To evaluate F ( s ) at s = x , F ( s ) is reduced modulo s - x .

F ( x ) = ( ( F ( s ) ) ) s - x

This is easily seen from the definition in [link]

F ( s ) = Q ( s ) ( s - x ) + R ( s )

Evaluating s = x gives R ( s ) = F ( x ) which is a constant. For the DFT this becomes

C ( k ) = ( ( X ( s ) ) ) s - W k

Details of the polynomial algebra useful in digital signal processing can be found in [link] , [link] , [link] .

The dft as a polynomial evaluation

The Z-transform of a number sequence x ( n ) is defined as

X ( z ) = n = 0 x ( n ) z - n

which is the same as the polynomial description in [link] but with a negative exponent. For a finite length-N sequence [link] becomes

X ( z ) = n = 0 N - 1 x ( n ) z - n
X ( z ) = x ( 0 ) + x ( 1 ) z - 1 + x ( 2 ) z - 2 + · + x ( N - 1 ) z - N + 1

This N - 1 order polynomial takes on the values of the DFT of x ( n ) when evaluated at

z = e j 2 π k / N

which gives

C ( k ) = X ( z ) | z = e j 2 π k / N = n = 0 N - 1 x ( n ) e - j 2 π n k / N

In terms of the positive exponent polynomial from [link] , the DFT is

C ( k ) = X ( s ) | s = W k

where

W = e - j 2 π / N

is an N t h root of unity (raising W to the N t h power gives one). The N values of the DFT are found from X ( s ) evaluated at the N N t h roots of unity which are equally spaced around the unit circle in the complex s plane.

One method of evaluating X ( z ) is the so-called Horner's rule or nested evaluation. When expressed as a recursivecalculation, Horner's rule becomes the Goertzel algorithm which has some computational advantages especially when only a few values ofthe DFT are needed. The details and programs can be found in [link] , [link] and The DFT as Convolution or Filtering: Goertzel's Algorithm (or A Better DFT Algorithm)

Another method for evaluating X ( s ) is the residue reduction modulo ( s - W k ) as shown in [link] . Each evaluation requires N multiplications and therefore, N 2 multiplications for the N values of C ( k ) .

C ( k ) = ( ( X ( s ) ) ) ( s - W k )

A considerable reduction in required arithmetic can be achieved if some operations can be shared between the reductions for differentvalues of k . This is done by carrying out the residue reduction in stages that can be shared rather than done in one step for each k in [link] .

The N values of the DFT are values of X ( s ) evaluated at s equal to the N roots of the polynomial P ( s ) = s N - 1 which are W k . First, assuming N is even, factor P ( s ) as

P ( s ) = ( s N - 1 ) = P 1 ( s ) P 2 ( s ) = ( s N / 2 - 1 ) ( s N / 2 + 1 )

X ( s ) is reduced modulo these two factors to give two residue polynomials, X 1 ( s ) and X 2 ( s ) . This process is repeated by factoring P 1 and further reducing X 1 then factoring P 2 and reducing X 2 . This is continued until the factors are of first degree which gives the desired DFT values as in [link] . This is illustrated for a length-8 DFT. The polynomial whose roots are W k , factors as

P ( s ) = s 8 - 1
= [ s 4 - 1 ] [ s 4 + 1 ]
= [ ( s 2 - 1 ) ( s 2 + 1 ) ] [ ( s 2 - j ) ( s 2 + j ) ]
= [ ( s - 1 ) ( s + 1 ) ( s - j ) ( s + j ) ] [ ( s - a ) ( s + a ) ( s - j a ) ( s + j a ) ]

where a 2 = j . Reducing X ( s ) by the first factoring gives two third degree polynomials

X ( s ) = x 0 + x 1 s + x 2 s 2 + . . . + x 7 s 7

gives the residue polynomials

X 1 ( s ) = ( ( X ( s ) ) ) ( s 4 - 1 ) = ( x 0 + x 4 ) + ( x 1 + x 5 ) s + ( x 2 + x 6 ) s 2 + ( x 3 + x 7 ) s 3
X 2 ( s ) = ( ( X ( s ) ) ) ( s 4 + 1 ) = ( x 0 - x 4 ) + ( x 1 - x 5 ) s + ( x 2 - x 6 ) s 2 + ( x 3 - x 7 ) s 3

Two more levels of reduction are carried out to finally give the DFT. Close examination shows the resulting algorithm to be thedecimation-in-frequency radix-2 Cooley-Tukey FFT [link] , [link] . Martens [link] has used this approach to derive an efficient DFT algorithm.

Other algorithms and types of FFT can be developed using polynomial representations and some are presented in the generalization in DFT and FFT: An Algebraic View .

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Fast fourier transforms. OpenStax CNX. Nov 18, 2012 Download for free at http://cnx.org/content/col10550/1.22
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Fast fourier transforms' conversation and receive update notifications?

Ask