In computing the DFT, it is necessary to multiply a complex number by another complex number whose
Question:
In computing the DFT, it is necessary to multiply a complex number by another complex number whose magnitude is unity, i.e., (X + jY) e j?. Clearly, such a complex multiplication changes only the angle of the complex number, leaving the magnitude unchanged. For this reason, multiplications by a complex number e j??are sometimes called rotations. In DFT or FFT algorithm, many different angles ? may be needed. However, it may be undesirable to store a table of all required values of sin ? and cos ?, and computing these functions by a power series requires many multiplications and additions. With the CORDIC algorithm given by Volder (1959), the product (X + jY) ej??can be evaluated efficiently by a combination of additions, binary shifts, and table lookups from a small table.
?(a) Define ?i = arctan (2??i). Show that any angle 0 i = ? 1 and the error ? is bounded by |?| ? arctan (2 ?M).
(b) The angles ?i may be computed in advance and stored in a small table of length M. State an algorithm for obtaining the sequence {ai} for i = 0, 1, ?, M ? 1, such that ai = ? 1. Using your algorithm to determine the sequence {ai} for representing the angle ? = 100 ?/512 when M = 11.
(c) Using the result of part (a), show that the recursion, will produce the complex number (XM + jY M) = (X + jY) GMej?, where ? = ?M?1i=0 ai ?i and GM is real, is positive, and does not depend on ?. That is, the original complex number is rotated in the complex plane by an angle ? and magnified by the constant GM.
(d) Determine the magnification constant GM as a function of M.
Step by Step Answer:
Discrete Time Signal Processing
ISBN: 978-0137549207
2nd Edition
Authors: Alan V. Oppenheim, Rolan W. Schafer