|Date Added:||24 April 2007|
|File Size:||67.28 Mb|
|Operating Systems:||Windows NT/2000/XP/2003/2003/7/8/10 MacOS 10/X|
|Price:||Free* [*Free Regsitration Required]|
This explanation shows how to use CORDIC in rotation mode to calculate the sine and cosine of an angle, and assumes the desired angle is given in radians and represented in a fixed point format. The savings are due to the elimination of floating-point calculations as well as fast sine and cosine evaluation. CORDIC coordinate rotation digital computer is a hardware-efficient iterative method which uses rotations to calculate a wide range of elementary functions. Note that the tangent function is odd, which means that to pseudo-rotate the other way, you just subtract, rather than add, the tangent of the angle.
Department of the NavyNaval Postgraduate School. In other languages Add links. If the number of iterations n is predetermined, then the second table can be replaced by a single constant.
Trigonometry/For Enthusiasts/The CORDIC Algorithm - Wikibooks, open books for an open world
Interestingly, the list of the functions that can be calculated from rotation is relatively long. The multiplication of two complex numbers represented by their real and imaginary components rectangular coordinatesfor example, requires 4 multiplications, but could be realized by a single CORDIC operating on complex numbers represented by their polar coordinates, especially if the magnitude of the numbers is not relevant multiplying a complex vector with a vector on the unit circle actually amounts to a rotation.
Successive iterations will rotate the vector in one or the other direction by steps decreasing in size, until the desired angle has been achieved.
The first three pseudo-rotations. Best explanation so far. To achieve this, we only need to rotate the input vector so that it is aligned with the x-axis. The computation of phase for a complex number can be easily implemented in a hardware description language using only adder and shifter circuits bypassing the bulky complex number multipliers.
But, as will be demonstrated here, the algorithm can be easily modified for a decimal system. The third rotation is therefore clockwise, signified by the minus The generalized algorithm that best suited the requirements of speed and programming efficiency for the HP was an iterative pseudo-division and pseudo-multiplication method first described in by Henry Briggs in ' Arithmetica Logarithmica ' and later by Volder and Meggitt.
The CORDIC Method for Faster sin and cos Calculations
As mentioned previously, we can sometimes avoid multiplication by the scaling factor. The two-by-two matrix multiplication can be carried out by a pair of simple shifts and adds.
Increasing n will increase the precision. If the angles are always the same set, then K is fixed, and can be accounted for later. The expression then becomes:.
CORDIC is particularly well-suited for handheld calculators, in which low cost — and thus low chip gate count — is much more important than speed. However, the vector will grow by a factor of K over a sequence of n pseudo-rotations:.
Trigonometry/For Enthusiasts/The CORDIC Algorithm
Walther, at Hewlett-Packard, extended the method to calculate hyperbolic and exponential functions, logarithms, multiplications, divisions, and square roots. If a high speed is not required, this can be implemented with a single adder ccordic a single shifter.
May 31, by Steve Arar CORDIC coordinate cofdic digital computer is a hardware-efficient iterative method which uses rotations to calculate a wide range of elementary functions. With MATLAB's standard double-precision arithmetic and "format long" printout, the results increase in accuracy for n up to about And I just sent a note back with the Briggs reference in Latin and it said, "It looks like prior art to me.