CORDIC算法的FPGA与DSP实现的优劣分析
2012-06-28栾铸徵
舰船电子对抗 2012年5期
关键词:效率
王 琦,栾铸徵
(船舶重工集团公司723所,扬州225001)
0 引 言
在雷达信息处理中,需要进行球面坐标与直角坐标的转换,目前大多是通过软件方式来实现的[1],但随着雷达数据率的不断提升,用软件的方法越来越不能满足处理的实时性要求了,所以有必要用硬件来实时计算。
CORDIC算法可以将多种难以用硬件电路直接实现的复杂运算分解为统一、简单的移位、加迭代运算,而且结构规则,运算周期可以预测,适合于超大规模集成电路(VLSI)实现。由于CORDIC采用迭代的思想,且可以不需要乘法运算,所以特别适用于硬件实现(FPGA或专用集成电路(ASIC))。另一方面,随着DSP(数字信号处理器)芯片中乘法指令的快速实现(一条乘法指令可以在2个周期内完成对多个数据的乘法操作),以及体系上并行度的提高,使得在DSP芯片上实现CORDIC算法也成为一个可行的方案。
本文首先介绍CORDIC算法原理,然后分析了算法中旋转迭代次数、操作数位宽与精度的关系,最后分别在ALTERA公司的FPGA芯片(Stratix2系列的EP2S90)和TI公司的DSP芯片(TMS320C6455)上实现旋转模式下的CORDIC算法,并将两者的精度、时间效率、空间效率进行比较分析。
1 CORDIC算法原理与精度分析
1.1 CORDIC算法原理
1971年,Walther提出了统一的CORDIC算法[2],引入了参数m,将CORDIC实现的3种迭代模式:三角运算、双曲运算和线性运算统一于一个表达式下,形成目前所用到的CORDIC算法最基本的数学基础。该算法的基本思想是通过一系列固定的、与运算基数相关的角度不断偏摆,以逼近所需的旋转角度,可由下列等式描述:

式中:X(n)、Y(n)和Z(n)为所期望得到的函数。……
登录APP查看全文
