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.

image

Fantastic news! We've Found the answer you've been seeking!

Step by Step Answer:

Related Book For  book-img-for-question

Discrete Time Signal Processing

ISBN: 978-0137549207

2nd Edition

Authors: Alan V. Oppenheim, Rolan W. Schafer

Question Posted: