[发明专利]一种基于CORDIC算法实现反正切计算的方法在审
申请号: | 202210521919.X | 申请日: | 2022-05-13 |
公开(公告)号: | CN114816333A | 公开(公告)日: | 2022-07-29 |
发明(设计)人: | 刘贵鹏;邓文;杨建红;李凯辰;张智帅;严君杰 | 申请(专利权)人: | 兰州大学 |
主分类号: | G06F7/548 | 分类号: | G06F7/548;G06F17/16 |
代理公司: | 兰州振华专利代理有限责任公司 62102 | 代理人: | 张晋 |
地址: | 730000 甘肃*** | 国省代码: | 甘肃;62 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 cordic 算法 实现 正切 计算 方法 | ||
本申请涉及一种基于CORDIC算法实现反正切计算的方法,所述方法首先将输入的(x,y)依次经过象限预处理模块和绝对值预处理模块进行处理,然后再经过CORDIC算法模块进行迭代计算以实现反正切计算;所述象限预处理模块首先对输入的(x,y)进行判断,看是否需要对其进行转换,确保完成该步骤后的输入值位于第一象限内;所述绝对值预处理模块首先使上述经过象限预处理模块的(x,y)分别对应出二进制数,确保x和y的绝对值同时满足小于等于其最大绝对值,且大于其最大绝对值的一半。本发明所述方法能够显著提高FPGA实现反正切计算的范围与精度,且操作简单,易于移植。
技术领域
本申请涉及反正切计算领域,特别涉及一种基于CORDIC算法实现反正切计算的方法。
背景技术
三角函数及反三角函数运算求解的应用领域非常广泛,包括机器人运动学求解领域、图像处理领域、导航数字处理领域和计算器领域等。传统的反三角函数求解方法有ROM查找表法、多项式近似法和迭代法等,但均存在速度低,ROM硬件资源少,精度低以及不方便实现等缺点。现有技术中,CORDIC算法理论基本解决了上述这些问题,该算法兼容速度快、精度高、硬件资源方便实现的优点,得到了广泛的应用和推广。但采用CORDIC算法进行反正切计算在角度测量范围、测量精度等方面存在缺点。
发明内容
针对现有技术的不足,本申请提出一种基于CORDIC算法实现反正切计算的方法。
本申请的一种基于CORDIC算法实现反正切计算的方法,所述方法首先将输入的(x,y)依次经过象限预处理模块和绝对值预处理模块进行处理,然后再经过CORDIC算法模块进行迭代计算以实现反正切计算;
所述象限预处理模块首先对输入的(x,y)进行判断,看是否需要对其进行转换,确保完成该步骤后的输入值位于第一象限内;所述象限预处理模块能够使得反正切计算的范围增大。
所述绝对值预处理模块首先使上述经过象限预处理模块的(x,y)分别对应出二进制数,根据其二进制位数判断x和y的绝对值是否同时满足小于等于其最大绝对值,且大于其最大绝对值的一半;若不满足上述条件,则同时将x和y放大一倍,继续判断,只至满足上述条件。绝对值预处理模块可以大大提高反正计算的精度。
进一步,本申请所述方法输入的(x,y)中的x和y均用有符号数来表示。这样便可依据x和y的最高位轻松判断(x,y)所在的象限,并方便象限预处理模块进行处理。
进一步,本申请所述方法中绝对值预处理模块的具体处理过程为:
1)设所述x和y对应的二进制位数分别为m和n,则x和y的绝对值最大分别为2(m-1)和2(n-1);
2)判断x的绝对值是否大于2(m-2)且小于等于2(m-1),同时y的绝对值是否大于2(n-2),且小于等于2(n-1);
3)若满足步骤2),则x,y保持不变;若不满足步骤2),则转入下述步骤4);
4)将x和y同时放大一倍,并得到放大后x和y的绝对值;
5)重复步骤2)、3)、4),直至满足步骤2)。
进一步,本申请所述方法中x和y对应的二进制位数均为16位,需判断x和y的绝对值是否均大于16384且小于等于32768;若满足上述条件,则x和y保持不变;若不满足则将x和y同时放大一倍,并继续将其绝对值与16384和32768比较,如果依旧不满足大于16384且小于等于32768,则继续放大,直至x和y的绝对值均大于16384且小于等于32768。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于兰州大学,未经兰州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210521919.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:短路保护电路及显示装置
- 下一篇:参比电极的处理方法和三电极锂离子电池