Page 377 - Matrix Analysis & Applied Linear Algebra
P. 377

5.8 Discrete Fourier Transform                                                     373







                                                        Fast Fourier Transform
                                                                              r
                                       For a given input vector x containing n =2 components, the discrete
                                       Fourier transform F n x is the result of successively creating the following
                                       arrays.

                                        X 1×n ←− rev(x)    (bit reverse the subscripts)
                                        For j =0, 1, 2, 3,. . . ,r − 1
                                                         1
                                                              
                                                       e −πi/2 j
                                                              
                                                      −2πi/2 j                 j+1 th
                                                      e
                                                                  (Half of the (2  )  roots of 1,
                                            D ←−      −3πi/2 j  
                                                     e             perhaps from a lookup table)
                                                        .     
                                                         .
                                                        .     
                                                        j
                                                    e −(2 −1)πi/2 j
                                                                2 j ×1

                                            X (0)  ←−  X ∗0  X ∗2  X ∗4  ··· X ∗2 r−j −2
                                                                                    2 j ×2 r−j−1

                                            X (1)  ←−  X ∗1  X ∗3  X ∗5  ··· X ∗2 r−j −1
                                                                                    2 j ×2 r−j−1
                                                    X   + D × X                  Define × to mean
                                                  
   (0)       (1)
                                            X ←−
                                                    X (0)  − D × X (1)           [D × M] ij = d i m ij
                                                                    2 j+1 ×2 r−j−1
                   Example 5.8.5
                                                                        
                                                                       x 0
                                    Problem: Perform the FFT on x =    x 1  .
                                                                       x 2
                                                                       x 3
                                                                                   x 3 ) .
                                    Solution: Start with X ←− rev(x)=( x 0  x 2  x 1
                                            For j =0:

                                                D ←− (1)     (Half of the square roots of 1)
                                                X (0)  ←− ( x 0  x 1 )
                                                X (1)  ←− ( x 2  x 3 )  and  D × X (1)  ←− ( x 2  x 3 )
                                                        X   + D × X          x 0 + x 2  x 1 + x 3
                                                      
   (0)       (1)
                                                X ←−      (0)       (1)  =
                                                        X   − D × X          x 0 − x 2  x 1 − x 3
   372   373   374   375   376   377   378   379   380   381   382