<< Chapter < Page Chapter >> Page >

A third approach to removing redundancy in an algorithm is to express the algorithm as an operator and then factor that operator into sparse factors. Thisapproach is used by Tolimieri [link] , [link] , Egner [link] , Selesnick, Elliott [link] and others. It is presented in a more general form in DFT and FFT: An Algebraic View The operators may be in the form of a matrix or a tensor operator.

The fft from factoring the dft operator

The definition of the DFT in Multidimensional Index Mapping: Equation 1 can written as a matrix-vector operation by C = W X which, for N = 8 is

C ( 0 ) C ( 1 ) C ( 2 ) C ( 3 ) C ( 4 ) C ( 5 ) C ( 6 ) C ( 7 ) = W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 1 W 2 W 3 W 4 W 5 W 6 W 7 W 0 W 2 W 4 W 6 W 8 W 10 W 12 W 14 W 0 W 3 W 6 W 9 W 12 W 15 W 18 W 21 W 0 W 4 W 8 W 12 W 16 W 20 W 24 W 28 W 0 W 5 W 10 W 15 W 20 W 25 W 30 W 35 W 0 W 6 W 12 W 18 W 24 W 30 W 36 W 42 W 0 W 7 W 14 W 21 W 28 W 35 W 42 W 49 x ( 0 ) x ( 1 ) x ( 2 ) x ( 3 ) x ( 4 ) x ( 5 ) x ( 6 ) x ( 7 )

which clearly requires N 2 = 64 complex multiplications and N ( N - 1 ) additions. A factorization of the DFT operator, W , gives W = F 1 F 2 F 3 and C = F 1 F 2 F 3 X or, expanded,

C ( 0 ) C ( 4 ) C ( 2 ) C ( 6 ) C ( 1 ) C ( 5 ) C ( 3 ) C ( 7 ) = 1 1 0 0 0 0 0 0 1 - 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 - 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 - 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 - 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 W 0 0 - W 2 0 0 0 0 0 0 W 0 0 - W 2 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 W 0 0 - W 0 0 0 0 0 0 0 W 2 0 - W 2
1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 W 0 0 0 0 - W 0 0 0 0 0 W 1 0 0 0 - W 1 0 0 0 0 W 2 0 0 0 - W 2 0 0 0 0 W 3 0 0 0 - W 3 x ( 0 ) x ( 1 ) x ( 2 ) x ( 3 ) x ( 4 ) x ( 5 ) x ( 6 ) x ( 7 )

where the F i matrices are sparse. Note that each has 16 (or 2 N ) non-zero terms and F 2 and F 3 have 8 (or N ) non-unity terms. If N = 2 M , then the number of factors is log ( N ) = M . In another form with the twiddle factors separated so as to count the complexmultiplications we have

C ( 0 ) C ( 4 ) C ( 2 ) C ( 6 ) C ( 1 ) C ( 5 ) C ( 3 ) C ( 7 ) = 1 1 0 0 0 0 0 0 1 - 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 - 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 - 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 - 1
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 W 0 0 0 0 0 0 0 0 0 W 2 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 W 0 0 0 0 0 0 0 0 0 W 2 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 - 1 0 0 0 0 0 0 1 0 - 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 - 1 0 0 0 0 0 0 1 0 - 1
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 W 0 0 0 0 0 0 0 0 0 W 1 0 0 0 0 0 0 0 0 W 2 0 0 0 0 0 0 0 0 W 3 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 - 1 0 0 0 0 1 0 0 0 - 1 0 0 0 0 1 0 0 0 - 1 0 0 0 0 1 0 0 0 - 1 x ( 0 ) x ( 1 ) x ( 2 ) x ( 3 ) x ( 4 ) x ( 5 ) x ( 6 ) x ( 7 )

which is in the form C = A 1 M 1 A 2 M 2 A 3 X described by the index map. A 1 , A 2 , and A 3 each represents 8 additions, or, in general, N additions. M 1 and M 2 each represent 4 (or N / 2 ) multiplications.

This is a very interesting result showing that implementing the DFT using the factored form requires considerably less arithmetic than the single factor definition.Indeed, the form of the formula that Cooley and Tukey derived showing that the amount of arithmetic required by the FFT is on the order of N log ( N ) can be seen from the factored operator formulation.

Much of the theory of the FFT can be developed using operator factoring and it has some advantages for implementation of parallel and vector computer architectures. The eigenspace approach is somewhat of the same type [link] .

Algebraic theory of signal processing algorithms

A very general structure for all kinds of algorithms can be generalized from the approach of operators and operator decomposition. This is developed as“Algebraic Theory of Signal Processing" discussed in the module DFT and FFT: An Algebraic View by Püschel and others [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