<< Chapter < Page Chapter >> Page >
C ( 0 ) C ( 1 ) C ( 2 ) C ( 3 ) C ( 4 ) = 0 0 0 0 0 0 1 2 3 4 0 2 4 1 3 0 3 1 4 2 0 4 3 2 1 x ( 0 ) x ( 1 ) x ( 2 ) x ( 3 ) x ( 4 )

where the square matrix should contain the terms of W n k but for clarity, only the exponents n k are shown. Separating the x ( 0 ) term, applying the mapping of [link] , and using the primitive roots r = 2 (and r - 1 = 3 ) gives

C ( 1 ) C ( 2 ) C ( 4 ) C ( 3 ) = 1 3 4 2 2 1 3 4 4 2 1 3 3 4 2 1 x ( 1 ) x ( 3 ) x ( 4 ) x ( 2 ) + x ( 0 ) x ( 0 ) x ( 0 ) x ( 0 )

and

C ( 0 ) = x ( 0 ) + x ( 1 ) + x ( 2 ) + x ( 3 ) + x ( 4 )

which can be seen to be a reordering of the structure in [link] . This is in the form of cyclic convolution as indicated in [link] . Rader first showed this in 1968 [link] , stating that a prime length-N DFT could be converted into a length-(N-1)cyclic convolution of a permutation of the data with a permutation of the W's. He also stated that a slightly more complicatedversion of the same idea would work for a DFT with a length equal to an odd prime to a power. The details of that theory can be foundin [link] , [link] .

Until 1976, this conversion approach received little attention since it seemed to offer few advantages. It hasspecialized applications in calculating the DFT if the cyclic convolution is done by distributed arithmetic table look-up [link] or by use of number theoretic transforms [link] , [link] , [link] . It and the Goertzel algorithm [link] , [link] are efficient when only a few DFT values need to be calculated. It may also have advantages when used with pipelined orvector hardware designed for fast inner products. One example is the TMS320 signal processing microprocessor which is pipelined for innerproducts. The general use of this scheme emerged when new fast cyclic convolution algorithms were developed by Winograd [link] .

The chirp z-transform (or bluestein's algorithm)

The DFT of x ( n ) evaluates the Z-transform of x ( n ) on N equally spaced points on the unit circle in the z plane. Using a nonlinear change of variables, one can create a structure which is equivalentto modulation and filtering x ( n ) by a “chirp" signal. [link] , [link] , [link] , [link] , [link] , [link] .

The mathematical identity ( k - n ) 2 = k 2 - 2 k n + n 2 gives

n k = ( n 2 - ( k - n ) 2 + k 2 ) / 2

which substituted into the definition of the DFT in Multidimensional Index Mapping: Equation 1 gives

C ( k ) = { n = 0 N - 1 [ x ( n ) W n 2 / 2 ] W - ( k - n ) 2 / 2 } W k 2 / 2

This equation can be interpreted as first multiplying (modulating) the data x ( n ) by a chirp sequence ( W n 2 / 2 , then convolving (filtering) it, then finally multiplying the filter output by the chirp sequence to give the DFT.

Define the chirp sequence or signal as h ( n ) = W n 2 / 2 which is called a chirp because the squared exponent gives a sinusoid with changing frequency.Using this definition, [link] becomes

C ( n ) = { [ x ( n ) h ( n ) ] * h - 1 } h ( n )

We know that convolution can be carried out by multiplying the DFTs of the signals, here we see that evaluation of the DFT can be carried out by convolution. Indeed,the convolution represented by * in [link] can be carried out by DFTs (actually FFTs) of a larger length. This allows a prime length DFT to be calculated by avery efficient length- 2 M FFT. This becomes practical for large N when a particular non-composite (or N with few factors) length is required.

As developed here, the chirp z-transform evaluates the z-transform at equally spaced points on the unit circle. A slight modification allows evaluation on a spiral andin segments [link] , [link] and allows savings with only some input values are nonzero or when only some output values are needed. The story of the development of thistransform is given in [link] .

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