The CORDIC Algorithm
Jean‐Michel Muller
Abstract
Jean‐Michel Muller
Abstract
The CORDIC algorithm was introduced in 1959 by Voider [191]. In Voider’s version, CORDIC makes it possible to perform rotations (and therefore to compute sine, cosine, and arctangent functions) and to multiply or divide numbers using only shift-and-add elementary steps. In 1971, Walther [194] generalized this algorithm to compute logarithms, exponentials, and square roots. CORDIC is not the fastest way to perform multiplications or to compute logarithms and exponentials but, since the same algorithm allows the computation of most mathematical functions using very simple basic operations, it is attractive for hardware implementations. CORDIC has been implemented in many pocket calculators since Hewlett Packard’s HP 35 [32], and in arithmetic coprocessors such as the Intel 8087 [141]. Some authors have proposed the use of CORDIC processors for signal processing applications (DFT [58, 200], discrete Hartley transform [26], filtering [56], SVD [23, 24, 76, 98, 120]), or for solving linear systems [2]. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
OpenAlex reports 3 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
The CORDIC algorithm was introduced in 1959 by Voider [191]. In Voider’s version, CORDIC makes it possible to perform rotations (and therefore to compute sine, cosine, and arctangent functions) and to multiply or divide numbers using only shift-and-add elementary steps. In 1971, Walther [194] generalized this algorithm to compute logarithms, exponentials, and square roots. CORDIC is not the fastest way to perform multiplications or to compute logarithms and exponentials but, since the same algorithm allows the computation of most mathematical functions using very simple basic operations, it is attractive for hardware implementations. CORDIC has been implemented in many pocket calculators since Hewlett Packard’s HP 35 [32], and in arithmetic coprocessors such as the Intel 8087 [141]. Some authors have proposed the use of CORDIC processors for signal processing applications (DFT [58, 200], discrete Hartley transform [26], filtering [56], SVD [23, 24, 76, 98, 120]), or for solving linear systems [2]. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Key concepts: CORDIC, Elementary function, Logarithm, Inverse trigonometric functions, Arithmetic, Sine, Computer science, Algorithm