DDS信号源的FPGA实现
扫描二维码
随时随地手机看文章
1 引言
目前直接数字频率合成DDS专用器件大多采用先进特定工艺技术,并具有高性能,多功能,且其内部数字信号抖动小.输出信号的质量高等特点,诸如Qualcomm公司的Q2230、Q2334,Analog Device公司的AD9955、AD9850等。这些DDS器件可满足电路设计的多种需求。但其控制方式固定.在某些系统应用中其功能与系统要求还有一定差距,因此需要与高性能的FPGA器件相结合设计符合某个特定要求的系统。DDS专用器件可重配置性结构方便的实现了各种复杂的调制功能,具有良好的实用性和灵活性。因此,这里给出DDS信号源的FPGA设计方案。
2 DDS的工作原理和基本结构
直接数字频率合成技术DDS(Direct Digital Frequency Synthesis)是一种从相位出发直接合成所需波形的频率合成技术。它是以一个固定频率精度的时钟作为参考时钟源,通过数字信号处理技术产生一个频率与相位可调的输出信号。实质上.它是由设置的二进制控制字对参考时钟做除法运算。控制字一般是24~48位字长,因此可认为DDS是数字信号处理理论的延伸,是数字信号中信号合成的硬件实现。
2.1 DDS的工作原理
设一路频率为f的余弦信号:
现以采样频率fc对该路信号采样,得到离散序列为:
式中:Tc=1/fc为采样周期。
式(2)所对应的相位序列为:
该相位序列的显著特性就是线性,即相邻样值之间的相位增量是一常数,且仅与信号频率f有关,即相位增量为:
由于频率.厂与参考源频率fc之间满足:
式中:K和M为正整数。
相位增量为:
由式(6)可知,若将2π的相位均匀量化为M等份,则频率为f=(K/M)fc的余弦信号以频率fc采样后,其量化序列的样本之间的量化相位增量为一变值K。
根据以上原理,用变量K构造一个量化序列:
完成φ(n)到另一序列s(n)的映射,即由φ(n)构造序列:
式(8)是连续时间信号s(t)经采样频率fc为采样后的离散时间序列。根据采样定理,当时,s(n)经低通滤波器滤波后,可唯一恢复s(t)。可见,通过上述系列变换.变量K将唯一确定一个单频模拟余弦信号s(t):
该信号频率为:
式(11)是DDS方程,在实际的DDS中,一般取M=2N,N为正整数,于是DDS方程可写成:
通过分析,DDS可由下列两次变换实现:
(1)变量K产生量化的相位序列 该过程一般由一个以上作时钟的Ⅳ位相位累加器实现,如图1所示。
(2)离散量化相位序列产生正弦信号离散幅度序列 该过程是由式(8)的映射关系所构成的波形ROM寻址完成的,如图2所示。把量化的数字波形经模数转换,再通过低通滤波器LPF得到频率为fc的余弦信号。变量K称为相位增量(也叫频率控制字)。当K=1时,DDS输出最低频率(即频率分辨率)为fc/2N。因此,只要N足够大,DDS可以得到很细的频率间隔。要改变DDS的输出频率,只要改变频率控制字K即可。DDS的最大输出频率由Nyquist采样定理决定,即fc/2,也就是K的最大值为2N-1。
DDS可以很容易实现正弦信号和余弦信号正交两路输出,只需用相位累加器的输出同时驱动固化有正弦信号波形的ROM和余弦信号波形的ROM,并各自经数模转换器和低通滤波器输出即可。
2.2 DDS的基本结构
DDS包括数字和模拟两部分,其主要由相位累加器、ROM波形查询表、数模转换器和低通滤波器LPF构成。DDS的基本结构如图3所示,其中K为频率控制字、f为时钟频率,N为相位累加器的字长,D为ROM数据位数及D/A转换器的字长。相位累加器在时钟fc/2的控制下以步长K为累加,输出N位二进制码作为波形ROM的地址.对波形ROM寻址,波形ROM输出的幅值码S(n)经数模转换器转换成模拟信号后再经LPF输出。
3 应用设计
该系统设计是针对DDS的基本结构,以FPGA为核心,并与外围电路而实现的。
3.1 相位累加器
相位累加器由8位加法器与8位寄存器级联构成。累加器将加法器在上一个时钟作用后所产生的相位数据反馈到加法器的输入端;使加法器在下一个时钟作用下继续与频率控制字(K)相加,实现相位累加,当相位累加器累加结果等于或大于256时,则产生一次溢出,返回到初始状态,完成一个周期波形输出。该相位累加器采用VHDL语言设计实现。
3.2 波形存储器
以相位累加器输出数据作为波形存储器的取样地址。进行波形的相位一幅码转换,即可在给定的时间上确定输出的波形的抽样幅码。Ⅳ位的寻址RAM相当于把0°~360°的正弦信号离散成具有2个样值的序列,若波形存储器有D位数据位,则各样值的幅码以D位二进制数值保存在该模拟ROM(FlexlOKl0的RAM)中,按照不同地址输出相应相位的正弦信号的幅码数值。
DDS中的波形存储器模块用Ahera的F3exl OK系列中的RAM实现,选用Flexl0K10,Flexl0K10中共有3块RAM,每块大小为2 K位,可构成2 048x1,1 024×2,512x4,256x84种类型。该设计取N=8,D=8,波形数据运用高级语言C编制,相应数据保存于FPGA的RAM中。
3.3 D/A转换电路的实现
D/A转换器的作用是把已合成的正弦波的数字量转换成模拟量。正弦幅度量化序列经D/A转换后变成包络为正弦波的阶梯波s(t)。
该单元选用数模转换器DAC0832,使其工作于双缓冲器方式,并强制片选信号(Cs)、写信号1(R1)、写信号2(R2)、数据传送信号(XFER)为低电平,将F:PGA输出的数据转换成相应模拟量。
3.4 低通滤波器设计
对D/A转换输出的阶梯波s(t)进行频谱分析,可知s(t)中除主频fc外,还存在分布在fc、2fc…,两边±fc处的非谐波分
量,幅值包络为辛格函数,因此为了取出主频fc,必须在D/A转换器的输出端接人截止频率为f/2的低通滤波器。
4 结语
采用直接频率合成技术和FPGA设计的信号发生器具有不同于传统频率合成方法的全数字结构,输出分辨率高等特点,其相位累加器在基准时钟频率和相位累加器的位宽达到一定要求时,输出分辨率更小,可达到微赫兹级;频率变化快,频率控制字的传输时间以及器件响应时间很短,使得系统的频率切换时间可达纳秒级;频率变化时输出相位连续,在频率改变时只是改变频率控制字,而无需改变原有的累加值;但由于这种结构存在相位累加器的输出有限位数产生相位截断误差,以及ROM存储的幅度值量化有限样点值产生量化误差等问题,从而DDS的杂散抑制较差,因此采取相应措施对其抑制。在需要可变频率或经常改变波形各个参数的实验中.采用FPGA实现的DDS信号发生器较灵活,并具有绝对优势。