基于小容量查找表的CORDIC算法设计
2019-06-08姚亚峰徐洋洋侯强钟梁
姚亚峰 徐洋洋 侯强 钟梁



摘 要:为了对流水线结构的坐标旋转数字计算(Coordinate Rotation Digital Computer,CORDIC)的实现时延和硬件资源消耗进行优化,提出一种仅基于查找表的新的实现方法,完全免除了迭代运算.该方法只需要一个较低容量的ROM表,以及对ROM表输出结果进行简单的移位运算,即可得到高精度的正弦波或余弦波输出.分别在Matlab、Modelsim以及XILINX ISE进行了理论仿真及实际验证,结果表明:这种CORDIC实现方法只需要2个时钟周期的处理延时,硬件资源消耗与其他实现方法相比也有所降低,最大工作频率也有一定提高.
关键词:坐标旋转数字计算;流水线结构;查找表;可编程逻辑门阵列;数字信号处理
中图分类号:TN492;TN911.72 文献标志码:A
Implement of CORDIC Algorithm with a Small Capacity ROM Table
YAO Yafeng,XU Yangyang,HOU Qiang,ZHONG Liang
(School of Mechanical Engineering and Electronic Information,China University of Geosciences,Wuhan 430074,China)
Abstract: In order to optimize the implementation delay and hardware resource consumption of the Coordinate Rotation Digital Computer(CORDIC) in pipeline architecture,a new implementation method based on look-up table was proposed,which completely eliminated the iterative computation. This method requires only a lower capacity ROM table,as well as a simple shift operation on the output of the ROM table,so that sine wave or cosine wave output with high accuracy can be obtained. Theoretical simulation and practical verification were carried out in Matlab,Modelsim and XILINX ISE,and the results show that this method of CORDIC only requires two clock cycles of processing delay,and the hardware resource consumption is also reduced when compared with other methods. Additionally,the circuit output accuracy and maximum working frequency are also improved at a certain level.
Key words: coordinate rotation digital calculation(CORDIC); pipeline architecture; look-up table;
programmable logic gate array; digital signal processing
CORDIC(Coordinate Rotation Digital Computer)算法核心思想是通過迭代来不断逼近目标值,其精度可以通过迭代次数来控制,具有输出结果精度可调、硬件实现简单等特点[1],方便实现坐标变换、三角函数计算、矩阵运算等多种数字信号处理功能,在直接数字频率合成器DDS、数字控制振荡器NCO、快速傅里叶变换FFT等领域都得到广泛应用.
随着现代通信技术不断更新发展,通信系统对CORDIC算法实现要求也在不断提高[2-3].近年来,有关CORDIC算法的高效实现一直得到人们持续关注和研究.文献[4]提出的实现方法虽然有很高的相位分辨率,但是其最大工作频率受到限制并且功耗较大.文献[5]提出的表驱动缩小目标旋转角度的方法虽然迭代次数有所减少,但是其硬件资源消耗和最大输出时延仍然较大.文献[6-7]提出的固定……
