View Full Document

13 views

Unformatted text preview:

CORDIC ALGORITHM AND IMPLEMENTATIONS 1 CORDIC METHOD ROTATION AND VECTORING MODE CONVERGENCE PRECISION AND RANGE SCALING FACTOR AND COMPENSATION IMPLEMENTATIONS word serial and pipelined EXTENSION TO HYPERBOLIC AND LINEAR COORDINATES UNIFIED DESCRIPTION REDUNDANT ADDITION AND HIGH RADIX Digital Arithmetic Ercegovac Lang 2003 11 CORDIC 2 MAIN USES REALIZATION OF ROTATIONS CALCULATION OF TRIGONOMETRIC FUNCTIONS CALCULATION OF INVERSE TRIGONOMETRIC FUNCTION tan 1 a b CALCULATION OF a2 b2 etc EXTENDED TO HYPERBOLIC FUNCTIONS DIVISION AND MULTIPLICATION CALCULATION OF SQRT LOG AND EXP FOR LINEAR TRANSFORMS DIGITAL FILTERS AND SOLVING LIN SYSTEMS MAIN APPLICATIONS DSP IMAGE PROCESSING 3D GRAPHICS ROBOTICS Digital Arithmetic Ercegovac Lang 2003 11 CORDIC 3 CORDIC ALGORITHM CIRCULAR COORDINATE SYSTEM PERFECT ROTATION xR Min cos xin cos yin sin yR Min sin xin sin yin cos Min THE MODULUS OF THE VECTOR THE INITIAL ANGLE IN MATRIX FORM xR cos sin xin xin ROT sin cos yR yin yin Digital Arithmetic Ercegovac Lang 2003 11 CORDIC 4 y in M xR yR xin yin x Figure 11 1 VECTOR ROTATION Digital Arithmetic Ercegovac Lang 2003 11 CORDIC MICRO ROTATIONS 5 USE ELEMENTARY ROTATION ANGLES j DECOMPOSE THE ANGLE SO THAT ROT X j Y ROT j j 0 j 0 THEN ROT j xR j 1 xR j cos j yR j sin j yR j 1 xR j sin j yR j cos j Digital Arithmetic Ercegovac Lang 2003 11 CORDIC 6 SIMPLIFYING MICRO ROTATIONS HOW TO AVOID MULTIPLICATIONS 1 DECOMPOSE ROTATION INTO SCALING OPERATION AND ROTATION EXTENSION xR j 1 cos j xR j yR j tan j yR j 1 cos j yR j xR j tan j 2 CHOOSE ELEMENTARY ANGLES j tan 1 j 2 j j tan 1 2 j WITH j 1 1 RESULTS IN ROTATION EXTENSION RECURRENCE WITHOUT MPYs x j 1 x j j 2 j y j y j 1 y j j 2 j x j ONLY ADDITIONS AND SHIFTS Digital Arithmetic Ercegovac Lang 2003 11 CORDIC 7 ROTATION EXTENSION cont ROTATION EXTENSION SCALES MODULUS M j M j 1 K j M j 1 M j 1 j22 2j 1 2M j 1 2 2j 1 2M j cos j TOTAL SCALING FACTOR K Y j 0 1 2 2j 1 2 1 6468 CONSTANT INDEPENDENT OF THE ANGLE RECURRENCE FOR DECOMPOSITION ACCUMULATION OF ANGLE z j 1 z j j z j j tan 1 2 j Digital Arithmetic Ercegovac Lang 2003 11 CORDIC IMPLEMENTATION OF CORDIC ITERATION 8 CORDIC MICROROTATION x j 1 x j j 2 j y j y j 1 y j j 2 j x j z j 1 z j j tan 1 2 j Digital Arithmetic Ercegovac Lang 2003 11 CORDIC 9 Y j X j SHIFTER j Z j SHIFTER j TABLE j j j j ADD SUB ADD SUB sign Y X j 1 Y j 1 ADD SUB module includes conditional complementer j ADD SUB sign Z MUX j 1 Z j 1 sign Y j 1 in vectoring sign Z j 1 in rotation Figure 11 2 IMPLEMENTATION OF ONE ITERATION Digital Arithmetic Ercegovac Lang 2003 11 CORDIC ROTATION MODE 10 ROTATE AN INITIAL VECTOR xin yin BY DECOMPOSE THE ANGLE z j 1 z j j tan 1 2 j z 0 x 0 xin y 0 yin 1 if z j 0 j 1 if z j 0 PERFORM MICRO ROTATIONS FINAL VALUES xf K xin cos yin sin yf K xin sin yin cos zf 0 Digital Arithmetic Ercegovac Lang 2003 11 CORDIC 11 x1 y1 x3 y3 y xf yf primitive angles x2 y2 xin yin x Figure 11 3 Rotating a vector using microrotations Digital Arithmetic Ercegovac Lang 2003 11 CORDIC EXAMPLE OF ROTATION 12 ROTATE xin yin BY 67 USING n 12 MICRO ROTATIONS INITIAL COORDINATES xin 1 yin 0 125 FINAL COORDINATES xR 0 2756 yR 0 9693 j z j j x j y j 0 1 1693 1 1 0 0 125 1 0 3839 1 0 875 1 125 2 0 0796 1 0 3125 1 1562 3 0 1653 1 0 7031 1 4843 4 0 0409 1 0 5175 1 5722 5 0 0214 1 0 4193 1 6046 6 0 0097 1 0 4694 1 5915 7 0 0058 1 0 4445 1 5988 8 0 0019 1 0 4570 1 5953 9 0 0019 1 0 4508 1 5971 10 0 0000 1 0 4539 1 5962 11 0 0009 1 0 4524 1 5967 12 0 0004 1 0 4531 1 5965 13 0 4535 1 5963 Digital Arithmetic Ercegovac Lang 2003 11 CORDIC EXAMPLE 11 1 cont 13 AFTER COMPENSATION OF SCALING FACTOR K 1 64676 COORDINATES ARE x 13 K 0 2753 and y 13 K 0 9693 ERRORS 2 12 Digital Arithmetic Ercegovac Lang 2003 11 CORDIC SPECIAL CASES 14 TO COMPUTE cos AND sin MAKE INITIAL CONDITION x 0 1 K AND y 0 0 IN GENERAL FOR a AND b CONSTANTS a cos b sin a sin b cos COMPUTED BY SETTING x 0 a K AND y 0 b K Digital Arithmetic Ercegovac Lang 2003 11 CORDIC 15 VECTORING MODE ROTATE INITIAL VECTOR xin yin UNTIL y 0 FOR INITIAL VECTOR IN THE FIRST QUADRANT j 1 if y j 0 1 if y j 0 ACCUMULATE ROTATION ANGLE IN z FOR x 0 xin y 0 yin and z 0 zin THE FINAL VALUES ARE 2 1 2 xf K x2in yin yf 0 1 yin zf zin tan xin Digital Arithmetic Ercegovac Lang 2003 11 CORDIC EXAMPLE OF VECTORING 16 INITIAL VECTOR xin 0 75 yin 0 43 y FORCED TO ZERO IN n 12 MICRO ROTATIONS r 2 0 8645 y 0 0 ROTATED VECTOR xR x2in yin R ROTATED ANGLE zf tan 1 0 43 0 75 0 5205 Digital Arithmetic Ercegovac Lang 2003 11 CORDIC 17 j 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Digital Arithmetic Ercegovac Lang 2003 y j 0 43 0 32 0 27 0 065 0 1109 0 0224 0 0219 0 0002 0 0108 0 0053 0 0025 0 0011 0 0004 j 1 1 1 1 1 1 1 1 1 1 1 1 1 x j 0 75 1 18 1 34 1 4075 1 4156 1 4225 1 4232 1 4236 1 4236 1 4236 1 4236 1 4236 1 4236 1 4236 z j 0 0 0 7853 0 3217 0 5667 0 4423 0 5047 0 5360 0 5204 0 5282 0 5243 0 5223 0 5213 0 5208 0 5206 11 CORDIC EXAMPLE 11 2 cont 18 ACCUMULATED ANGLE z 13 0 5206 AFTER PERFORMING COMPENSATION OF K 1 64676 x 13 K 0 864 ERRORS 2 12 Digital Arithmetic Ercegovac Lang 2003 11 CORDIC CONVERGENCE PRECISION AND RANGE 19 ROTATION MODE CONVERGENCE z i max z 0 max X j 0 X j i tan 1 2 j tan 1 2 j 1 7429 99 88o FOR THIS ANGLE ALL j 1 and z j 0 CONSIDER max CONSEQUENTLY z i tan 1 2 i 1 tan 1 2 i …


Access the best Study Guides, Lecture Notes and Practice Exams

Loading Unlocking...
Login

Join to view ch11 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view ch11 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?