An improved implementation of the CORDIC algorithm that considers the n highest-order active bits in each stage of the CORDIC implementation resulting in increases in the precision of the final result by 2<n>. The rotational angle increment n-1 possible magnitudes that can be either positive or negative. The rotational angle increment is selected using the sign bit, along with the n-1 highest order active bits, of the rotation angle and an adjusted rotation angle is obtained by discarding the n highest-order active bits, and sign-extending the result using a negative sign when the lowest-order of these n bits equals the sign bit of present-stage rotation angle and a positive sign when they are different (this is equivalent to an exclusive NOR, or XNOR, operation on these two bits). Finally, the tangent is selected from 2<n> possible values (2<n-1> magnitudes, each with 2 signs), such that it corresponds to the present-stage rotation angle. The use of this method results in a CORDIC implementation for which each stage increases the precision of the final result by a factor of 2<n>, by considering n bits of the present-stage rotation angle. As a result, the number of stages needed, relative to the traditional implementation, is reduced by a factor of n. |