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

5.8 Discrete Fourier Transform                                                     369

                                    only about 3n log n multiplications to perform a convolution of two n × 1vec-
                                                   2
                                                                                         2
                                    tors, and when n is large, this is significantly less than the n factor demanded
                                    by the definition of convolution.
                                        The magic of the fast Fourier transform algorithm emanates from the fact
                                    that if n is a power of 2, then a discrete Fourier transform of order n can be
                                    executed by performing two transforms of order n/2. To appreciate exactly how


                                                                          r
                                    this comes about, observe that when n =2 we have ξ j  n  = ξ 2j    n/2  , so
                                                      2  3      n−1         th
                                                1,ξ,ξ ,ξ ,. .., ξ    = the n   roots of unity
                                                               if and only if
                                                   2  4  6      n−2             th
                                               1,ξ ,ξ ,ξ ,. .., ξ    = the (n/2)  roots of unity.
                                    This means that the (j, k)-entries in the Fourier matrices F n and F n/2 are
                                                                                2 jk
                                                  [F n ] jk = ξ jk  and  [F n/2 ] jk =(ξ )  = ξ 2jk .  (5.8.14)
                                    If the columns of F n are permuted so that columns with even subscripts are
                                    listed before those with odd subscripts, and if P T  is the corresponding permu-
                                                                              n
                                    tation matrix, then we can partition F n P T  as
                                                                         n

                                                                                      A n × n  B n × n
                                            T
                                        F n P =[F ∗0 F ∗2 ··· F ∗n−2 | F ∗1 F ∗3 ··· F ∗n−1 ]=  2  2  2  2  .
                                            n
                                                                                      C n × n  G n × n
                                                                                        2  2   2  2
                                    By using (5.8.14) together with the facts that
                                                                     2π(n/2)       2π(n/2)
                                              nk
                                                             n/2
                                             ξ  =1    and   ξ   = cos        − i sin       = −1,
                                                                        n             n
                                    we see that the entries in A, B, C, and G are
                                      A jk = F j,2k = ξ 2jk  =[F n/2 ] jk ,
                                                               j 2jk
                                                                       j
                                      B jk = F j,2k+1 = ξ j(2k+1)  = ξ ξ  = ξ [F n/2 ] jk ,
                                                       n
                                                                   ξ
                                                        2
                                      C jk = F n +j, 2k = ξ ( +j)2k  = ξ nk 2jk  = ξ 2jk  =[F n/2 ] jk ,
                                              2
                                                         n
                                                                                               j
                                                                                      j 2jt
                                                                           ξ ξ
                                                                        ξ
                                      G jk = F n +j, 2k+1 = ξ ( +j)(2k+1)  = ξ nk n/2 j 2jk  = −ξ ξ  = −ξ [F n/2 ] jk .
                                                          2
                                              2
                                    In other words, if D n/2 is the diagonal matrix
                                                                                
                                                                  1
                                                                    ξ
                                                                      2         
                                                         D n/2 =     ξ           ,
                                                                        . . .   
                                                                              n  −1
                                                                             ξ 2
                                    then

                                                    A (n/2)×(n/2)  B (n/2)×(n/2)  F n/2  D n/2 F n/2
                                               T
                                          F n P =                           =                     .
                                               n
                                                    C (n/2)×(n/2)  G (n/2)×(n/2)  F n/2  −D n/2 F n/2
                                    This fundamental feature of the discrete Fourier transform is summarized below.
   368   369   370   371   372   373   374   375   376   377   378