CORDIC
Overview
 
CORDIC (for COordinate Rotation DIgital Computer) is a simple and efficient algorithm
Algorithm
In mathematics and computer science, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning...

 to calculate hyperbolic
Hyperbolic function
In mathematics, hyperbolic functions are analogs of the ordinary trigonometric, or circular, functions. The basic hyperbolic functions are the hyperbolic sine "sinh" , and the hyperbolic cosine "cosh" , from which are derived the hyperbolic tangent "tanh" and so on.Just as the points form a...

 and trigonometric function
Trigonometric function
In mathematics, the trigonometric functions are functions of an angle. They are used to relate the angles of a triangle to the lengths of the sides of a triangle...

s. It is commonly used when no hardware multiplier is available (e.g., simple microcontroller
Microcontroller
A microcontroller is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. Program memory in the form of NOR flash or OTP ROM is also often included on chip, as well as a typically small amount of RAM...

s and FPGAs) as the only operations it requires are addition, subtraction, bitshift and table lookup
Lookup table
In computer science, a lookup table is a data structure, usually an array or associative array, often used to replace a runtime computation with a simpler array indexing operation. The savings in terms of processing time can be significant, since retrieving a value from memory is often faster than...

.
The modern CORDIC algorithm was first described in 1959 by Jack E. Volder. It was developed at the aeroelectronics department of Convair
Convair
Convair was an American aircraft manufacturing company which later expanded into rockets and spacecraft. The company was formed in 1943 by the merger of Vultee Aircraft and Consolidated Aircraft, and went on to produce a number of pioneering aircraft, such as the Convair B-36 bomber, and the F-102...

 to replace the analog resolver
Resolver (electrical)
A resolver is a type of rotary electrical transformer used for measuring degrees of rotation. It is considered an analog device, and has a digital counterpart, the rotary encoder.-Description:...

 in the B-58
B-58 Hustler
The Convair B-58 Hustler was the first operational supersonic jet bomber capable of Mach 2 flight. The aircraft was designed by Convair engineer Robert H. Widmer and developed for the United States Air Force for service in the Strategic Air Command during the 1960s...

 bomber's navigation
Navigation
Navigation is the process of monitoring and controlling the movement of a craft or vehicle from one place to another. It is also the term of art used for the specialized knowledge used by navigators to perform navigation tasks...

 computer.

Although CORDIC is similar to mathematical techniques published by Henry Briggs
Henry Briggs (mathematician)
Henry Briggs was an English mathematician notable for changing the original logarithms invented by John Napier into common logarithms, which are sometimes known as Briggsian logarithms in his honour....

 as early as 1624, it is optimized for low complexity finite state CPUs.

John Stephen Walther at Hewlett-Packard
Hewlett-Packard
Hewlett-Packard Company or HP is an American multinational information technology corporation headquartered in Palo Alto, California, USA that provides products, technologies, softwares, solutions and services to consumers, small- and medium-sized businesses and large enterprises, including...

 further generalized the algorithm, allowing it to calculate hyperbolic
Hyperbolic function
In mathematics, hyperbolic functions are analogs of the ordinary trigonometric, or circular, functions. The basic hyperbolic functions are the hyperbolic sine "sinh" , and the hyperbolic cosine "cosh" , from which are derived the hyperbolic tangent "tanh" and so on.Just as the points form a...

 and exponential function
Exponential function
In mathematics, the exponential function is the function ex, where e is the number such that the function ex is its own derivative. The exponential function is used to model a relationship in which a constant change in the independent variable gives the same proportional change In mathematics,...

s, logarithm
Logarithm
The logarithm of a number is the exponent by which another fixed value, the base, has to be raised to produce that number. For example, the logarithm of 1000 to base 10 is 3, because 1000 is 10 to the power 3: More generally, if x = by, then y is the logarithm of x to base b, and is written...

s, multiplication
Multiplication
Multiplication is the mathematical operation of scaling one number by another. It is one of the four basic operations in elementary arithmetic ....

s, division
Division (mathematics)
right|thumb|200px|20 \div 4=5In mathematics, especially in elementary arithmetic, division is an arithmetic operation.Specifically, if c times b equals a, written:c \times b = a\,...

s, and square root
Square root
In mathematics, a square root of a number x is a number r such that r2 = x, or, in other words, a number r whose square is x...

s.

Originally, CORDIC was implemented using the binary numeral system
Binary numeral system
The binary numeral system, or base-2 number system, represents numeric values using two symbols, 0 and 1. More specifically, the usual base-2 system is a positional notation with a radix of 2...

.
 
x
OK