Page 528 - DSP Integrated Circuits
P. 528

11.17 Complex Multipliers                                            513


            Now, the product of two complex numbers can be written
           K X = (CA - DB) + j(DA + CB)
                                    W   l
                                      ~        -  --      ~ w





                                                           -w.





                              _    -
                                                 — _•_ !     -W d
                                                      l
                       D(a 0 -a 0 )2           .-a-)2" ~ -D2
                                      i = 1
                                                                          (11.55)
                                     W.,-1
                                                            -w^




                               ,-1
                                                        F 1(0,0)2





                                                        + F 2 (0,0)2
                                      i = 1

            Hence, the real and imaginary parts of the product can be computed using just
        two distributed arithmetic units. The binary functions FI and F% can be stored in a
        ROM, addressed by the bits a; and &/. The ROM content is shown in Table 11.5.



                     «£             bi            fl            F 2
                      0             0           -(C-D)        -(C + D)
                      0             1           -(C + D)       (C-D)
                      1             0            (C + D)      -{C-D)
                      1             1            (C-D)         (C + D)
                       Table 11.5 ROM contents for the complex multiplier


            It is obvious from Table 11.4 that only two coefficients are needed: (C + D) and
        (C - D). The appropriate coefficients can be directed to the accumulators via a 2:2-
        multiplexer. If aj © 6j = 1 the values are applied directly to the accumulators, and if
        ai © bi = 0 the values are interchanged. Further, the coefficients are either added to,
        or subtracted from, the accumulators registers depending on the data bits a; and 6j.
            Generally, the number of clock cycles is W^+l, because of the last term in
        both the real and imaginary parts in Equation (11.55). However, the number
        can be reduced to only Wd, since these values are data independent and they
   523   524   525   526   527   528   529   530   531   532   533