cordic 理论分析

cordic 理论分析

ID:33990401

大小:62.80 KB

页数:4页

时间:2019-03-03

cordic 理论分析_第1页
cordic 理论分析_第2页
cordic 理论分析_第3页
cordic 理论分析_第4页
资源描述:

《cordic 理论分析》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、CORDIC理论分析1.1、坐标旋转数字计算机CORDIC坐标旋转数字计算机CORDIC(COordinateRotationDIgitalComputer)算法,通过移位和加减运算,能递归计算常用函数值,如Sin,Cos,Sinh,Cosh等函数,由J.Volder于1959年提出,首先用于导航系统,使得矢量的旋转和定向运算不需要做查三角函数表、乘法、开方及反三角函数等复杂运算。J.Walther在1974年用它研究了一种能计算出多种超越函数的统一算法。1.2、CORDIC原理如图所示,初始向量(X(0),Y(0))旋转θ角度之后得到

2、向量(X1,Y1),此向量有如下关系:X1=X0*cos(θ)-Y0*sin(θ)=cos(θ)(X0-Y0*tan(θ))Y1=Y0*cos(θ)+X0*sin(θ)=cos(θ)(Y0+X0*tan(θ))假设初始向量经过N次旋转之后得到新向量,且每次旋转角度δ都是正切值为2的倍数,则第i次旋转角度为δ-arctan(2^(-i)),即cosδ=(1/(1+2^(-2i)))^0.5。容易得到角度θ≈∑S(i)●δ(i),其中S(i)=1或-1,表示旋转角度的方向,第i步旋转可以表示为:X(i+1)=((1/(1+2^(-2i)))

3、^0.5)●(X(i)-S(i)Y(i)2^(-i))Y(i+1)=((1/(1+2^(-2i)))^0.5)●(Y(i)+S(i)X(i)2^(-i))其中(1/(1+2^(-2i)))^0.5)称为校模因子,当旋转次数一定时,趋于一个常数,Π(1/(1+2^(-2i)))^0.5)≈0.6073这样,算法每一步就可以简化为:X(i+1)=(X(i)-S(i)Y(i)2^(-i))Y(i+1)=(Y(i)+S(i)X(i)2^(-i))从而可以看出,对于移动的角度θ,现在只需要硬件加减法器和移位器就可以算出结果。引入Z,表示i次旋转后

4、相位累加的部分和,则:Z(i+1)=Z(i)-S(i)arctan(2^(-i))经过n次旋转之后,Z→0,即与目标角重合,即:X(n)=X1=X0*cos(θ)-Y0*sin(θ)Y(n)=Y1=Y0*cos(θ)+X0*sin(θ)1.3、三角函数的计算以sin/cos计算为例,可利用正/余弦的和角公式递归进行:cos(a+b)=cos(a)cos(b)–sin(a)sin(b)=cos(a)[cos(b)–tan(a)sin(b)]sin(a+b)=sin(a)cos(b)+cos(a)sin(b)=cos(a)[tan(a)co

5、s(b)+sin(b)]取a=arctan(2^-k),即tan(a)=2^-k,则cos(b)–tan(a)sin(b)可通过移位和减法来实现。如果角度z可以表示为z=s0arctan(2^0)+s1arctan(2^-1)+...+snarctan(2^-n),其中s0,s1,...,sn取+1或-1(+1可以理解为逆时针转角,即加上一个角度;-1则相反),那么角度z的sin/cos计算可以通过一系列的移位和加减运算来实现。注意到cos(skarctan(2^-k))=cos(arctan(2^-k))与转角方向无关。此外,z应取第

6、一项限角度(收敛域),对於其他项限角度,可由其第一项限对应角度变换得到。相类似地,sinh/cosh的计算利用以下公式:cosh(a+b)=cosh(a)cosh(b)+sinh(a)sinh(b)=cosh(a)[cosh(b)+tanh(a)sinh(b)]sinh(a+b)=sinh(a)cosh(b)+cosh(a)sinh(b)=cosh(a)[tanh(a)cosh(b)+sinh(b)]取a=arctanh(2^-k),即tanh(a)=2^-k,则cosh(b)+tanh(a)sinh(b)可通过移位和减法来实现。如果参

7、数z可以表示为z=s1arctanh(2^-1)+s2arctanh(2^-2)+...+snarctanh(2^-n),其中s1,s2,...,sn取+1或-1,那么z的sinh/cosh计算可以通过一系列的移位和加减运算来实现。z应取[-ln2,ln2]范围内的值,否则应先预处理z=z’–pln2,求得cosh(z’)/sinh(z’)的值,则cosh(z)=cosh(z’)cosh(pln2)+sinh(z’)sinh(pln2)=½[cosh(z’)+sinh(z’)]2^p+½[cosh(z’)–sinh(z’)]2^-psi

8、nh(z)=sinh(z’)cosh(pln2)+cosh(z’)sinh(pln2)=½[cosh(z’)+sinh(z’)]2^p+½[sinh(z’)–cosh(z’)]2^-p。sin/cos和si

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。