[发明专利]一种基于区间划分和CORDIC的三角函数计算方法及装置在审
申请号: | 201811623843.1 | 申请日: | 2018-12-28 |
公开(公告)号: | CN109814836A | 公开(公告)日: | 2019-05-28 |
发明(设计)人: | 刘庆;刘宇;腾友伟;朱卫国;逄锦昊;吴恒奎 | 申请(专利权)人: | 中电科仪器仪表有限公司 |
主分类号: | G06F7/548 | 分类号: | G06F7/548 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 黄海丽 |
地址: | 266555 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 映射 三角函数 角度区间 计算方法及装置 周期区间 求解 迭代 迭代计算 计算效率 计算资源 算法执行 查找表 减小 存储 修正 节约 | ||
本发明公开了一种基于区间划分和CORDIC的三角函数计算方法及装置,所述方法包括将周期区间(0,2π)进行八等分;将区间(0,π/4)进行2k等分,并获得每个角度区间的初始角度;计算每个区间起始角度的三角函数值,并进行存储;接收待求解角度,将所述角度映射到周期区间(0,2π),得到第一映射角度;将所述第一映射角度映射到区间(0,π/4),得到第二映射角度;判断所述第二映射角度在区间(0,π/4)中所属的角度区间;根据所述角度区间的起始角度,从第k次迭代开始,基于CODIC算法执行三角函数计算;基于计算结果,修正得到所述待求解角度的三角函数值。本发明结合了查找表法和CORDIC迭代计算方法,能够在减小迭代次数的同时,提高了计算效率,节约计算资源。
技术领域
本公开属于数字信号处理技术领域,尤其涉及一种基于区间划分和CORDIC的三角函数计算方法及装置。
背景技术
传统任意波形发生器采用直接频率合成技术(DDS)生成所需频率的数字信号,DDS模块中产生数字波形的方法有两种,一种是采用查找表的方法产生不同相位对应的幅度,一种是根据当前相位直接计算该相位的幅度。采用查找表的方法需要提前将大量波形数据进行存储,当需要某一相位的数据时,对存储的波形进行寻址查找对应幅度,该方法需要的内存空间很大,而大容量的ROM存在高功耗、高成本、低可靠性的弊端,且由于累加器的舍位误差带来较大的相位杂散。而采用实时计算某相位对应的幅度,可避免查找表方法带来的弊端,其中CORDIC算法为其常用计算方法。
CORDIC算法最早是由J.Volder提出的,基本算法是通过不断的坐标变换或角度旋转使所计算的角度不断接近待求解的角度,其优点在于,该算法只需要简单的移位、加、减操作即可实现三角函数等高阶函数的计算,且该算法易于采用流水线结构执行。随后该算法得到更加广泛的应用,包括QR分解、FFT变换、DCT/IDCT变换、平面坐标和极坐标的转换、DDS等。自CORDIC算法应用于DDS技术中,数字波形生成技术摆脱了以往需要过大的ROM空间以及寻址过程的舍位误差引起的杂散等缺点,其流水线结构利用FPGA容易实现,相对于传统DDS节约了大量资源。采用CORDIC算法实时计算某一相位的幅度值,对每个寻址到的相位计算一次幅度,无需存储大量波形数据,也不需要对波形数据舍位截断,
但传统算法仍然存在不足,如角度覆盖范围受限、循环迭代次数过长、计算精度较低,导致计算效率下降,从而越来越无法满足速度和精度的双重要求。对于传统CORDIC算法,其角度计算范围在-98°到98°范围内,对其他角度范围的计算需要进行角度转换;计算速度取决于迭代次数,而迭代次数越多,结果就越精确,每次迭代过程均在前一迭代结束后,利用上一次的结果进行本次迭代,因此迭代次数在一定程度上限制了计算速度。因此自该算法提出以来,很多对该方法的改进方案也相继出现。
首先其算法结构从循环迭代结构改进到流水线迭代结构,使得每次迭代过程分别执行,不再进行循环控制,各级迭代可在一个周期同时工作,系统工作效率得到提高。其次,由于对精度的要求越高,需要的迭代次数必然增加,硬件的实现结构也越复杂,从而使整个迭代过程的速度降低,解决这一问题,人们从算法本身出发进行分析、改进。2005年Maharatna基于正弦级数第一近似定理提出了无缩放增益的SF CORDIC算法,该算法每一步循环迭代是由初始旋转角度对应位二进制补码控制,而不再是由角度数据路径的符号位进行控制,使得不同循环迭代之间无数据依赖,SF CORDIC算法虽然消除了缩放补偿逻辑和角度数据路径,但是仍存在循环迭代次数过多以及计算精度低等不足。自适应编码ARC算法在SF CORDIC算法基础上采用自适应编码方法缩短了迭代次数。ARC算法降低了硬件结构的复杂度,但是流水站级数并没有得到改进。为了进一步降低ARC算法流水线级数,出现了改进自适应编码EARC算法。不同改进算法目的均是在硬件结构或迭代方式进行优化以提高计算速度和精度,从数学证明可知CORDIC算法从第(N-log23)/3+1次以后的每次迭代方向可以提前预测,因此,之后的运算不需迭代,而只需要进行移位加减等操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电科仪器仪表有限公司,未经中电科仪器仪表有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811623843.1/2.html,转载请声明来源钻瓜专利网。