毕业设计(论文)基于现代DSP技术的DDS设计.doc

上传人:laozhun 文档编号:4016365 上传时间:2023-04-01 格式:DOC 页数:14 大小:134.50KB
返回 下载 相关 举报
毕业设计(论文)基于现代DSP技术的DDS设计.doc_第1页
第1页 / 共14页
毕业设计(论文)基于现代DSP技术的DDS设计.doc_第2页
第2页 / 共14页
毕业设计(论文)基于现代DSP技术的DDS设计.doc_第3页
第3页 / 共14页
毕业设计(论文)基于现代DSP技术的DDS设计.doc_第4页
第4页 / 共14页
毕业设计(论文)基于现代DSP技术的DDS设计.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《毕业设计(论文)基于现代DSP技术的DDS设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于现代DSP技术的DDS设计.doc(14页珍藏版)》请在三一办公上搜索。

1、编号:03063059南阳师范学院2007届毕业生毕业论文(设计)题 目: 基于现代DSP技术的DDS设计 完 成 人: 班 级: 2003-03 学 制: 4 年 专 业: 电子信息与科学技术 指导教师: 完成日期: 2007-03-31 目 录摘要 1 引言(1)2 直接数字频率合成器原理简介(2)2.1 频率预置与调节电路(3)2.2 累加器(3)2.3 控制相位的加法器(4)2.4 控制波形的加法器(4)2.5 波形存储器(4)2.6 D/A转换器(4)2.7 低通滤波器(5)3 基于DSP_Builder的DDS设计(5)3.1 DSP_Builder简介(5)3.2 DSP Bui

2、lder设计原理及参数设置(5)3.3 DDS的FPGA实现(9)3.4 仿真结果(10)4 结论(10)参考文献 (11)Abstract (12)基于现代DSP技术的DDS设计作 者:王 兴指导老师:张 帅摘要:该设计选择了以PLD器件为平台,在其上构建DDS的设计方案,本文介绍了以一片PLD芯片Cyclone1C12为控制核心,利用DSP_Builder软件设计DDS。关键词:直接数字率合成器;现代DSP技术;FPGA1 引言 DDS技术可以理解为数字信号处理中信号综合的硬件实现问题,它的传统方法是相位累加器PA在频率控制字的控制下,以参考时钟频率fc为采样频率,产生待合成信号的数字线性

3、相位序列,将其高位作为地址码寻址波形存储器ROM,产后对应信号波形的数字序列,再由模数转换器DAC将其变换成阶梯模拟信号,最后由具有内插作用的低通滤波器LPF平滑为连续的正弦波形输出。采用这种结构的最大缺点是界出频谱中杂散较大,并且只能产生有限种波形,缺乏灵活性,欲获取得较好的频谱纯度,对存贮器容量提出了很高的要求。在此介绍一种基于FPGA芯片的直接数字频率合成器,预计可以得到较多的波形和较好的频谱纯度。新一代的直接数字频率合成器采用全数字的方式实现频率合成,与传统的频率合成技术相比,具有以下特点:(1)频率转换快。直接数字频率合成是一个开环系统,无任何反馈环节,其频率转换时间主要由频率控制字

4、状态改变所需的时间及各电路的延时时间所决定,转换时间很短。(2)频率分辨率高、频点数多。DDS输出频率的分辨率和频点数随机位累加器的位数的增长而呈指数增长。(3)相位连续。DDS在改变频率时只需改变频率控制字(即累加器累加步长),而不需改变原有的累加值,故改变频率时相位是连续的。(4)相位噪声小。DDS的相位噪声主要取决于参考源的相位噪声。(5)控制容易、稳定可靠。高集成度、高速和高可靠是FPGA/CPLD最明显的特点,其时钟延迟可达纳秒级,结合其并行工作方式,在超高速应用领域和实时测控方面有非常广阔的应用前景。在高可靠应用领域,如果设计得当,将不会存在类似于MCU的复位不可靠和PC可能跑飞等

5、问题。CPLD/FPGA的高可靠性还表现在,几乎可将整个系统下载于同一芯片中,实现所谓片上系统,从而大大缩小了体积,易于管理和屏蔽。所以,采用FPGA来实现DDS有明显的好处3 9 10。2 直接数字频率合成器原理简介 直接数字频率合成器(Direct Digital Synthesizer)是从相位概念出发直接合成所需波形的一种频率合成技术。一个直接数字频率合成器由相位累加器、加法器、波形存储ROM、D/A转换器和低通滤波器(LPF)构成。DDS的原理框图如图下所示图1 DDS的原理框图9其中K为频率控制字、P为相位控制字、W为波形控制字、fc为参考时钟频率,N为相位累加器的字长,D为ROM

6、数据位及D/A转换器的字长。相位累加器在时钟fc的控制下以步长K作累加,输出的N位二进制码与相位控制字P、波形控制字W相加后作为波形ROM的地址,对波形ROM进行寻址,波形ROM输出D位的幅度码S(n)经D/A转换器变成阶梯波S(t),再经过低通滤波器平滑后就可以得到合成的信号波形。合成的信号波形形状取决于波形ROM中存放的幅度码,因此用DDS可以产生任意波形。这里我们用DDS实现正弦波的合成作为说明介绍。2.1 频率预置与调节电路K被称为频率控制字,也叫相位增量。DDS方程为:f0=fcK/2N,f0为输出频率,fc为时钟频率。当K=1时,DDS输出最低频率(也即频率分辨率)为fc/2N,而

7、DDS的最大输出频率由Nyquist采样定理决定,即fc/2,也就是说K的最大值为2N-1。因此,只要N足够大,DDS可以得到很细的频率间隔。要改变DDS的输出频率,只要改变频率控制字K即可。2.2 累加器图2 累加器框图相位累加器是由N位加法器与N位寄存器级联构成。每来一个时钟脉冲fc,加法器将频率控制字K与寄存器输出的累加相位数据相加,再把相加后的结果送至寄存器的数据输入端。寄存器将加法器在上一个时钟作用后所产生的相位数据反馈到加法器的输入端;以使加法器在下一个时钟作用下继续与频率控制字进行相加。这样,相位累加器在时钟的作用下,进行相位累加。当相位累加器累加满量时就会产生一次溢出,完成一个

8、周期性的动作。2.3 控制相位的加法器通过改变相位控制字P可以控制输出信号的相位参数。令相位加法器的字长为N,当相位控制字由0跃变到P(p0)时,波形存储器的输入为相位累加器的输出与相位控制字P之和,因而其输出幅度编码相位会增加P/2N,从而使最后输出的信号产生相移10。2.4 控制波形的加法器通过改变波形控制字W可以控制输出信号的波形。由于波形存储器中的不同波形是分块存储的,所以当波形控制字改变时,波形存储器的输入为改变相位后的地址与波形控制字W(波形地址)之和,从而使最后输出的信号产生相移。2.5 波形存储器用相位累加器输出的数据作为波形存储器的取样地址,进行波形的相位幅值转换,即可在给定

9、的时间上确定输出的波形的抽样幅值。N位的寻址ROM相当于把0360的正弦信号离散成具有2N个样值的序列,若波形ROM有D位数据位,则2N个样值的幅值以D位二地制数值固化在ROM中,按照地址的不同可以输出相应相位的正弦信号的幅值11。相位幅度变换原理图如图3所示: 图3 相位幅度变换原理图2.6 D/A转换器D/A转换器的作用是把合成的正弦波数字量转换成模拟量。正弦幅度量化序列S(n)经过D/A转换后变成了包络为正弦波的阶梯波S(t)。需要注意的是,频率合成器对D/A转换器的分辨率有一定的要求,D/A转换器的分辨率越高,合成的正弦波S(t)台阶数就越多,输出的波形的精度也就越高。2.7 低通滤波

10、器对D/A输出的阶梯波S(t)进行频谱分析,可知S(t)中除主频f0外,还存在分布在fc,2fc两边f0处的非谐波分量,幅值包络为辛格函数。因此,为了取出主频f0,必须在D/A转换器的输出端接入截止频率为fc/2的低通滤波器。3 基于DSP_Builder的DDS设计 3.1 DSP_Builder简介 DSP_Builder是美国Altera公司推出的一个面向DSP开发的系统级工具,他集成在Matlab的Simulink工具箱中,使得用FPGA设计DSP系统完全通过Simulink的图形化界面进行建模、系统级仿真,设计模型可直接向VHDL硬件描述语言转换,并自动调用Quartus等EDA设计

11、软件,完成综合、网表生成以及器件适配乃至FPGA的配置下载,使得系统描述与硬件实现有机的融合为一体,充分体现了现代电子技术自动化开发的特点与优势。3.2 DSP Builder设计原理及参数设置 基于DSP Builder的DDS系统如图4和图5所示,DDS子系统Subsystem有3个输入,分别为Freqword(32位频率控制字)、Phaseword(32位相位控制字)、Amp(10位幅度控制字);一个输出,即10位DDSOut输出。2个Parallel Adder Subtractor分别为相位累加器和相位调制器,LUT为正弦ROM查找表。设置Simulink的仿真停止时间stop ti

12、me为5,仿真步进Fixed Step Size为le-3。图5对应频率、相位和幅度控制字分别为4000000,0和10(参数1)时DDS系统的输出波形.图4 DDS子系统图中,DDS子系统SubDDS共有三个输入,分别为Freqword(频率字输入)、Phaseword(相位字输入)和Amp(幅度控制输入);一个输出,为DDSout。输入/输出模块的参数设置如下:Freqword模块:(Altbus)库:Altera DSP Builder中Bus Manipulation库参数“Bus Type”设为“signed Integer”参数“Node Type”设为“Input port”参数

13、“number of bits”设为“32”Phaseword模块:(Altbus)库:Altera DSP Builder中Bus Manipulation库参数“Bus Type”设为“signed Integer”参数“Node Type”设为“Input port”参数“number of bits”设为“16”Amp模块:(Altbus)库:Altera DSP Builder中Bus Manipulation库参数“Bus Type”设为“signed Integer”参数“Node Type”设为“Input port”参数“number of bits”设为“10”DDSout

14、模块:(Altbus)库:Altera DSP Builder中Bus Manipulation库参数“Bus Type”设为“signed Integer”参数“Node Type”设为“Output port”参数“number of bits”设为“10”由Delay模块和Parallel Adder Subtractor模块以及Phaseword1模块构成相位累加器,其参数如下:Parallel Adder Subtractor模块:(Parallel Adder Subtractor)库:Altera DSP Builder中Arithmetic库参数“Number of Input

15、s”设为“2”,“Add(+)Sub(-)”设为“+”选择“Pipeline”参数“Clock Phase Selection”设为“1”Delay模块:(Delay)库:Altera DSP Builder中Storage库参数“Depth”设为“1”参数“Clock Phase Selection”设为“1”Phaseword1模块:(Altbus)库:Altera DSP Builder中Bus Manipulation库参数“Bus Type”设为“signed Integer”参数“Node Type”设为“Internal Node”参数“number of bits”设为“32”

16、相位调整部分由Parallel Adder Subtractor1模块和BusConversion2模块构成,参数如下:Parallel Adder Subtractor1模块:(Parallel Adder Subtractor)库:Altera DSP Builder中Arithmetic库参数“Number of Inputs”设为“2”,“Add(+)Sub(-)”设为“+”选择“Pipeline”参数“Clock Phase Selection”设为“1”BusConversion2模块:(BusConversion)库:Altera DSP Builder中Bus Manipula

17、tion库参数“Input Bus Type”设为“signed Integer”参数“Input number of bits.”设为32参数“Output Bus Type”设为“Signed Integer”参数“Output number of bits.”设为“10”参数“Input Bit Connected to Output MSB”设为“31”参数“Input Bit Connected to Output LSB”设为“22”使用“Round”剩下的模块构成幅度控制部分,模块参数如下:Product模块:(Product)库:Altera DSP Builder中Arith

18、emtic库参数“Pipeline”设为“2”参数“Clock Phase Selection”设为“1”不选择“Use LPM”BusConversion3模块:(BusConversion)库:Altera DSP Builder中Bus Manipulation库参数“Input Bus Type”设为“signed Integer”参数“Input number of bits.”设为“20”参数“Output Bus Type”设为“Signed Integer”参数“Output number of bits.”设为“10”参数“Input Bit Connected to Out

19、put MSB”设为“18”参数“Input Bit Connected to Output LSB”设为“9”使用“Round”使用“Saturate”最后,建立子系统。至此,基本DDS模型就建立完成。在此调用上面设计的DDS子系统SubDDS,构建一个简单的DDS应用模型,见图5图5 DDS的使用图6 DDS仿真波形图3.3 DDS的FPGA实现 Matlab/Simulink对已经设计好的DDS系统进行编译,通过调用DSP Builder的SignalCompiler工具可直接生成Quartus 工程文件,再调用Quartus完成综合,网表生成和适配,直至完成FPGA的配置下载过程。本设

20、计方案采用的FPGA芯片是Altera公司的Cyclone系列芯片EP1C6Q240C8,其容量6000个逻辑宏单元,等效于标准15万逻辑门电路6,速度为-8,完成可通过单片芯片电路实现DDS,相位累加和相位调制器均为32位,正弦ROM查找表存储102410b波形数据,系统时钟为55.6MHz,利用FPGA可以根据需要方便地实现各种比较复杂的调频,调相和调幅功能,具有较好的实时性。 3.4 仿真结果 对DSP builder生成的工程文件进行仿真,针对参数设置的DDS系统,其仿真波形图如图7所示。 图7 仿真波形图4 结论 利用可编程逻辑芯片设计DDS的方法通常是采用VHDL语言输入和原理图法

21、相结合来设计整个信号发生电路,这种方法通常需要调用很多模块,综合性较强,对设计者要求较高。本文利用Quartus和Matlab/Simulink之间的接口工具DSP Builder来设计整个DDS系统,DSP_Builder具备一个友好的开发环境,并且和Quartus交互性强,易于使用。设计者只需简单了解VHDL描述语言,就可以直接调用已经建立好的Matlab和Simulink设计流程,通过Simulink的图形化界面进行建模、系统级仿真,并子对调用Quartus进行综合,网表生成和适配,最后完成向FPGA4的配置下载过程。整个设计思路灵活,图形界面简单直观,开发周期短。仿真结果表明,该设计方

22、案原理正确,行之有效。用FPGA实现DDS较专用DDS芯片更为灵活,只要改变FPGA中ROM内的数据和控制参数5,DDS就可以产生任意调制波形,且分辨率高,具有相当大的灵活性。将DDS设计嵌入到FPGA芯片所构成的系统中,其系统成本并不会增加多少,而购买专用芯片的价格则是前者的很多倍。所以采用FPGA设计DDS系统具有很高的性价比。参 考 文 献1候伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计M.西安:西安电子科技大学出版社,1999.2张昌凡,等.可编程逻辑器件及VHDL设计技术M.广州:华南理工大学出版社,2001.3曾繁泰,陈美金.VHDL程序设计M.北京:清华大学出版社,2001

23、.4潘松等.VHDL实用教程M.成都:电子科技大学出版社,2000.5李景华,杜玉远.可编程逻辑器件与EDA技术M.沈阳:东北大学出版社,2000.6Dan Morelli.Modulating Direct Digital Synthesizer in a QuickLogic FPGA.QuickLogicJ.20027周俊峰,陈涛.基于FPGA的直接数字频率合成器的设计和实现M.电子技术应用.20018庞健涛.基于DDS技术高精度移相器的实现M.西安电子工程研究所,20009任晓东,文博.CPLD/FPGA高级应用开发指南M.电子工业出版社,200310 WANG Dan. Resear

24、ch on Virtual Signal Generator Based on DDS Frequency Synthesizer J. Chinese Journal of Sensors and Actuators,200711 ZHANG Shaohui. The Sinewave Generator based on Direct Digital SynthesizerJ. China Science and Technology Information.2007The Design Of DDS Based On The Modern DSP TechnologyWANG XingAbstract :This design build DDS based on the platform of PLD. And also introduce a kind of DDS design based on the DSP Builder software and using Cyclone1C12 PLD chip as control core.Key word: dds ; modern dsp technology;fpga

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号