Board logo

标题: Cordic 算法的原理介绍(2) [打印本页]

作者: yuyang911220    时间: 2016-8-20 20:40     标题: Cordic 算法的原理介绍(2)

请想象,如果坐标也旋转角度θ,那么X1,Y1的坐标依然是(X0,Y0)。接着往下看:

看完以上这副图,就该明白这个等式了:
x1= x0cos θ − y0sin θ
y1= x0sin θ + y0cos θ
再把这个式子化成正切函数。



Cordic 算法的思想是通过迭代的方法,不断的旋转特定的角度(这个特定的角度就是使得 Y为上次的1/2),使得累计旋转的角度的和无限接近某一设定的角度,
每次旋转的角度的θ = arctan( 1/(2^n) );

具体迭代如下表:Z0 =30°,Y0=0,X0 = 0.6073
输入30°,经过9次迭代后, Z0 = 0,Y0=0.5006, X0 = 0.8657

x '(i +1)= ( x 'i− y 'i(σi)2−i)
y '(i +1)= ( x 'i(σi)2−i+ y 'i)
(当 i = 0)
x '1= 0.607 − 0 ⋅ (+1 ) ⋅ 1 = 0.607
y '1= 0.607 ⋅ (+1 ) ⋅ 1 + 0 = 0.607
通过Cordic算法后,得到y9=0.5006 (=sin(30°))
                                 x9=0.8657 (=cos(30°))
所以也可以用cordic算法求出正切值的。

或者求反正切值:

计算公式:





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0