2.1 DDS原理
对于正弦信号发生器,输出可用下式来表示:
(2-1)
其中, 是指该信号发生器的输出信号, 是输出信号的频率。上式在时间t上是连续的,必须进行离散处理才能用数字逻辑实现上述表达式,采用基准时钟clk进行抽样,并设正弦信号的相位 为
(2-2)
在clk周期 内,相位 的变化为
(2-3)
其中, 为时钟clk 的频率,对 进行数字化,把 分成 份,这样每个clk时钟周期的相位变化量 可以用量化值 表示: , 为整数。经式(2-3)可得
(2-4)
那么,信号发生器的输出可表示为
当中 为前一个时钟周期clk的相位值,同样可得
(2-6)
通过以上推导可知,只需对相位的量化值进行简单的累加运算,即可得到正弦信号当前的相位值,而信号的输出频率 取决于累加的相位增量量化值 ,并且有简单的线性关系。
由上面的推导可以看出,通过改变 的输入就可以控制输出频率 的变化,很容易得到输出频率的计算公式:
(2-7)
为频率输入字,即频率控制字, 是系统基准时钟的频率值,N是相位累加器的数据宽度,即频率控制字的数据宽度。
由式(2-7)可得DDS的频率分辨率 为 那么只要N够大就可以得到很高的频率分辨率。
直接数字合成器DDS就是根据上述原理设计而成的数控频率合成器。
2.2 DDS基本结构
一个基本的DDS结构,主要由相位累加器、正弦ROM查找表、DAC、和低通滤波器构成。图2-1所示为一个基本的DDS结构。
图 2-1 基本DDS结构
相位累加器是整个DDS结构的核心部分,在其中完成了上文DDS原理的相位累加功能。相位累加器的输入是 ,相位累加器的输入又称为频率字输入。
正弦波形数据存储ROM完成了 的查表变换,可以看成是相位到幅度的转换,输出为ROM存储的地址值,输出至DAC后转换成模拟信号。一般来说DDS结构中的N都比较大,要比ROM的地址位宽M要大,输入时一般会舍去过多的位数,那么在这个过程就会引起相位截断误差的产生。
数模转换器DAC的作用是将波形存储器的数字输出转换成模拟电平输出。将数字信号转换成为模拟信号,实际输出波形是阶梯波形信号,必须经过低通滤波器滤除波形中的镜像才能得到平滑的输出信号。
低通滤波器是对DAC输出的模拟阶梯信号进行平滑处理,将其中的高频分量滤除,输出平滑的波形。
DDS的各点输出信号波形如图2-2所示。
图2-2 DDS各点输出信号波形
3基于FPGA的DDS模块设计
3.1现场可编程门阵列(FPGA)简介
现场可编程门阵列(FPGA)为Field Programmable Gate Array 的缩写,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。FPGA是一类高集成度的可编程逻辑器件,1985年美国的Xilinx公司推出了世界上第一块FPGA芯片。在之后的二十年里,FPGA的软件开发工具和硬件体系结构不断地在完善,日趋成熟。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 基于FPGA的信号发生器设计(3):http://www.751com.cn/tongxin/lunwen_7039.html