CORDIC Algorithm COordinate Rotation DIgital Computer Method for Elementary Function Evaluation (e.g., sin(z), cos(z), tan -1 (y)) Originally Used for.

Slides:



Advertisements
Similar presentations
Key Points Two complex numbers can be multiplied by expressing each number in the form z = x + jy, then using distributivity and the rule j2 = -1 (i.e.,
Advertisements

CSE 246: Computer Arithmetic Algorithms and Hardware Design Instructor: Prof. Chung-Kuan Cheng Fall 2006 Lecture 11 Cordic, Log, Square, Exponential Functions.
COMPUTER GRAPHICS 2D TRANSFORMATIONS.
ET-314 Week 11 Nov 7, 2014 Topic(s): 19.1 Vectors.
Signal Spaces.
Arbitrary Rotations in 3D Lecture 18 Wed, Oct 8, 2003.
Mechanics of Machines Dr. Mohammad Kilani
MTH 112 Elementary Functions (aka: Trigonometry) Review for the Final.
Copyright 2008 Koren ECE666/Koren Part.9b.1 Israel Koren Spring 2008 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Digital Computer.
CSE 246: Computer Arithmetic Algorithms and Hardware Design Instructor: Prof. Chung-Kuan Cheng Fall 2006 Lecture 11 Cordic, Log, Square, Exponential Functions.
CSE 246: Computer Arithmetic Algorithms and Hardware Design Instructor: Prof. Chung-Kuan Cheng Winter 2004 Lecture 11 Tuesday, February 24, 2004.
Digital Kommunikationselektronik TNE027 Lecture 3 1 Multiply-Accumulator (MAC) Compute Sum of Product (SOP) Linear convolution y[n] = f[n]*x[n] = Σ f[k]
Spring 2006EE VLSI Design II - © Kia Bazargan 368 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part IX: CORDIC Algorithms.
Ch. 21. Square-rootingSlide 1 VI Function Evaluation Topics in This Part Chapter 21 Square-Rooting Methods Chapter 22 The CORDIC Algorithms Chapter 23.
COMPLEX NUMBER SYSTEM 1. COMPLEX NUMBER NUMBER OF THE FORM C= a+Jb a = real part of C b = imaginary part. 2.
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
Chapter 3 Vectors.
Mathematical Fundamentals
POLAR COORDINATES (Ch )
6.3 Polar Coordinates Day One
10.4A Polar Equations Rectangular: P (x, y) Polar: P (r,  )  r = radius (distance from origin)   = angle (radians)
11.1 Polar Coordinates and Graphs
Final Exam Review Questions 3 Days
Complex Numbers Complex numbers are written a + bi –a and b are real numbers –i (or j) satisfies the equation: Characteristics of Complex Numbers –Extend.
A Bit-Serial Method of Improving Computational Efficiency of Dot-Products 1.
Department of Computer Systems Engineering, N-W.F.P. University of Engineering & Technology. DSP Presentation Computing Multiplication & division using.
Sinusoids & Phasors. A sinusoidal current is usually referred to as alternating current (ac). Circuits driven by sinusoidal current or voltage sources.
Term 3 : Unit 1 Trigonometric Functions Name : ____________ ( ) Class : _____ Date : _____ 1.1 Trigonometric Ratios and General Angles 1.2 Trigonometric.
Implementation of MAC Assisted CORDIC engine on FPGA EE382N-4 Abhik Bhattacharya Mrinal Deo Raghunandan K R Samir Dutt.
Vector Quantities We will concern ourselves with two measurable quantities: Scalar quantities: physical quantities expressed in terms of a magnitude only.
Mechanics of Machines Dr. Mohammad Kilani Class 3 Position Analysis.
ECE 545 – Introduction to VHDL ECE 645—Project 2 Project Options.
Polar Coordinates Lesson Points on a Plane Rectangular coordinate system  Represent a point by two distances from the origin  Horizontal dist,
June 2007 Computer Arithmetic, Function EvaluationSlide 1 VI Function Evaluation Topics in This Part Chapter 21 Square-Rooting Methods Chapter 22 The CORDIC.
A jogger runs 145m in a direction 20
Starter If you are in a large field, what two pieces of information are required for you to locate an object in that field?
Slide 9- 1 Copyright © 2006 Pearson Education, Inc. Publishing as Pearson Addison-Wesley.
Intro to Polar Coordinates Lesson 6.5A. 2 Points on a Plane  Rectangular coordinate system Represent a point by two distances from the origin Horizontal.
16/5/ :47 UML Computer Graphics Conceptual Model Application Model Application Program Graphics System Output Devices Input Devices API Function.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU CORDIC (Coordinate rotation digital computer) Ref: Y. H. Hu, “CORDIC based VLSI architecture.
Day Problems Simplify each expression – – (-8.4) 3. Evaluate each expression for a = -2, b = 3.5, and c = a – b + c5. |c + a + 5|
Lecture 21 Review: Second order electrical circuits Series RLC circuit Parallel RLC circuit Second order circuit natural response Sinusoidal signals and.
Chapter 3 Vectors. Vector quantities  Physical quantities that have both numerical and directional properties Mathematical operations of vectors in this.
Implementation of a noise subtraction algorithm using Verilog HDL University of Massachusetts, Amherst Department of Electrical & Computer Engineering,
Polar Coordinates Lesson Points on a Plane Rectangular coordinate system  Represent a point by two distances from the origin  Horizontal dist,
CORDIC-Based Processor
2D Geometric Transformation Translation A translation is applied to an object by repositioning it along a straight-line path from one coordinate location.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
6.3 Vectors in a Plane (part 3) I. Using Angled Vectors (put calculator in degree mode). A) The vector must be in Component form (standard position) B)
CORDIC Algorithm COordinate Rotation DIgital Computer
Applications of Trigonometric Functions
Computer Graphics Mathematical Fundamentals Lecture 10 Taqdees A. Siddiqi
Learning from the Past, Looking to the Future James R. (Jim) Beaty, PhD - NASA Langley Research Center Vehicle Analysis Branch, Systems Analysis & Concepts.
Computer Graphics Lecture 11 2D Transformations I Taqdees A. Siddiqi
CSE 575 Computer Arithmetic Spring 2003 Mary Jane Irwin (www. cse. psu
CORDIC (Coordinate rotation digital computer)
Dynamic Circuit Specialization of a CORDIC Processor Eric Keller Nov. 7, 2000 SPIE Photonics East.
CORDIC (Coordinate rotation digital computer)
UNIVERSITY OF MASSACHUSETTS Dept
COMPLEX NUMBERS and PHASORS
International Studies Charter School. Pre-Calculus Section 6-3
ECE 3301 General Electrical Engineering
Polar Coordinates.
UNIT II Analysis of Continuous Time signal
Chapter 9 Review.
Numerical Analysis Lecture 7.
START UP DAY 62 Kirby hits a ball when it is 4 ft above the ground with an initial velocity of 120 ft/sec. The ball leaves the bat at a 30° angle with.
A.R. Hurson 323 CS Building, Missouri S&T
Chapter 2 Complex Numbers
Warm Up – 1/2 - Thursday.
Presentation transcript:

CORDIC Algorithm COordinate Rotation DIgital Computer Method for Elementary Function Evaluation (e.g., sin(z), cos(z), tan -1 (y)) Originally Used for Real-time Navigation (Volder 1956) Idea is to Rotate a Vector in Cartesion Plane by Some Angle Complexity Comparable to Division

Rotations in the Plane (1,0) (0.707,0.707)  (cos45°, sin45°) x y 45° 0.707

Rotations in the Plane-Simplifications Factoring the term cos  from the above Equations: Restrict the Rotation Angles Such that: Above Multiplication is Reduced to a Simple Shift!!

Iterations Over Angles Arbitrary Angles Obtained After Series of Smaller Rotations (increasing i values) At Each Iteration Rotate Up or Rotate Down Possible Rotation Angles, e (i) = tan –1 2 -i (degrees):

Rotations in the Plane-Simplifications Restrict the Rotation Angles Such that: Substituting into Previous Equations:

Rotations in the Plane-Simplifications Using the Identity: Previous Equations: Are Further Simplified as:

Scaling Constant – CORDIC Gain Factor Gain Factor Becomes: This Value is Pre-computed for a Given i Value: Can Remove the K i Value and Apply Elsewhere in System Can Pre-scale (x, y) by A n

Angle Accumulator, z i Overall Rotation Angle Defined by Sequence of Iterations: Use Angle Accumulator to Keep Track of Rotations:

Binary Angular Measurement - BAM Angle Accumulator can Represent Angles as BAM Encode d i ={-1,+1} as Bit Values {0,1} Example: -1 Represented by 0 and +1 Represented by 1 LSb Represents d 0 Content z=01011 z=+45    +7.1  -3.6  =61.1  Can Simplify CORDIC Circuitry for Some Modes May Need BAM encode/decode – Can Use Lookup Table

CORDIC - Rotation Mode Input is Angle,  – Initialized in Angle Accumulator Vector Initialized to Lie on x-axis Each Iteration d i Chosen by Sign of Angle Attempt to Bring Angle to Zero Result is x Register Contains ~cos  Result is y Register Contains ~sin  Also Polar to Rectangular if x Register Initialized to Magnitude

CORDIC - Vector Mode Input is (Pre-scaled) Vector in (x,y) Registers Angle,  – Initialized to Zero Each Iteration d i Chosen to Move Vector to Lie Along Positive x-axis (Want to Reduce y Register to Zero) Result is Original Vector Angle in Angle Accumulator Can be Used for sin -1  and cos -1  Also Rectangular to Polar Conversion Magnitude in x Register

CORDIC – Rotation/Vector Modes Rotation Mode: Vector Mode:

Rotation Angle Limits Rotation/Vector Algorithms Limited to  90  Due to Use of  =tan(2 0 ) for First Iteration Several Ways to Extend Range One Way is to Use Additional Rotation for Angles Outside Range This Rotation is Initial  90  Rotation

CORDIC Uses Can Use CORDIC For Others Also: – Linear Functions – Hyperbolic Functions – Square Rooting – Logarithms, Exponentials

CORDIC Hardware

Iterative CORDIC Structure* *Taken from “A Survey of CORDIC Algorithms for FPGA Based Computers”, R. Andraka, FPGA’98

Bit-serial CORDIC Structure* *Taken from “A Survey of CORDIC Algorithms for FPGA Based Computers”, R. Andraka, FPGA’98