0。2238 0。00390625 0。999992371

9 0。1119 0。001953125 0。999998093

10 0。0560 0。000976563 0。999999523

11 0。0280 0。000488281 0。999999881

12 0。0140 0。000244141 0。999999997

对二分查找的角度进行了修改后,前面的伪旋转可表示为(2-6)和公式(2-7)(对每次迭代)。而本身需要储存在rom中的tan值变为了,这些值只需要通过对乘数的简单移位操作就可以实现。这样在rom中就不用储存大量的数值了,从而节约了储存空间,提高了运算速度。

               公式(2-6)

               公式(2-7)

上文提到,在经过不断地迭代之后,会有一个累加的旋转角度,也就是我们原本设定的旋转角,我们引入第三个方程公式(2-8),称之为角度累加器: 

                公式(2-8)文献综述

其中。 符号是一个判决因子,通过它的正负可以判断旋转的方向。现在,我们已经将原始的算法简化成使用向量的伪旋转来表示的迭代移位运算。考虑到一个问题,我们之前在做伪旋转的时候省略了cos(θ),然而这引发的负面效果就是使得每一次迭代都把 实际长度放大了1/cos(θ)倍。输出值被乘以一个因子,我们称为伸缩因子,其计算公式为(2-9):

             公式(2-9)

由表格2-1中的cos(θ)的值我们可以得到:cos45×cos26。5×cos14。03×cos7。125……×cos0。0139=0。6073,也即当时,,即,其中,角分辨率的数据位对最终的旋转计算精度非常重要。

2。2  CORDIC算法的工作模式

CORDIC算法有两种工作模式:旋转模式和向量模式,工作模式决定了控制判决因子的条件,当在旋转模式下工作时: 初始旋转角度, =sign。是每次旋转叠加之后的角度值,即为它的符号位,当>0时表示该向量逆时针旋转,当<0时则表示向量顺时针旋转。那么经过n次迭代后得到公式(2-1) ,公式(2-2) ,公式(2-3):

            公式(2-10)

            公式(2-11)

                                                            公式(2-12)

我们在上述公式的基础上,令和,然后经过n此迭代,

当趋向于0时可以计算 sin和cos 的值。所以,将所需产生的角度值作为输入,那么迭代后的就是要求的三角函数值,由此可知CORDIC算法的旋转模式可以用来计算一个输入角的三角函数值。因此我们输入和,然后通过迭代使=0。

按照Wather提出的迭代序列,CORDIC算法所覆盖的角度范围为[-99。9°,99。9°],覆盖不了[-180°,180°],这限制了该算法的计算范围。我们采用增加迭代的方法来对角度进行预处理。预处理的方法是在本来的旋转角度的基础上再添加两级i=0,实质上这是将旋转角度总和放大了90°,这样使得目标角度的取值范围扩大到[-189。9°,189。9°]。正、余弦函数本身具有对称性,所以我们还可以进行其他一些预处理,如下表2-2所示。为了方便说明,表2-2中都采用弧度制来表示。

上一篇:AT89C51单片机模拟GPS定位信息显示系统设计
下一篇:纳米孔道中离子电流整流现象仿真研究

基于Java的串口通信设计

基于Kinect的深度图像编码

编码式超材料codingmetamaterial结构散射特性分析

基于混沌的数字图像加密技术研究

基于Virtex-5FPGA的图像处理系统研究

基于移动通信的工业生产线状态监测技术研究

基于TF/IDF特征的网络问题自动分类研究

ASP.net+sqlserver企业设备管理系统设计与开发

LiMn1-xFexPO4正极材料合成及充放电性能研究

新課改下小學语文洧效阅...

麦秸秆还田和沼液灌溉对...

我国风险投资的发展现状问题及对策分析

网络语言“XX体”研究

张洁小说《无字》中的女性意识

安康汉江网讯

互联网教育”变革路径研究进展【7972字】

老年2型糖尿病患者运动疗...