3.3.4 相移控制模块 15
3.3.5 CORDIC模块 16
3.3.6 测频电路模块 19
3.3.7 测频显示模块 22
3.3.8 开关模块 23
结 论 24
致 谢 25
参考文献 26
附录 27
1 引言(或绪论)
按照传统方法设计的直接数字频率合成DDS( Direct Dig-ital Synthesis, 简称DDS)主要采用查表法(LUT)结构, 可以实现高精度和低杂散的特性, 但缺点是随着存储波形数据以及查表地址位数的增加将耗费大量的存储器资源。如果用CORDIC算法代替正交波形存储表的话, 则能有效节省存储器资源,而且以较小的逻辑资源为代价很容易地实现了数据位数扩展,可满足高精度设计要求。其结构主要采用迭代、移位、加减等运算,实现正交正、余弦数字信号的存储, 随着数字电路技术和微电子技术的迅速发展,可编程逻辑电路特别是FPGA技术取得了巨大的进步, 数字电路的可编程性、高速度和高集成度得以实现。本文中利用高性能的FPGA芯片实现CORDIC算法结构的QDDS波形信号发生器设计,使用Quartus II 专用FPGA设计软件使电路具有可编程性和高性能的特点。论文网
1.1 CORDIC算法
1959年,Volder开发了一类计算三角函数、双曲函数以及指数和对数运算的算法:CORDIC算法。使得定向运算和矢量的旋转不需要乘作开方反三角函数和三角函数表等复杂的运算。这个算法和一般的无存储式算术除法相似,是一种逐位式计算方法。这种逐位式算法早在十八世纪Briggs用十进制制对数表的时候就已经被应用。Volder所提出的CORDIC算法的基本思想是用一系列与运算基数相关的固定的角度不断偏摆从而逼近所需旋转的角度。从广义上来说它是提供一个数值性计算的逼近方法。因为这些固定的角度与计算基数有关,所以运算只有移位和加减。
Volder提出的CORDIC算法虽然能够实现很多基本函数,但是一开始并没有引起人们太多的关注,只是Caggett用它来实现十进制和二进制的转换。整个六十年代CORDIC算法的应用没有什么进展,直到1971年Walther通过引进一个坐标系统参数m,把双曲旋转、圆周旋转和直线旋转统一到同一个CORDIC迭代方程里提出统一的CORDIC算法,加上VLSI技术的不断发展,CORDIC算法才越来越受到人们的重视,并展示出广泛的应用前景。统一的CORDIC算法为同一硬件实现多功能提供了前提。
CORDIC算法有很多实现方法.根据实际应用中速度和面积不同,有最小硬件方案和最高性能方案.基中迭代法是对CORDIC 迭代方程的直接变换,它有两种基本方法:位并联型和位级联型.位并联型的输出在每n个时钟出现一次.这里n为迭代数,二为x、y通道的字长.另外,还有CORDIC算法的流水线结构,该结构有两个主要特点.第一,它的移位寄存器进行迭代法比可变移位寄存器简单得多.第二,它没有在角计算中存贮常量的ROM,可以用硬件来直接实现。
1.2 CORDIC算法的基本原理
CORDIC算法主要用于计算双曲函数,三角函数等基本函数的运算,算法的基本原理如图:
图1.2.1 CORDIC算法的基本原理图
初始向量 旋转角 后得到向量 文献综述