For a more demanding application where higher accuracy is required, you can consider more significant figures for the scaling factor. Old Calculator Web Museum. The number of logic gates for the implementation of a CORDIC is roughly comparable to the number required for a multiplier as both require combinations of shifts and additions. By using this site, you agree to the Terms of Use and Privacy Policy. The standard approach, using the C Standard Library sin call, amounts to:

Uploader: Gora
Date Added: 24 April 2007
File Size: 67.28 Mb
Operating Systems: Windows NT/2000/XP/2003/2003/7/8/10 MacOS 10/X
Downloads: 59784
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

This section needs to be modified to avoid using matrices and explain rotations with change in length directly, since this is in Book 1. Retrieved from " https: By using this site, you agree to the Terms cprdic Use and Privacy Policy.

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

Additionally it can be noted that:. By using this site, you agree to the Terms of Use and Privacy Policy. If the desired rotation ckrdic larger smaller than previously achieved rotation, then we need to rotate counter-clockwise clockwise in the next iteration.

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.

About the Author: Nebei


  1. I can recommend to come on a site where there is a lot of information on a theme interesting you.

Leave a Reply

Your email address will not be published. Required fields are marked *