杭州电子科技大学
无线电暑期实验
设计报告
实验名称:DDS信号发生器
一. 方案论证与比较
一、 信号发生部分
方案一:采用模拟分立元件或者单片压控函数发生器MAX038,可产生正弦波、方波、三角波,通过调整外部参数可改变输出频率,但采用模拟器件由于元件分散性太大,即使使用单片函数发生器,参数也与外部分布参数相关,频率稳定度差,精度低,抗干扰能力低。
方案二:采用锁相式频率合成方案。优点在于频率稳定,频率范围比较大。但是频率受 VCO可变频率范围的影响,高低频率比不可以做的很高。
方案三:采用DDS直接合成的方法,DDS是第三代频率合成技术,它突破了前几种频率合成法的原理,从“相位”的概念出发进行频率合成。这种方法不仅可以产生不同频率的正弦波,而且可以控制波形的初始相位,还可以用DDS方法产生任意波形。利用专用的DDS芯片产生的信号频率准确,频率分辨率高,易于控制,而且电路相对简单易行,这是目前比较常用的方案,最终选择此方案。
二、基本性能要求:
(1)正弦波输出频率范围:1kHz~10MHz
输出频率范围只要通过改变DDS内部分频器即可进行控制,再选择性能足够的DAC芯片DAC990即可。
(2)具有频率设置功能,频率步进:100Hz
频率设置可通过频率控制字使用FPGA按键进行控制,而且步进数值也可以任意设置。
(3)输出信号频率稳定度:优于10-4
(4)输出电压幅度:在负载电阻上的电压峰-峰值Vopp≥1V
(5)失真度:用示波器观察时无明显失真。
三、发挥部分性能要求:
只要在DDS内部加上相应控制如调频控制FM、调相控制PM和调幅控制AM,即可以方便灵活地实现调频、调相和调幅功能,产生FSK、PSK、ASK和MSK等信号。
(1)增加输出电压幅度:在频率范围内负载电阻上正弦信号输出电压的峰-峰值Vopp=6V±1V;
DDS信号发生器的AM调制将主波作为载波,副波作为调制信号,调制后输出,还可将外部输入作为调制信号,调制到主波上输出。文中以25MH z通用DD S函数信号发生器上的AM功能设计要求为例,讨论并提出了一种基于FPGA的AM设计方法。并列举出具体的应用案例。
AM调制即幅度调制,它是正弦载波的幅度随调制信号线性变化的过程,若载波的信号为
c(t)=K0 cos(c t+0)
则调制后的信号为
SAM(t)=K 0m(t)cos(c t+0)
式中:K 0为常数,为了方便分析,常令其为1;c为载波频率;0为载波相位;m(t)为待调制信号;SAM(t)为已调制信号。AM调制信号离散数学表达式为:
s(nTs)=[1+M x(nT s)]cos c nT s
式中:M为调制度;c为载波信号的频率;T s为采样时间间隔。AM调制的结构框图如图1所示。
图1 AM调制框图根据AM数字信号调制原理及结构框图可见,调制器的输入端有调制信号、载波信号、调制度。
具体的实现方法是:调制信号先与调制度m相乘,再与量化值相加(即在信号上叠加一个直流电平),叠加完的信号再与载波信号相乘,输出的信号就是常规双边带调幅波信号。这里需要注意量化值的选取,量化值选取的数值要保证叠加后的信号大于零。
(2)产生模拟幅度调制(AM)信号:在1MHz~10MHz范围内调制度ma可在10%~100%之间程控调节,步进量10%,正弦调制信号频率为1kHz,调制信号自行产生;
(3)产生模拟频率调制(FM)信号:在100kHz~10MHz频率范围内产生10kHz最大频偏,且最大频偏可分为5kHz/10kHz二级程控调节,正弦调制信号频率为1kHz,调制信号自行产生;
(4)产生二进制PSK、ASK信号:在100kHz固定频率载波进行二进制键控,二进制基带序列码速率固定为10kbps,二进制基带序列信号自行产生;
二. 总体方案设计
DDS信号发生器采用直接数字频率合成技术,把信号发生器的频率稳定度、准确度提高到与基准频率相同的水平,并且可以在很宽的频率范围内进行精细的频率调节。采用这种方法设计的信号源可工作于调制状态,可对输出电平进行调节,也可输出各种波形。它主要由四部分组成:
第一部分为相位累加器,用于决定输出信号频率的范围和精度;
第二部分为正弦函数功能表(波形存储器),用于存储经量化和离散后的正弦函数的幅值;
第三部分为D/A转换,可产生所需的模拟信号;
第四部分为低通滤波,用来减少量化噪声、消除波形尖峰。
根据其原理,可以有3个方案选择:
方案一:采用模拟锁相环实现。
模拟锁相环技术是一项比较成熟的技术。应用模拟锁相环,可将基准频率倍频,或分频得到所需的频率,且调节精度可以做到相当高、稳定性也比较好。但模拟锁相环模拟电路复杂,不易调节,成本较高,并且频率调节不便且调节范围小,输出波形的毛刺较多,得不到满意的效果。
方案二:采用直接数字频率合成,用单片机作为核心控制部件,能达到较高的要求,实现各种波形输出,但受限于运算位数和运算速度,产生的波形往往达不到满意效果,并且频率可调范围小,很难得到较高频率,并且单片机的引脚少,存储容量少,这就导致了外围电路复杂。
方案三:采用直接数字频率合成,用FPGA器件作为核心控制部件,精度高稳定性好,得到波形平滑,特别是由于FPGA的高速度,能实现较高频率的波形。控制上更方便,可得到较宽频率范围的波形输出,步进小,外围电路简单易实现。
因此采用方案三。
电路原理图:
信号产生模块:
DAC模块:
三. 理论分析和计算
DDS的原理框图如图2所示。图中相位累加器可在每一个时钟周期来临时将频率控制字(FTW)所决定的相位增量M累加一次,如果记数大于2,则自动溢出,而只保留后面的N位数字于累加器中。
图2 DDS原理框图
DDS的数学模型可归结为:在每一个时钟周期T内,频率控制字M与N比特相位累加器累加一次,并同时对2取模运算,得到的和(以N位二进制数表示)作为相位值,以二进制代码的形式去查询正弦函数表ROM,将相位信息转变成相应的数字量化正弦幅度值,ROM输出的数字正弦波序列再经数模转换器转变为阶梯模拟信号,最后通过低通滤波器平滑后得到一个纯净的正弦模拟信号。
由于ROM表的规模有限,相位累加器一般仅取高位作为寻址地址送入正弦查询表获得波形幅度值。正弦查询表中以二进制数形式存入用系统时钟对正弦信号进行采样所得的样值点,可见只需改变查询表内容就可实现不同的波形输出。
2.1.2 DDS的结构
DDS的基本结构包括相位累加器、正弦查询表(ROM)、数模转换器(DAC)和低通滤波器(LPF),其中从频率控制字到波形查询表实现由数字频率值输入生成相应频率的数字波形,其工作过程为:
⑴确定频率控制字M;
⑵在时钟脉冲f的控制下,该频率控制字累加至相位累加器生成实时数字相位值;
⑶将相位值寻址ROM转换成正弦表中相应的数字幅码。
模块DAC实现将数字幅度值高速且线性地转变为模拟幅度值,DDS产生的混叠干扰由DAC之后的低通滤波器滤除。
㈠相位累加器
相位累加器是DDS最基本的组成部分,用于实现相位的累加并存储其累加结果。若当前相位累加器的值为Σ,经过一个时钟周期后变为Σ,则满足
Σ=Σ+M
Σ为一等差数列,不难得出:Σ=nM+Σ
其中Σ为相位累加器的初始相位值。
㈡正弦查询表(ROM)
DDS查询表所存储的数据是每一个相位所对应的二进制数字正弦幅值,在每一个时钟周期内,相位累加器输出序列的高m位对其进行寻址,最后的输出为该相位相对应的二进制正弦幅值序列。
㈢数模转换器(DAC)
数模转换器的作用是将数字形式的波形幅值转换成所要求合成频率的模拟形式信号。DAC有电压和电流输出两种,其输出的信号并不能真正连续可变,而是以其绝对分辨率为最小单位的,所以其输出实际上是一个阶梯模拟信号。
2.1.3 DDS的优点
正由于DDS采用全数字技术,从概念到结构都有很大的突破,所以它具有其他频率合成所无法比拟的优越性。
①频率分辨率高。若时钟频率不变,DDS频率分辨率仅由相位累加器位数来决定,也就是理论上的值越大,就可以得到足够高的频率分辨率。目前,大多数DDS的分辨率在1Hz数量级,许多都小于1mHz甚至更小,这是其他频率合成器很难做到的。
②工作频带较宽。根据Nyquist定律,只要输出信号的最高频率分辨率分量小于或等于f/2就可以实现。而实际当中由于受到低通滤波器设计以及杂散分布的影响限制,仅能做到40%f左右。
③超高速频率转换时间。DDS是一个开环系统,无任何反馈环节,这种结构使得DDS的频率转换时间极短。DDS的频率转换时间可达到纳秒数量级,比使用其它的频率合成方法都要小几个数量级。
④相位变化连续。改变DDS输出频率,实际上改变的是每一个时钟周期的相位增量,相位函数的曲线是连续的,只是在改变频率的瞬间其频率发生了突变,因而保持了信号相位的连续性。
⑤具有任意输出波形的能力。只要ROM中所存的幅值满足并且严格遵守Nyquist定律,即可得到输出波形。例如三角波、正弦波和矩形波。
⑥具有调制能力。由于DDS是相位控制系统,这样也就有利于各种调制功能。
2.2波形产生分析
图3正弦波产生框图
相位累加器为32位累加器,输出为0~(2-1),作为正弦查询表的地址输入端。正弦表中存放一个周期的正弦波内的2个点的数据,输出f为一正弦波,其频率由频率控制字进行调节,输出频率:
f=f/2FTW
最小频率分辨率:
f=f/2
其中N为相位累加器的位数,FTW为频率步进控制字,f为时钟频率,输出信号频率主要取决于频率控制字FTW。当FTW增大时,f可以不断增加,综合考虑Nyquist采样定理,最高输出频率应小于f/2。根据实验所得,实际工作频率应小于f/3。
由于本论文只要求设计出最高为1MHz的信号,根据DA及FPAG的速度,可以很容易地满足设计需要。本例中选用32M的CLK时钟,在输出最高1MHz的信号时,波形在一个周期内仍有32个点,能够完整描述出波形。
f=f/2=32×10/2=0.00745058
所以可以实现1Hz步进,当输出1Hz时,频率控制字FTW=1/f=134.217728。由于频率控制字是由NIOS系统提供的,考虑到浮点运算所占资源太多,所以把浮点运算改为定点运算。则当输出其他任意频率f时Nios内部算法为:
FTW=f×134+f×21/100+f×77/10000+f×28/1000000
3总体设计
各模块功能如下:
一、由FPGA及DAC为本系统的核心器件。主要完成功能:
采用DDS技术基于FPGA设计信号发生模块,产生要求的信号序列;
二、通过采用DAC0832芯片设计成DAC模块来实现数模转换输出到示波器中。
四.软硬件的系统设计
信号产生部分使用Quartus 2来设计。
原理图):
PCB设计:
实物图:
五. 测试
SignalTap仿真波形如下:
硬件测试结果如下:
六. 总结
本次实验是基于FPGA的DDS信号发生器。通过方案论证,采用直接数字频率合成技术,经过硬件电路设计,将DDS技术与FPGA相结合,输出正弦波、三角波和方波。实现了产生具有较高的频率分辨率的平滑波形,可实现快速的频率切换,并且在改变时能够保持相位的连续、很容易实现频率、相位和幅度的数控调制。
通过本次实验我学会了制作DDS信号发生器和DAC转化器,并学会了使用仿真软件Signal Tap,进一步深入了解了Quartus2和AD软件的使用细节,为以后的深入学习电子专业知识打下了深厚的基础。
参考文献:
1、百度搜索引擎
2、电子发烧友网
3、数字电子技术基础(科学出版社)
4、EDA技术实用教程(科学出版社)
|