《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 一种基于CORDIC算法的高精度反正切求解
一种基于CORDIC算法的高精度反正切求解
2022年电子技术应用第1期
仲雅莉1,吴俊辉2,刘 炫2,高 萍1,3,段晓辉1,4
1.国家超级计算无锡中心,江苏 无锡214072;2;江南大学,江苏 无锡214122; 3.山东大学,山东 济南250100;4.清华大学,北京100084
摘要: 传统的CORDIC(坐标旋转计算机)算法进行高精度反正切求解时存在迭代次数多、收敛速度慢、资源消耗大等问题,提出一种改进的高精度CORDIC 算法。该方法利用传统的CORDIC算法迭代数次后得到正弦信息,并利用角度和正弦值近似的原理,对迭代后的结果进行误差补偿,有效提高了相同迭代步数下的计算精度。实验数据表明:32位改进的CORDIC算法,保证绝对误差小于5×10-9情况下,查找表资源消耗降低了64.8%,触发器资源消耗降低了35.3%,输出时延降低了53.3%。在分子动力学应用场景下,触发器资源消耗可降低63.2%,输出时延可降低60%。改进的CORDIC算法在资源消耗、输出时延方面优于传统CORDIC算法,适用于高精度计算的场景。
中图分类号: TP391
文献标识码: A
DOI:10.16157/j.issn.0258-7998.212393
中文引用格式: 仲雅莉,吴俊辉,刘炫,等. 一种基于CORDIC算法的高精度反正切求解[J].电子技术应用,2022,48(1):12-17.
英文引用格式: Zhong Yali,Wu Junhui,Liu Xuan,et al. A high precision arctangent solution based on CORDIC algorithm[J]. Application of Electronic Technique,2022,48(1):12-17.
A high precision arctangent solution based on CORDIC algorithm
Zhong Yali1,Wu Junhui2,Liu Xuan2,Gao Ping1,3,Duan Xiaohui1,4
1.National Supercomputing Center in Wuxi,Wuxi 214072,China;2.Jiangnan University,Wuxi 214122,China; 3.Shandong University,Jinan 250100,China;4.Tsinghua University,Beijing 100084,China
Abstract: The traditional CORDIC(Coordinate Rotation Computer) algorithm has many iterations, slow convergence speed, and large resource consumption for high-precision arctangent. An improved high-precision CORDIC algorithm is proposed. This method uses the traditional CORDIC algorithm to obtain the sine information after several iterations, and uses the sine value to compensate the error of iteration results,which effectively improves the calculation accuracy. Experimental data shows that the 32 bit improved CORDIC algorithm ensures that the absolute error is less than 5×10-9, the resource consumption of the lookup table is reduced by 64.8%, the resource consumption of the flip-flop is reduced by 35.3%, and the output delay is reduced by 53.3%. In molecular dynamics application scenarios, flip-flop resource consumption can be reduced by 63.2%, and output delay can be reduced by 60%. The improved CORDIC algorithm is superior to the traditional CORDIC algorithm in terms of resource consumption and output delay, and is suitable for high-precision computing applications.
Key words : CORDIC arctangent solution;iterative convergence;error compensation

0 引言

    坐标旋转计算机(Coordinated Rotation Digital Computer,CORDIC)算法只有移位和加减运算,便于在FPGA等硬件平台上实现复杂的三角函数、双曲函数、指数函数和复数求模等计算,广泛应用于数字鉴相、数字上下变频、波形产生、快速傅里叶变换等方面[1-4]

    针对CORDIC算法中由于迭代次数多、输出延时大和精度较低等问题,国内外很多学者进行了研究和改进。文献[5]提出了基于自适应旋转角度的CORDIC算法,该算法虽然减少了迭代次数,但每次迭代都需要额外判断,增加了实现难度。文献[6]提出了将查找表和传统CORDIC算法相融合,通过查找表将角度值细化,通过数学量化分析,根据细化后的较小角度补码,直接按位值进行角度单向旋转,该算法随着对精度要求的提高,查找表存储空间大大增加,硬件资源消耗巨大。文献[7]提出了一种基于最佳一致逼近方法的幅度与相位补偿算法,第一步是利用传统的CORDIC算法迭代数次后得到向量信息,第二步是采用最佳逼近法进行多项式补偿,该算法虽然提高了精度,但逼近算法需要存储多项式系数,硬件资源消耗较大。文献[8]提出来一种基于CORDIC算法的反正切函数计算的改进算法,该算法对累加器中因截尾而产生的误差做了算法改进,仅增加了运算速度,精度并未明显提高。文献[9]提出了一种基于查找表的改进的CORDIC算法,该方法通过缩减有效数据位宽、合并迭代等手段节省了剩余角度Z的计算量,该算法把迭代次数进行拆分,用了14次迭代和查找表的结合,硬件资源消耗较多,性能提升却不足。




本文详细内容请下载:http://www.chinaaet.com/resource/share/2000003902




作者信息:

仲雅莉1,吴俊辉2,刘  炫2,高  萍1,3,段晓辉1,4

(1.国家超级计算无锡中心,江苏 无锡214072;2;江南大学,江苏 无锡214122;

3.山东大学,山东 济南250100;4.清华大学,北京100084)




wd.jpg

此内容为AET网站原创,未经授权禁止转载。