The CORDIC Algorithm

Coordinate Rotation Digital Computer Algorithm

The CORDIC Algorithm was conceived in order to replace an old analogue navigation system in a B-58 Bomber with a new modern faster real time digital circuit. The original mathematics for the algorithm were developed by Jack E Volder in 1956.

What you’ll learn

  • Revision of Basic Trigonometry.
  • Revision of Basic Mathematical Functions.
  • Rotation Matrix.
  • Approximation of fundamental Math Functions Using CORDIC Algorithm.
  • Circular , Linear , Hyperbolic.
  • Rotation and Vectoring Modes.
  • A stepping stone to a Math Coprocessor.
  • Every New Idea Simulated Graphically.

Course Content

  • Introduction –> 1 lecture • 3min.
  • Basic Trigonometry –> 6 lectures • 1hr 14min.
  • CORDIC Algorithm –> 10 lectures • 2hr 25min.
  • Coordinate Transformations –> 2 lectures • 12min.
  • Linear Functions –> 3 lectures • 42min.
  • Hyperbolic Functions –> 9 lectures • 1hr 59min.
  • Some other Important Functions –> 4 lectures • 28min.
  • Summary –> 2 lectures • 24min.

The CORDIC Algorithm

Requirements

The CORDIC Algorithm was conceived in order to replace an old analogue navigation system in a B-58 Bomber with a new modern faster real time digital circuit. The original mathematics for the algorithm were developed by Jack E Volder in 1956.

This simple but elegant algorithm was then used to create the first scientific handheld digital calculators.  It was then used within the first Floating Point Math-Coprocessors.

In this course we cover the mathematics of the Coordinate Rotation Digital Computer Algorithm (CORDIC).

We will see how  basic mathematical functions can be approximated using the CORDIC Algorithm. We will approximate the trigonometric functions – sine , cosine , tangent , arcsine , arccosine , arctangent .We will then see how we can use the CORDIC algorithm to do multiplication and division. Then we will move onto the hyperbolic functions – sinh , cosh , tanh , arcsinh , arccosh , arctanh. Finally we will look at some other fundamental mathematical functions such as the exponential function e^x and its inverse lnx.

Throughout the course we model the algorithm in a graphical calculator called DESMOS. This is freely available online and you can download the simulations and have a play with them yourself.

Once we have a good intuition and a sold mathematical basis for this algorithm we will go on in the next course to implement the algorithm with a Floating Point Unit thus creating a simple 32 bit Math-Coprocessor. This is the direction of travel of this course.

FIRST LET US MASTER THE CORDIC ALGORITHM.

 

Get Tutorial