[发明专利]基于CORDIC算法的三角函数计算装置及方法有效
申请号: | 202110398378.1 | 申请日: | 2021-04-09 |
公开(公告)号: | CN113138749B | 公开(公告)日: | 2023-09-26 |
发明(设计)人: | 郑添;蔡刚;黄志洪 | 申请(专利权)人: | 中科亿海微电子科技(苏州)有限公司 |
主分类号: | G06F7/548 | 分类号: | G06F7/548 |
代理公司: | 北京市中闻律师事务所 11388 | 代理人: | 冯梦洪 |
地址: | 215000 江苏省苏州市苏州工业园区金*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 cordic 算法 三角函数 计算 装置 方法 | ||
公开了基于CORDIC算法的三角函数计算装置及方法。装置包括:特殊角度判别模块,配置来判断输入角度是否为0、±π/6、±π/4、±π/3、±π/2、±2π/3、±3π/4、±5π/6、±π,如果是则不进行迭代,输出存储在存储模块中的三角函数值;象限映射模块,配置来对输入的角度值进行判断,并将其转换到[‑π/2,π/2];单步迭代模块,包含N/2级流水线,配置来在迭代控制模块的控制下进行初始的迭代运算;双步迭代模块,配置来在单步迭代模块之后,包含N/4级流水线,在迭代控制模块下进行双步迭代运算;迭代控制模块,配置来判断单步迭代模块和双步迭代模块是否完成迭代,并控制完成全部迭代;存储模块,配置来存储特殊角度判别模块中的特殊角度三角函数值和迭代运算过程中所需要的常数。
技术领域
本发明涉及集成电路的技术领域,尤其涉及一种基于CORDIC算法的三角函数计算装置,还涉及一种基于CORDIC算法的三角函数计算方法。
背景技术
CORDIC(Coordinate Rotation Digital Computer)算法即坐标旋转数字计算方法,由Jack E.Volder等人于1959年提出。该算法的基本思想是通过一系列固定的、与运算基数有关的角度的不断偏摆以逼近所需的旋转角度。CORDIC算法有两种模式:旋转模式、向量模式。这两种模式可以应用于圆周坐标系、线性坐标系、双曲坐标系。通过模式和坐标系的选择,则可以用于三角函数、反三角函数、双曲函数、反双曲函数、平方根等运算。该算法通过迭代的方式,将原来的乘法操作转化为加法、减法、移位器操作,可以有效减少计算资源的消耗。CORDIC算法有两种迭代结构:并行迭代、串行迭代。并行迭代是通过增加流水线的模式,减少了运算的延时。串行迭代则只有一个迭代模块,通过反馈的形式减少了面积的损耗。
三角函数作为一种常见的初等函数,被广泛应用于各个领域,如滤波技术、航海测绘、图像处理等。在实际工程应用中,常常需要对三角函数进行硬件实现,但具有一定的难度。目前,三角函数的求值方法主要有四种:查表法、多项式逼近法、泰勒展开式法、CORDIC算法。其中,查表法占用的存储资源大,而多项式逼近法与泰勒展开式法,会消耗大量的乘法器,效率低、速度慢。采用CORDIC算法计算三角函数,使用的是圆周旋转模式,具有一定的优点:占用少量查找表,利用加法、移位迭代避免使用乘法器造成资源浪费。但是,三角函数运算误差与迭代次数有直接关系。当迭代次数较少时,计算精度会大大下降,而迭代次数增加时,运算速度会下降,并且需要更多的硬件资源。传统的CORDIC算法采用单步迭代的方式,N位输入则需要N次迭代来保证精度。采用串行迭代方式来实现CORDIC算法,需要的延时大。而并行方式实现CORDIC算法,面积消耗大。而且CORDIC算法一般用于浮点型运算,相比于定点型运算,资源消耗更大。
针对上述CORDIC存在的问题,目前采用CORDIC计算三角函数的硬件电路的优化方式有:
1.采用无缩放因子双步迭代的CORDIC算法,减少迭代次数,降低缩放因子补偿操作所带来的计算精度下降代价。
2.采用串并结合的结构,在面积与性能之间做权衡。
3.将浮点型的输入角度转化为定点型的输入角度,用定点加法器代替浮点加法器。
但这些方法存在收敛范围太小,损失的精度大,电路延时不能有效减小等问题。而对于一些特殊角度,已知其正余弦值,经过迭代后其输出结果反而不准确。因此,如何在增加计算精度、保证运算速度的前提下,降低硬件开销进行三角函数的运算,是目前亟需解决的问题。
发明内容
为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种基于CORDIC算法的三角函数计算装置,其结构简单,资源消耗少,提高了计算结果的精度,同时减少了迭代次数,提高运算速度,避免了不必要的角度旋转,对电路结构和输入角度格式进行设置。
本发明的技术方案是:这种基于CORDIC算法的三角函数计算装置,其包括:特殊角度判别模块、象限映射模块、单步迭代模块、双步迭代模块、迭代控制模块和存储模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科亿海微电子科技(苏州)有限公司,未经中科亿海微电子科技(苏州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110398378.1/2.html,转载请声明来源钻瓜专利网。