DDS(Direct Digital frequency Synthesis)即直接数字频率合成器,是一种新型的频率合成技术,具有较高的频率分辨率,快速的频率切换,稳定性好,可灵活产生多种信号的优点。因此,在现代电子系统及设备的频率源设计中,尤其在通信领域,直接数字频率合成器的应用越来越广泛。在数字化的调制解调模块中。DDS取代了VCO(模拟的压控振荡器),被大量应用。这种合成技术是一种利用数字技术来控制信号的相位增量的技术,它采用插值取样的方式,将要合成的正弦波波形用若干个采样点的取值来代替,然后依次等时间间隔输出这些取值,每个采样点的值由预先存储的数字值经D/A转换后得到。
DDS工作原理框图如图1所示。其基本结构包括:相位累加器PA、波形查询表ROM、数模转换器DAC及低通滤波器。
图1 DDS原理框图
DDS的工作过程为:在参考时钟fc的作用下,相位累加器对频率控制字FCW(Frequency Control Word)进行线性累加,将其高W位作为地址码通过波形查值表ROM变换,产生D位对应信号波形的数字序列,再由数模转换器DAC将其转化为阶梯模拟电压波形后由具有内插作用的低通滤波器LPF将其平滑为连续的正弦波形作为输出。
为了说明DDS相位量化的工作原理,可将正弦波一个完整周期内相位的变化用相位圆来表示,其相位与幅度一一对应,如图2所示:
图2相位码与幅度码的对应关系
一个N位的相位累加器对应相位圆2N上个相位点,其最低相位分辨率为θmin=Δθ=2π/2N。在图2中N为4,则有16个相位值和16个幅度码相对应。该幅度存储于波形存储器中,在频率控制字FCW的作用下,相位累加器给出不同的相位码,对波形存储器寻址,完成相位--幅度变换,经DAC变成阶梯正弦波信号,再通过低通滤波器平滑,便得到模拟正弦波输出。
自第一部正弦波发生器问世以来,函数发生器的设计已经发生了多次演进,在当前数字领域中,大多数新型函数发生器都在采用直接数字频率合成技术。DDS在大部分操作中使用数字电路,从而提供了数字操作拥有的许多优势。
第一,输出信号的频率精度可以达到作为发生器参考信号使用的晶体控制振荡器的水平。如果想实现更高的精度,也可以采用函数发生器本身的温度补偿晶体振荡器产生。
第二,DDS信号发生器的数字电路可以实现与数字电路相同的频率精度。
第三,如果拥有RAM波形存储器,那么DDS函数发生器可以重现几乎任何波形。因此,函数发生器现在的功能要远远超过传统函数发生器。对称性可变的波形现在已经是标配功能,另外还可以内置各种不常见的波形,如指数上升和下降型波形或正弦脉冲型波形等。但由于DDS的全数字结构,使得直接数字频率合成器不可避免的拥有以下两个缺点。
第一,其杂散分量丰富。这些杂散分量主要由相位舍位、幅度量化和DAC的非理想特性所引起。
第二,输出频带受限。由于DDS内部DAC和ROM的工作速度限制,使得DDS输出的最高频率受到极大的限制。
图3所示是一个基本的DDS结构,主要由相位累加器、相位调制器、正弦ROM查找表和D/A构成。图中的相位累加器、相位调制器、正弦ROM查找表是DDS结构中的数字部分,由于具有数控频率合成的功能,又合称为NCO(Numerically Controlled Oscillators)。
图3 基本DDS结构
相位调制器接收相位累加器的相位输出,在这里加上一个相位偏移值,主要用于信号的相位调制,如PSK(相移键控)等。在不使用时可以去掉该部分,或者加一个固定的相位字输入。相位字输入也需要用同步寄存器保持同步。需要注意的是,相位字输入的数据宽度M与频率字输入N往往是不相等的,M<N。
正弦ROM查找表完成的查表转换,也可以理解成相位到幅度的转换,它的输入是相位调制器的输出,事实上就是ROM的地址值;输出送往D/A,转化成模拟信号。由于相位调制器的输出数据位宽M也是ROM的地址位宽,因此在实际的DDS结构中N往往很大,而M总为10位左右。M太大会导致ROM容量的成倍上升,而输出精度受D/A位数的限制未有很大改善。
通过前面的分析可知,为了抑制山于DDS技术的非理想特性所产生的杂散,利用FPGA器件设计DDS应该考虑如何选择相位累加器的位数,相位截断的位数,如何选择D/A转换器才能满足设计的要求,这样才能得到较理想的输出波形。从上面的理论分析得到,相位累加器的位数,关为系统时钟
频率,为输出信号最小分辨率。其次,D/A转换器位数的选择,根据前而的分析,SQR=l.76+.602D(dB),D为有效字长位数,如果一个系统的要求是希望信噪比能够达到70dB,则D=121bits。
通过上面的理论分析,我们将以正弦信号为输出信号作为DDS的具体设计。我们将设计好的程序进行综合,查看其RTL电路原理图,如图4所示.
图4 系统RTL图
从上图,我们可以看到系统的ROM查找表,相位累加器等模块。下面我们将对系统进行仿真。通过修改频率控制字,我们可以得到不同的频率波形,这里我们以sin信号为仿真波形。仿真结果如图5所示。
图5系统仿真结果
输出不同的频率效果:
图6 系统仿真结果2
由此可见,我们通过DDS模块得到了可以改变频率的系统模块。
通过示波器,我们可以看到如下的效果:
图7 示波器显示效果