3.1 DDS基本原理
DDS的基本思路就是将要输出的波形数据取样、量化、编码,形成一个函数表,逐点存储在ROM里,然后在系统标准时钟下,按照一定的顺序从ROM里读出数据,再进行D/A变换和滤波后,得到一定频率的输出波形。其原理图如图3所示:
图3 DDS原理图
DDS合成信号波的过程如下:首先将正弦波的波形数据存入波形存储器ROM中,并给波形存储器和寄存器同一基准时钟fc,在此同一时钟的控制下频率寄存器输出的频率码K同相位控制器输出的数相加后形成一N位有效地址来查询波形存储器ROM中的值,并在时钟fc的控制下将对应的波形数据输出。当累加器经过k次循环相加后又回到初始值k,则波形存储器就会输出对应的一个正弦波周期内的波形数据,这样通过ROM可将相位值转换为与之对应的D位幅度码S (n),然后经D/A转换器变成阶梯波S (t),再经过低通滤波器平滑后,就可以得到合成的信号波形Y (t)。合成的信号波形形状取决于波形存储器ROM中存储的幅度码,而且相位控制字可控制输出波形的相位在0o~359o的范围内加减。因此,理论上将DDS可以产生任意波形[3]。
DDS技术是一种从相位概念出发把一系列数字形式的信号通过DAC 转换成模拟形式的信号的合成技术。DDS 系统中的参考时钟通常是一个高稳定性的晶体振荡器,用来作为系统时钟同步整个系统的各组成部分,这里使用的是FPGA开发板上的20MHz的晶振。