CORDIC迭代算法研究
2016-06-14杨治国付俊
电脑知识与技术 2016年12期
杨治国+付俊


摘要:在实际的工程应用中,经常需要计算角度的三角函数运算,比如计算流水线型快速傅里叶变换处理器蝶形运算中的旋转因子,采用CORDIC迭代加法器,性能与直接采用乘法器相比性能损失很小,但可以大大节约数字面积。CORDIC的定点化运算中,迭代次数是算法的重要指标之一,其关系到算法的复杂度及计算误差。算法迭代次数与要求的数据精度相关,该文将实现CORDIC算法的旋转模式,利用迭代不同次数得到的值与精确值的误差进行比较来确定CORDIC算法需要进行的迭代次数。这样在节约计算量的同时,保证计算精度不受较大影响,从而在节约计算量的前提下保证CORDIC算法的性能。
关键词:CORDIC;定点化算法;旋转模式;向量模式
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)12-0090-02
1 CORDIC迭代算法简介
CORDIC[1][2]主要应用于直角坐标与极坐标的数值相互转换,其在特征值,快速傅里叶运算[3]的定点运算[4,5]有重要意义。CORDIC迭代算法的基本原理如图1所示:
4 结束语
从算法流程可知,快速傅里叶蝶形算法中旋转因子计算中,ROM不直接存储旋转因子的值,而是存储少量的单位旋转角度值 ,再通过CORDIC流水线循环迭代,得到所需的旋转角度值[θ];无需复数乘法器,每步运算可分解为简单的移位、相加来完成;为了保证CORDIC计算精度,需要考虑旋转因子位宽与迭代次数关系,如果迭代次数多大,影响CORDIC运算的复杂度,次数不足,则影响CORDIC运算的精度。本文仿真验证了迭代次数与位宽的关系。当然后续也可以利用门限阀值对迭代性能做进一步研究。……
登录APP查看全文
