基于FPGA的直接数字频率合成器的设计
2009-07-01肖炎根
肖炎根
[摘要]介绍直接数字频率合成的工作原理、设计方法以及如何用FPGA来实现。为压缩ROM的容量,系统只存储0-π/2的采样值。为降低DDS相位截断误差带来的杂散,系统设置杂散抑制器。利用QuaausⅡ9.0对系统进行仿真,验证设计的正确性。
[关键词]DDSFPGALPM
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1210090-01
一、引言
直接数字频率合成DDS是从相位概念出发直接合成所需波形的一种新的频率合成技术。本文讨论了用Altera公司的FPGA(EP2C35F484C6)完成直接数字频率合器的设计。
二、直接数字频率合成的基本原理
图1为DDS的基本框图。相位累加器在时钟fc的控制下以步长FCW作累加,输出数字线性相位序列和相位控制字P相加后对相位-幅度转换器寻址,相位-幅度转换器输出相应的正弦离散序列经DAC将其转化为阶梯模拟电压波,最后由LPF将其平滑为连续的正弦信号。
图1DDS的基本框图
三、FPGA上实现的直接数字频率合成电路
(一)相位累加器。相位累加器由N位加法器与N位累加寄存器级联构成。为了提高系统的工作速度,累加器采有流水线结构。本系统在Quartus II中调lpm_add_sub和lpm_dff宏功能模块,利用MegaWizard Plug-In Manager
编辑来完成32位相位累加器的设计。
(二)杂散抑制器。N位(32位)相位累加器中提取高M(12位)位作为ROM的查询地址,则舍去了N-M位,这样就产生了相位截断误差,表现在输出频谱上就是杂散分量。为了抑制杂散,系统设置了杂散抑制器,如图2所示。加法器中加入随机码发生器产生的随机抖动序列,其目的是将一些随机数加在正弦波的相位序列上,打破相位误差序列的周期性,从而分散杂散功率,达到提高杂散抑制度的目的。
(三)正弦相位-幅度转换器
正弦相位幅度转换器包含输入地址转换器、ROM、输出数据转换器三部分组成。利用三角函数的对称性,用0-π/2的采样值通过变换得到0-2π的采样值,这样使得ROM容量减小到原来的1/4。输入地址转换器根据次高位adr[10]的数值来判断地址码是否需要对π/2进行折叠。输出数据转换器根据最高位adr[11]的数值判断正弦波的相位在一、二象限,还是在三、四象限;判断是否需要对输出数据求补。下表概括了次高位与最高位对ROM的输入地址与输出数据的转换关系。ROM的设计可在Quartus II中调用lpm_rom宏功能模块,利用MegaWizard Plug-In Manager编辑来完成设计。
四、DAC和LPF电路
AD9713B是一款12位的高速数模转换器DAC,图3是DAC的电路原理图。AD9713B的14脚输出的模拟信号经低LPF将其平滑为连续的正弦信号。
图3DAC的电路原理图
五、系统的仿真
利用QuaausⅡ9.0对DDS进行时序仿真,得到仿真时序图,如图4所示。随着频率控制字FCW和相位控制字P的加大,两路输出信号的幅度码的改变在加大;两路输出信号相位的改变与相位控制字P相符;从而验证了设计的正确性。
图4DDS的时序仿真图
六、结论
实验结果表明:FPGA实现的直接数字频率合成器具有频率分辨率高、频率切换时间短、相位变化连续、成本低、容易实现对输出信号的多种调制等优点。
参考文献:
[1]潘未庄,一种高速DDS结构及其FPGA实现[J].计算机与数字工程,2008,36(12):67~69.
[2]黄军友,基于FPGA的直接数字频率合成系统的仿真[J].通信技术,2008,47(11):219~221.