1目录1.1DDS的基本结构.........................................................21.2DDS的工作特点.........................................................41.3DDS的技术指标.........................................................51.4实现方案......................................................................71.5硬件结构说明...........................................................71.6设计过程......................................................................81.7频率测量....................................................................181.8误差与杂散分析........................................................192DDS(DirectDigitalSynthesis)的概念首先由美国学者J.Tierncy,C.M.Radar和B.Gold在1971年提出,但限于当时的技术和工艺水平,DDS技术仅仅限于理论研究,而没有应用到实际中去。近20年来,随着VLSI(VeryLargeScaleIntegration),FPGA(FieldProgrammableGatesArray)以及DSP(DigitalSignalProcessing)的发展,这种结构独特的频率合成技术得到了飞速发展。目前该技术已经被广泛用于接收机本振、信号发生器、通信系统、雷达系统等相关领域中。1.1DDS的基本结构DDS(DirectDigitalSynthesis)技术设计思想是基于数值计算信号波形的抽样值来实现频率合成的。它包括数字器件与模拟器件两部分,主要有相位累加器、ROM波形查询表、数模转换器组成。其基本框图如下。(1)相位累加器是DDS的核心部分。一般是由数字全加器和数字寄存器组成,实现相位累加。如3下图所示。一般DDS的累加器都采用二进制,线性数字信号通过相位累加器实现逐级的累加。假设累加器字长为N,频率控制字为K,控制时钟频率为fc,系统在同一个时钟下工作,每个时钟周期加法器做一次累加计算。因为累加器的满偏是2N,所以累加一次,相当于做一次2N模的运算。得到的和作为相位值。(2)波形函数存储在ROM中。根据累加器输出的相位值,作为地址,寻找存储在ROM中的波形函数的幅度量化值,完成相位到幅值的转换,输出相对应的序列。(3)数模转换器DAC是DDS中的重要部分。经过查表以后得到的是离散的脉冲信号,通过数模转换器将转换成为连续平滑的信号。DDS输出的最高频率主要跟DAC的性能有关。因为一个正弦周期内采样点越少,越容易发生失真现象。为了获得较为理想的信号,一般DAC之后都会接一平滑滤波器。下图可以直观的显示出各部件在波形输出过程中的效果。41.2DDS的工作特点DDS技术同传统的频率合成技术相比,具有以下几个突出的优点1、极高的频率分辨率由知,分辨率由参考时钟频率与相位累加器的字长决定。理论上只要控制N的位数,就可以获得相应的频率分辨精。只要增加相位寄存器的位数即可获得高精度的频率分辨率,大多数DDS的分辨率在Hz、mHz甚至uHz。2、极快的频率切换速度DDS是一个开环系统,没有反馈系统,频率转换时间主要由低通滤波器的时延决定。所以,频率建立及切换快慢与频率分辨率、频谱纯度相互独立。高速的DDS频率切换时间极短,一般可达到ns量级。3、易于实现各种数字调制由于信号的频率、相位、幅度均可由数字信号控制,所以可以通过预置内部相位累加器的初始值控制输出信号,调幅时直接在表5输出端对幅度进行控制,调相时在相位累加器输出端直接加上调制信号,调频通过频率控制字进行。DDS很容易对AM、PSK、FSK等高精度数字调制和高精度正交调制。4、连续的相位变化因为DDS是个开环系统,故当一个转换频率的指令加在DDS的数据输入端时,它会迅速合成所需的频率信号。改变相位控制字,根本上就是改变了信号的相位增速。在输出信号上没有叠加任何电流脉冲,输出变化是一个平稳的过渡过程,且相位连续。5、较低的相位噪声和低漂移DDS系统中合成信号的频率稳定度直接由参考源的频率稳定度决定,合成信号的相位噪声与参考源的相位噪声相同。6、集成度高DDS中几乎所有的部件都属于数字信号处理部件,系统有易于集成,功耗低,体积小,重量轻等工艺上的优点。1.3DDS的技术指标能够输出的波形:正弦波、方波等固定波形和任意波形。6输出频率范围:信号发生器能产生的信号频率范围,如本设计中固定波形输出频率范围为1Hz----lMHz频率准确度:信号发生器度盘数值与实际输出信号频率间的偏差,通常用相对误差表示:,频率准确度实际上是输出信号频率的工作误差。频谱纯度:信号发生器都需要产生理想的波形,但是频谱有来自高次谐波、非谐波和噪声的干扰,影响了频谱的纯度,因此频谱的纯净对于信号是非常重要的。输出电平及阻抗:输出电平时输出信号幅度的有效范围,即由产品标准规定的信号发生器的最大输出电压和最大输出功率及其衰减范围内所得到输出幅度的有效范围。输出阻抗视不同类型而异。失真度:由于信号发生器内部放大器等器件的非线性导致输出信号的非线性失真,以及其他谐波分量,非线性失真系数为:调制特性:如调幅信号、调频信号与调相和脉冲调制等。71.4实现方案基于FPGA实现DDS功能,通过单片机实现控制。此方案的核心在于FPGA的设计实现逻辑功能,通过对存储器查表后输出信号,由相连接的数模转换器转换为要求的波形。单片机作为控制器,易于控制与调试。系统框图如下:1.5硬件结构说明81.6设计过程在本系统中,DDS是任意波形实现的技术关键,其核心为相位累加器(全加器与数字寄存器)与ROM波形查询表构成。那么我们设计DDS的框图如下建立一个模块实现从单片机接收来的频率控制字的寄存功能,作为寄存器。全加器实现20位的相位累加,通过频率控制字作为步长进行控制。由于FPGA内输出位数有限,因此建立一个模块进行高位截断,只取高十位,接收累加器输出的数据。然后再通过波形ROM完成波形的查找与输出。这部分为固定的正弦波、三角波、方波与锯齿波等常规波形的输出部分。任意波形部分,则需要一个能随时接受数据更新的RAM,其数据的写入由单片机控制,接收上位机的下传数据,其数据的读取由DDS中的地址发生器控制,这样即可产生任意波形输出。1.6.1固定波形输出9在FPGA内部实现高速的多位数相位累加器,输出地址信号,控制读出波形存储器中存放的波形幅度数字信号。通过改变相位累加器的相位增量M,即地址间隔的改变,控制读出波形存储器一个周期正弦波幅值的数目,达到输出频率的控制。其输出的频率为,其中fclk为系统时钟频率,N为相位累加器的位数,M为相位增量--频率控制字,由公式可知fout与肘成正比,控制M就可以控制输出的频率。如要频率步进为l0Hz,则要求。保证在输出最高频率输出时有32个点的波表数据输出,则要求时钟为3.2MHz。将50MHz的时钟10分频,得到5MHz的信号作为累加器的计数信号。则fclk=5MHz,2N=500000,因此,N可取20,2N=1048576。则fout=-4.77M,M=0.21fout。利用计算机输入要输出的频率,发送到单片机,单片机将对接收到的数据进行预算处理后发送给FPGA。频率输入寄存器频率输入电路如图所示,接收8位的频率字长,输出为20位。10下面为STC89C52RC与EPlC3T144C8的接口程序,用控制字:11加法器加法器为20位,自动累加,它以设定的频率控制字k作为步长来进行加法运算,当其和满时清零,并进行重新运算。电路图如下:1213程序如下:moduleadd(clock,14高十位寄存器实现数据输入为20位,输出为10位,实现高位截断。程序为:15波形ROM及选择本设计使用几个8bit的ROM,存储深度为1024点,用来存储正弦波等波形数据。每个波形数据存储在一个固定的ROM里,如下图。其中SineROM为正弦波存储模块,SquareROM为方波存储模块,Triangle-ROM为三角波存储模块,SwtoothROM为锯齿波存储模块。它们通过一个使能模块控制,采取低电平有效的方式,选择性读取任意模块的波形。一般每个模块都为高电平状态,即为不工作状态。每次输出波形时,仅有单独一个ROM_T_作(即工作模块为低电平,其他模块均为高电平),这样不仅保证可以按照需要输出固定波形,还可以避免波形输出发生非控制性的混杂。使能模块的输入端为行列式键盘,键盘中每一键单独使用,当某一键按下,则对应某一波形输入。因为4×4的键盘输出线为8位,仅为一根,因此输入端设为一根8位输入端口。通过设定,实现单键控制某~波形输出。本设计仅设定了4个固定波形ROM输出,即正弦波、方波、三角波和锯齿波,因此使能模块的选择输出线为4条,若增加新波形模块,可以更改输出端口的数量,进行扩展。16时钟分频时钟分频电路如下,所以模块在同步时钟下协调工作,电路图如下:程序如下:17endEndmodule1.6.2任意波形输出关于根据需要而产生的任意波形的设计如下:因为该任意波形是由上位机下传的波形数据,由单片机控制,所以必须设计一个能随时接受数据更新的RAM。数据传至任意波形的寄存器里,然后便可实现任意波形的输出。18选用的DA转换器为8位,所以RAM的字长也为8位,因此波形RAM的地址线的位数取lO位。为了实现任意波形数据的更新,波形RAM设计成为双口RAM。1.7频率测量通过设定预定值,用计数器测量出实际值,基于此数据计算出误差如下表(只选取10组数据)。由可看出,1~100Hz区间误差较为明显,1kHz~1MHz区间输出频率较为稳定(该表为测试正弦波数据)。191.8误差与杂散分析由于实际测量得到的数值与理论数值存在一定的差距,因此,在对误差的分析中,就涉及到标准和误差这两个概念。其中有一部分原因是由于测量仪器的精确度有限、实验手段不完善、测量人员技术不够高等引起,再或者由于测量时不必避免的混入噪声,影响了信号频谱的纯净度等原因。这些误差统称为测量误差。测量误差又分为:随机误差、系统误差和粗大误差三类。所以在减弱测量误差的手段中,可以采取概率统计的方法减小随机误差,采取技术手段减弱系统误差,用统计方法剔除影响系统稳定性的异常值减少粗大误差的发生概率,可以有效的弱化测量误差带来的影响。本系统中,因为涉及到数据从相位累加器中输出到ROM发生高位截断,波形的幅度量化与DAC的转化带来的杂散,以及工作环境与电源噪声等因素,都是影响到频谱纯净度的主要原因。下面对几个重要的杂散原因进行分析。(1)相位截断产生杂散信号相位累加器输出的序列位数比较长,本设计为20位(有的采取32位),如果以此作为地址查询正弦函数表的话,势必对波形ROM的容量有了很大的要求,硬件上难以满足。因此设计中均采用了高位截断的方法,只取用累加器输出序列的高几位用于查表,低位舍去。所以必然会造成误差从而影响最终的输出信号频谱。正弦信号上引入余弦分量,从而造成时域上的叠加必然表现为频域20上的杂散。(2)D/A转换器非线性引起的杂散分量理想DAC对DDS的影响只表现在对信号频谱的幅度和相位产生改变,输出上体现出滚降特性,并不引入其它的频率成分,而非理想的DAC的非线性、瞬间毛刺等非理想的转换特性在DDS的频谱上产生了最主要的影响。(3)幅度量化产生的杂散正弦查表内存储的波形码事一个模拟信号被均匀量化后的值。毕竟存储器的容量有限,不可能以无限二进制数来记录正