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定位信息显示系统设计
下一篇:纳米孔道中离子电流整流现象仿真研究

认知无线电网络中基于双...

基于TCP/IP技术的转向架振动测试系统设计

基于PM2.5浓度的健康出行路径规划及实现

基于涡旋电磁波的新型雷达成像技术研究

基于相关滤波器的长期跟踪算法研究

基于ZigBee协议轨道交通环...

基于QT的图像处理系统设计

拉力采集上位机软件开发任务书

多元化刑事简易程序构建探讨【9365字】

浅谈传统人文精神茬大學...

浅谈新形势下妇产科护理...

国内外无刷直流电动机研究现状

辩护律师的作证义务和保...

《醉青春》导演作品阐述

中国古代秘书擅权的发展和恶变

谷度酒庄消费者回访调查问卷表

高校网球场馆运营管理初探【1805字】