3。3 本章小结 19
4 CORDIC算法的FPGA实现 20
4。1 QuartusII软件介绍 20
4。2 仿真过程 20
4。3 结果整理与分析 21
4。4 本章小结 22
5 总结与展望 23
5。1 论文总结 23
5。2 研究课题展望 23
致谢 25
参 考 文 献 26
附录A(cordic算法实现的源代码) 28
1 绪论
1。1 CORDIC 算法的研究背景及发展历史
CORDIC(Coordinate Rotational Digital Computer-坐标旋转数字计算机)算法,其基本原理是:经由坐标轴旋转得到一个二维的函数关系式,然后对初始角度值做线性逼近,把初始角度的旋转换算成一系列基本角度并逐次旋转完成,然后使用递推原理,得到一组递推公式,把每次递推得出的角度加上去,换算成一组三维的函数关系式,再进一步推导,从而可以实现一些基本的函数运算,像简单的加减乘除、三角函数、双曲线三角函数,还有相对复杂的平方根、指数、对数等函数,其使用的模型有圆周模型、线性模型和双曲线模型。随着VLSI 的产生和飞快发展,CORDIC 算法也开始被重视,并在许多领域得到了应用。算法最开始是描述二维的旋转,但在数字信号处理(如:傅里叶变换、数字滤波器)、硬件电路实现、自动化等领域也有广泛应用。
CORDIC算法最开始是坐标旋转,类似于极坐标的概念,倘若对平面内的矢量旋转θ角度,则需要将这个角度进行分解,采用一组最先给定的基本角逐个旋转,直至逼近为止,而旋转的次数决定了角度的偏转的大小。而每次角度的偏转与旋转的次数相关,因此,算法里面将基本角的大小设置为2的幂次方,幂指数代表了旋转的次数,这样以来,移位和相加便可用硬件编程语言来实现。从而充分体现了硬件的优势所在,利用这些硬件资源,可以设计出一种硬件同算法相结合的改良方案,因CORDIC算法在功耗、速率、经济等方面的优良性能,使得其特别适合在超大规模集成电路中实现。
因高速高精度的三角函数发生器在数字信号处理中有着广泛的应用,一般来说,计算三角反三角函数或双曲线函数的有效方法有ROM查表法、(泰勒级数)多项式近似法和CORDIC算法。对比于其他两种,CORDIC算法省去了硬件乘法器,因为它的运算都是简单的移位相加,并通过迭代完成,从而优化了硬件使用方案,节约了资源。另外,为了提高运算速度,我们采取流水线结构的方法,这样既保证了精度、速度,又减少了资源的占用,从而达到高效的实现,这也是该算法的一个突出优势。
基于CORDIC 算法本身的众多优势,现在,在很多领域已经得到应用,而且日臻完善,像协处理器、HP-35计算器、天气预报、雷达信号和数字信号处理、嵌入式系统、移动通信和三维图像处理等;其中,数字信号处理的问题有傅里叶变换、正余弦变换、FIR滤波器、小波变换、 以及求解线性系统等等。
1。2 国内外研究动态和选题意义
1。3 论文结构安排
本文总共有五章,这里我们对各章的主要内容做一个简要的概括:
第一章绪论。我们对CORDIC算法其原理做了一个简单的介绍,并且讨论了其起源,发展历史和研究背景,以及硬件实现的产生。探讨了国内外近几年的发展状况以及应用现状,由于该算法在现代工程计算以及通信技术中得到广泛的应用,我们还讨论了本次设计的选题意义。