Patent ID: 8332450

Claim:
A method of computing a vector angle by using a coordinate rotation digital computer (CORDIC), comprising: obtaining an initial coordinate, a base phase and an index; judging a shift unit according to the initial coordinate; performing a phase error detection on the initial coordinate so as to lock a phase error according to the shift unit; performing a loop filtering, using a loop filter circuit, wherein a first transfer function is used to filter out the high-frequency component of the phase error; performing an update processing and computing an intermediate coordinate; providing a rotation angle to the index according to an iteration look up table; performing a numerical controlled oscillating to accumulate the rotation angle so as to obtain a rotated angle; performing a dynamic shifting processing of the iteration look up table; performing a second transfer function processing on the rotated angle to obtain a normalized rotated angle, wherein when the difference between the normalized rotated angle and the base phase is greater than a predetermined value, the above-mentioned steps are repeated; otherwise, a phase compensation processing is performed by a phase compensation circuit and the intermediate coordinate and the normalized rotated angle are output; and wherein the step of dynamic shifting processing comprises dividing the rotation angle in the iteration look up table by a shift value and updating the rotation angle in the iteration look up table.