【摘要】函数的FPGA实现通常都是基于查表的方法,为了达到高精度要求,常常需要耗费大量的ROM资源去建立庞大的查找表。文中探讨了的CORDIC算法与其基本原理,可有效地节省FPGA的硬件资源,提高运算速度。
【关键词】CORDIC算法;基本原理;FPGA
1.引言
当今许多快速信号处理算法都基于其规则的几何框架,这些框架不仅具有模块化从而便于实现的优点,更重要的是它们能进行并行流水操作从而实现高速信号处理。尤其是在实时信号处理方面,成功的快速算法实现常依赖于其有效的运算框架结构,在这些框架结构(或称宏单元模块)中,人们经常遇到诸如矢量旋转、矢量求模、三角函数运算、指数运算及乘除等基本函数运算。这些运算一般都要通过传统查表计算,其精度受存储在正弦表(sine table)中的函数值制约。为了得到更精确的值,必然要求增加sine table ROM的容量。大的存储器容量则意味着较大的功耗,较低的可靠性,较慢的速度及较大的成本。CORDIC(Coordinate Rotation Digital Computer)算法可避免这些问题。CORDIC算法不需要查表,即不需要大量的sine table ROM,类似于一般的存储式算术除法,是一个逐位式计算方法。运算简单,只有移位和加减。便于实现各种运算,因此具有很强的吸引力。
2.CORDIC算法基本原理
如***1所示,一对直角坐标轴顺时针旋转角度A(点M相对于坐标轴逆时针旋转),点M的坐标从(X(0),Y(0))变为(X,Y)。
3.结论
CORDIC算法已被广泛用作现代信号处理各种算法实现中的运算单元,诸如离散傅里叶变换、矩阵的QR分解、矩阵特征值的求解、Cholesky分解、线性预测参数的求解等。应用CORDIC算法实现了正余弦产生电路,改变了传统上利用查表方法实现所带来的复杂、占用大量资源等弊端,使得系统在实现上更加灵活,更加精确,为以后正余弦的设计提供了另一种参考。
参考文献
[1]江峰.CORDIC处理模块在数据处理中应用[J].电子测量技术,2002(3):15-16.
[2]郑瑾,葛林东.基于流水线CORDIC算法的数字下变频实现[J].现代雷达,2006(10):62-64.
[3]谈宜育,卞文兵,李元.一种基于CORDIC算法的坐标变换电路[J].数据采集与处理,2001(2):257-260.
[4]王智霞,王广生.CORDIC算法在FPGA中的实现[J].微处理机,2007(1):5-7.
转载请注明出处学文网 » CORDIC算法基本原理研究