固定角度旋转的CORDIC(Coordinate Rotation Digital Computer)算法已经广泛的应用于高速数字信号处理、图像处理、机器人学等领域.针对固定角度旋转CORDIC算法在相位旋转过程中,存在数据吞吐率较高、占用硬件资源较多且资源消耗量大等缺点,提出了利用混合CORDIC算法,将角度旋转分为单向角度旋转和一次角度估计旋转两部分.本文根据欠阻尼理论,将固定角度旋转采用单向旋转CORDIC算法实现,减少了流水线的级数和迭代符号位的判决,然后通过对角度估计旋转的二进制表示,修正常数因子,再根据角度映射关系进行相关处理,完成高速高精度坐标旋转.最后在硬件平台上进行了仿真实验.实验结果表明,在误差范围一定的前提下,混合算法进一步的减少了迭代次数,并且资源消耗较低,提高了数据吞吐率.
Coordinate Rotation Digital Computer (CORDIC) algorithm for fixed angle of rotation has been widely applied in many fields, including digital signal processing, image processing and robotics.CORDIC algorithm, based on fixed angle of rotation, has an advantage of high data throughput, but it takes up much more hardware resources.To remedy these problems, a hybrid CORDIC algorithm is proposed in this paper, which separates the angle rotation into two steps, unidirectional angle rotations and angle estimation ones.According to the under-damping theory, the unidirectional phase rotations are employed to realize the fixed angle of rotation, which reduces the stage of pipeline and judgment of sign bit.Through the binary representation, the constant factor will be fixed.According to the phase mapping relationship, the high speed and precision fixed angle of rotation is completed.Finally the hybrid algorithm is implemented on a hardware platform and the experimental results show that it can further reduce the number of iterations and resource consumption and obtain high though-put rate.
张朝柱, 韩吉南, 燕慧智. 高速高精度固定角度旋转CORDIC算法的设计与实现[J]. 电子学报, 2016, 44(2): 485-490.
ZHANG Chao-zhu, HAN Ji-nan, YAN Hui-zhi. Design and Implementation of CORDIC Algorithm for High Speed and Precision Fixed Angle of Rotation. Chinese Journal of Electronics, 2016, 44(2): 485-490.
[1] Pramod Kumar Meher,SangYoon Park.CORDIC designs for fixed angle of rotation[J].IEEE transactions on very large scale integration(VLSI) systems,2013,21(2):217-227.
[2] Shen-Fu Hsiao,Yu-Hen Hu,Tso-Bing Juang.A memory-efficient and high-speed sine/cosine generator based on parallel CORDIC rotations[J].IEEE signal processing letters,2004,11(2):152-155.
[3] C-S Wu,A-Y Wu,C-H Lin.A high-performance/low-latency vector rotational CORDIC architecture based on extended elementary angle set and trellis-based searching schemes[J].IEEE Trans Circuits Syst II,Analog Digit.Signal Process,2003,50(9):589-601.
[4] T-B Juang,S-F Hsiao,M-Y Tsai.Para-CORDIC:Parallel cordic rotation algorithm[J].IEEE Trans Circuits Syst I,Reg Papers,2004,51(8):1515-1524.
[5] Zhang G,Chen,F Parallel FFT with CORDIC for ultra wide band[A].In Proc of 15th IEEE International Symposium on Personal,Indoor and Mobile Radio Communications[C].Barcelona:IEEE,2004.1173-1177.
[6] P K Meher,J K Satapathy,G Panda.Efficient systolic solution for a new prime factor discrete Hartley transform algorithm[J].IEE Proc Circuits,Devices Syst,1993,140(2):135-139.
[7] 张晓彤,辛茹,王沁,李涵.基于改进混合式CORDIC算法的直接数字频率合成器设计[J].电子学报,2008,36(6):1144-1148. Zhang Xiao-tong,et al.Design of direct digital frequency synthesizer based on improved hybrid CORDIC algorithm[J].Acta Electronica Sinica,2008,36(6):1144-1148.(in Chinese)
[8] T Lang,E Antelo.High-throughput CORDIC-based geometry operations for 3D computer graphics[J].IEEE Trans.Computer,2005,54(3):347-361.
[9] S Wang,E E Swartzlander,Jr.Critically damped CORDIC algorithm[A].The 37th Midwest Symp Circuits and Systems[C].Lafayette,LA:IEEE,1994.236-239.
[10] Kaushik B,Rakesh B.Architectural design and FPGA implementation of radix- 4 CORDIC processor[J].Microprocessors and Microsystems,2010,34(2-4):96-101.
[11] E Antelo,J Villalba,J D Bruguera,E L Zapata.High performance rotation architectures based on the radix-4 CORDIC algorithm[J].IEEE Trans Computers,1997,46(8):855-870.
[12] Wang S,Piuri V,et al.Hybrid CORDIC algorithms[J].IEEE Transaction on Computers,1997,46(11):1202-1207.
[13] Chaozhu Zhang,Jinan Han,Ke Li.Design and implementation of hybrid CORDIC algorithm based on phase rotation estimation for NCO[J/OL].The Scientific World Journal,http://www.hindawi.com/journals/tswj/2014/897381,2014-7-7.
[14] J Volder.The CORDIC trigonometric computing technique[J].IRE Trans on Electronic Computers,1959,8:330-334.
[15] J Walther.A unified algorithm for elementary functions[A].Joint Computer Conference[C].Atlantic:Spring,1971.379-385.