基于CORDIC算法的直角坐标与球面坐标变换电路的FPGA实现
2011-04-26陈彦来
舰船电子对抗 2011年1期
陈彦来
(船舶重工集团公司723所,扬州 225001)
0 引 言
在雷达数据处理信号模拟器中,目标的初始位置、速度、加速度等信息通常是以球面坐标形式给出的,而目标位置的外推需要在直角坐标系中进行,因此需要将目标初始位置、速度、加速度等信息从球面坐标系变换到直角坐标系,也就是将初始位置、速度、加速度矢量在直角坐标系中进行分解,得到其在X轴、Y轴、Z轴上的坐标,然后按照经典运动学公式进行外推;在得到目标下一时刻X、Y、Z坐标后,通常还要将其转换成相应的距离、方位角、俯仰角信息,也就是进行直角坐标系到球面坐标系的变换。现场可编程门阵列(FPGA)以其高速性和灵活性在现今的雷达数据处理领域已经得到了广泛的应用,但如果处理算法中需要计算超越函数,例如 sinθ,cosθ,arcsinx,arccosx,xn等,通常采用查表法和泰勒级数展开法。使用有限的FPGA面积设计高精度的数据表格,特别是在需要多张数据表格的情况下,其设计有一定难度。泰勒级数展开法可以将复杂的函数分解为一系列的乘方和加减法运算,解决计算精度的问题,但乘方运算需要消耗过多的FPGA硬件资源;另外还有些超越函数的泰勒级数展开式本身就不存在(例如反三角函数等),因此泰勒级数展开法在坐标转换电路中也存在一定的局限性。有碍于FPGA器件面积消耗和计算精度、速度之间的矛盾,直角坐标与球面坐标变换电路不得不考虑其他实现方法。CORDIC算法能够方便地计算正余弦、反正余弦、乘方、开方等运算,并且在实现过程中仅用到加法器和移位器,与FPGA的特点完全吻合,能够完成直角坐标与球面坐标变换电路设计。……
登录APP查看全文
