Everything about Cordic totally explained
CORDIC (digit-by-digit method, Volder's algorithm) (for
COordinate
Rotation
DIgital
Computer) is a simple and efficient
algorithm to calculate
hyperbolic and
trigonometric functions. It is commonly used when no hardware multiplier is available (for example, simple
microcontrollers and
FPGAs) as the only operations it requires are addition, subtraction,
bitshift and
table lookup.
The modern CORDIC algorithm was first described in
1959 by
Jack E. Volder. It was developed at the aeroelectronics department of
Convair to replace the
analog resolver in the
B-58 bomber's
navigation computer, although it's similar to techniques published by
Henry Briggs as early as
1624.
John Stephen Walther at
Hewlett-Packard further generalized the algorithm, allowing to calculate
hyperbolic and
exponential functions,
logarithm,
multiplication,
division, and
square root.
Originally, CORDIC was implemented using the
binary numeral system. In the 1970s,
decimal CORDIC became widely used in pocket
calculators, most of which operate in
binary-coded-decimal (BCD) rather than binary. CORDIC is particularly well-suited for handheld calculators, an application for which cost (for example, chip gate count has to be minimised) is much more important than is speed. Also the CORDIC
subroutines for trigonometric and hyperbolic functions can share most of their code.
Application
CORDIC is generally faster than other approaches when a hardware multiplier is unavailable (for example in a microcontroller), or when the number of gates required to implement one needs to be minimized (for example in an
FPGA). On the other hand, when a hardware multiplier is available (for example in a DSP microprocessor), table-lookup methods and
power series are generally faster than CORDIC.
Mode of operation
CORDIC can be used to calculate a number of different functions. This explanation shows how to use CORDIC in rotation mode to calculate sin and cos of an angle, and assumes the wanted angle is given in radians and represented in a
fixed point format. To determine the sine or cosine for an angle
, the y or x coordinate of a point on the
unit circle corresponding to the wanted angle needs to be found. Using CORDIC, we'd start with the vector
:
» , the
Intel 80x87 coprocessor series until
Intel 80486, and
Motorola 68881.
Decimal CORDIC was first suggested by Hermann Schmid and Anthony Bogacki
Further Information
Get more info on 'Cordic'.
|
External Link Exchanges
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
<a href="http://cordic.totallyexplained.com">CORDIC Totally Explained</a>
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned. |