基于DSP Builder的AM信号发生器设计【开题报告+文献综述+毕业论文】

基于DSP Builder的AM信号发生器设计【开题报告+文献综述+毕业论文】

ID:463628

大小:3.25 MB

页数:33页

时间:2017-08-05

上传者:U-944
基于DSP Builder的AM信号发生器设计【开题报告+文献综述+毕业论文】_第1页
基于DSP Builder的AM信号发生器设计【开题报告+文献综述+毕业论文】_第2页
基于DSP Builder的AM信号发生器设计【开题报告+文献综述+毕业论文】_第3页
基于DSP Builder的AM信号发生器设计【开题报告+文献综述+毕业论文】_第4页
基于DSP Builder的AM信号发生器设计【开题报告+文献综述+毕业论文】_第5页
资源描述:

《基于DSP Builder的AM信号发生器设计【开题报告+文献综述+毕业论文】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

本科毕业论文系列开题报告电子信息工程基于DSPBuilder的AM信号发生器设计一、课题研究意义及现状信号发生器是基础的通用仪器之一,是电子工程师信号仿真实验的最佳工具,在许多领域都有广泛的应用。信号发生器的应用与分类有很多,如有基于CPLD的信号发生器、多波形信号发生器和基于FPGA的三相函数信号发生器。基于CPLD的信号发生器是CPLD为核心,采用DDS技术,此信号发生器具有可编程重置特性,分辨率高等特点,而且CPLD可以方便的改变控制方式或改变波形数据,简单易行,同时具有很高的性价比。而多波形信号发生器,采用FPGA器件,设计简单,频率稳定性高,具有稳定的输出波形,在现代电子设计中,常常采用FPGA器件来实现多波形信号发生器,采用Matlab来建立模型,来实现信号发生器,在设计过程中,能根据需要设计出对应的多波形信号发生器。相比于其他,基于FPGA的三相函数信号发生器,也是采用FPGA,在FPGA芯片上设计函数信号发生器,产生三角波,方波等多种波形,系统的频率切换快,分辨率高,而且设计采用EDA技术,缩短了周期,提高设计效率,使系统具有结构紧凑,性能稳定的特点。而在信号发生器中,调幅(AM)信号发生器占着十分重要的地位。调幅信号发生器的特点是实现调幅功能,调幅是一种调制方式,属于基带调制。使高频载波的频率随信号改变的调制。其中,载波信号的振幅随着调制信号的某种特征的变换而变化。传统的AM信号发生器都是基于FPGA实现的,采用VHDL语言或者直接硬件设计。基于DSPBUILDER的模块化设计,则可避免繁琐的程序代码编写,也可降低对设计人员的硬件设计能力要求,只要直接利用DSPBUILDER中自带的模块进行设计,仿真和编译即可。编译正确后,可利用综合、转换工具将模块化的设计转换为VHDL语言,最后在QUARTUSII中进行FPGA的实现。设计周期大大缩短,而且设计难度大大降低。二、课题研究的主要内容和预期目标主要内容:采用DDS技术,利用Matlab/DSPBuilder 建立一个信号发生器的模型,分别设计出低频调制信号与高频载波信号,设计出能够实现幅度调制的模块,并在DSPBuilder平台上实现系统编译和仿真,最后利用FPGA来实现AM信号发生器。预期目标:1.先完成系统的设计,即完成模型,设计出各种需要的信号;2.完成在DSPBuilder上的编译和仿真;3.完成论文的撰写。三、课题研究的方法及措施图1AM信号发生器系统结构框图图1显示的是AM信号发生器系统结构框图。AM信号发生器由低频调制信号产生电路,高频载波信号产生电路和调幅电路三部分组成。在Matlab/DSPBuilder平台上分别建立低频调制信号产生电路的模型,高频载波信号产生电路的模型和AM电路的模型,再利用上述3个模型实现AM信号发生器模型,对模型进行仿真,可得到AM信号发生器模型的仿真波形。再用SignalCompiler将创建的AM信号发生器的模型转化成VHDL硬件描述语言,但在转化后,还需在QuartusⅡ中进一步设置和完整编译。四、课题研究进度计划毕业设计期限:自2010年10月20日至2011年4月20日。第1周-第2周:分析课题任务,查阅与课题相关的资料,熟悉课题的研究意义。第3周-第4周:熟悉Matlab,Quartus,DSPBuilder等环境,设计模块的总体方案,并完成开题报告,文献资料,外文翻译。第5周-第6周:设计系统方案,设计硬件电路与软件程序。第7周-第8周:撰写设计论文。第9周-第10周:对设计好的系统进行调试并逐步完善。第11周-第12周:完成论文修改并完善设计作品。五、参考文献[1]雷国伟,林兴元,舒强,等.基于DSPBuilder 的通用调制信号发生器设计[J].电视技上术,2009,33(2):19~28.[2]李云飞,同晓荣.DSPBuilder在数字信号处理中的应用[J].渭南师范学院学报,2008,23(2):62-65.[3]周 峰,张睿,高攸纲.基于DDS的直接数字调频信号频谱解析式[J].电子测量与仪器学报,2008,22(5):59~61.[4]马海洋,曾真,徐广嵌.正弦信号发生器[J].国外电子元器件,2008(12):77-78.[5]张先志.基于DDS技术的线性调频信号的生成[J].现代电子技术,2008(15):30-33.[6]沈保锁,候春萍.现代通信原理[M].北京:国防工业出版社,2008,6:120-128.[7]杨守良,程正富.基于Matlab/DSPBuilder多波形信号发生器的设计[J].传感器与仪器仪表,2007,23(4-1):180-181.[8]杨丽,李镇,孙厚军,基于FPGA的多波形信号发生器[J].无线电工程,2005,7:46-48.[9]H.T.Nicholas,ⅢH.Samulei.AnalysisoftheoutputspectrumofDirectDigitalFrequencySythesizersinthepresenceofphase-accumulatortruncation,IEEEproc.41stAFCS,1987495-502.[10]HP3312.FunctionGenerator/ArbitraryWaveformGeneratorServiceGuideEdition,1994,12-18. 毕业论文文献综述电子信息工程信号发生器的应用与设计方案综述摘要:文章首先简单介绍了信号发生器的应用背景与分类,然后对基于CPLD的信号发生器,多波形信号发生器和基于FPGA的三相函数信号发生器三种应用方案分别介绍了其设计原理,实现框图,并对各种方案的优缺点进行列阐述,然后进行综合评价,供读者们参考。关键词:信号发生器;CPLD;DDS;DSP;单片机1.引言当今社会,信号发生器是电子领域中的最基本、最普通、最广泛的仪器之一,是工科类电子工程师们进行信号仿真实验的最佳的工具。信号发生器是指能产生测试信号的仪器,它又称为信号源或者振荡器,用于产生被测电路所需特定参数的电测试信号[1]。因为它的基本性和通用性,在生产实践和科技领域尤其是在电子系统设计,自动控制等领域都能得到广泛的应用。文章对信号发生器的应用举例和设计进行综合阐述。2信号发生器方案概述2.1基于CPLD的信号发生器基于CPLD的信号发生器利用了一种频率合成原理:直接数字频率合成(DirectDigitalFrequencySynthesize)技术[2],简称(DDS)。这个技术是从相位概念出发而直接合成所需的波形。DDS的理论基础则是数字信号处理当中的奈奎斯特抽样定理。这个定理规定:对于一个周期的正弦波的连续信号,可以沿相位轴方向,以相等量的相位间隔对它进行幅度抽样,从而得到了一个周期性的正弦信号的离散相位的幅度序列,对模拟幅度进行量化,量化后的幅值则是采用了相应的二进制数据编码[3]。DDS具体的原理框架图2-1-1如下所示。 图2-1-1DDS基本原理框架图在实现DDS的过程中,有一个关键的地方,那就是有一个相位累加器。相位累加器是由一个有固定时钟脉冲取样的N为相位累加器和一个N位字长的二进制加法器组成。它的结构示意图2-1-2所表示:图2-1-2相位累加器结构示意图输出波形频率f0和频率分辨率fm的计算:M为相位累加器的增量,K为频率控制字,N为相位累加器位数。(2-1-1)(2-1-2)我们在计算中可以发现,DDS的输出信号频率和频率控制字K有关系,DDS的频率分辨率和相位累加器字长N有关系。当K逐渐变大时,f0的最高输出频率小于等于fc工作输出频率40%的时候,输出波形的相位的抖动就变得很大了。经过多次的实验,得出这样的结论:在实际工作的时候,输出频率应该小于fc的1/3,而且当N增大的时候,DDS输出频率分辨率也变得精细了。2.2多波形信号发生器我们传统的波形发生器是以模拟分立元件实现,但是产生的波形种类要受到电路硬件的限制,体积庞大,灵活性差,稳定性也相对较差。但是采用FPGA器件的话就可以 直接实现多种波形信号发生器,这种波形发生器具有设计简单,频率稳定性高,稳定的输出波形,现场可编程等优点,在现代电子设计中,常常采用FPGA器件来实现多种波形信号发生器。采用Matlab/DSPBuilder建立模型来实现多种波形信号发生器,设计简单,不需要编程,能根据需要设计出对应的多波形信号发生器[4-7]。多波形信号发生器数学模型图所示:图2-2-1多波信号器数学模型在Simulink中进行的仿真是对MDL文件进行仿真,而不是对生成的VHDL代码[8]进行过仿真。而且生成VHDL描述的是RTL级的,是针对具体的硬件结构的,Matlab的Simulink中的模型仿真是算法级的,这两种在软件理解上存在差异。转换后的VHDL代码的实现与MDL模型描述的情况有可能不全部相符。这时候就需要对生成的RTL级VHDL代码进行功能仿真。利用ModelSim对多波信号发生器进行RTL级进行仿真,以验证多波信号发生器设计的正确性,其仿真图4所示:用ModelSim进行RTL级的VHDL仿真,其模型图所示:图2-2-2ModelSim进行RTL级的仿真波形多波形信号发生器的顶层设计及仿真结果: 图2-2-3多波形信号发生器的顶层原理图仿真结果:图2-2-4QuartusII的仿真结果由此仿真结果证明该设计能够实现多种波形信号的功能。2.3基于FPGA的三相函数信号发生器基于FPGA的三相函数信号发生器是基于DDS原理,频率控制字M和相位控制字P来分别控制DDS的输出波形频率和相位[9][10]。在整个波形中相位累加器是最核心的,它又一个N位的相位寄存器和一个累加器组成的。每来一个时钟脉冲时,相位寄存器就以步长M增加,如图2-3-1所示。图2-3-1波形产生框图相位寄存器每次经过2N/M个fc时钟周期后回到初始状态,相应的波形经过一个循环回到初始位置,DDS则输出一个波形。那么输出的周期T=(2N/M)Tc,它的频率则是: 系统的具体框图如图所示:图2-3-2系统框图如图2-3-2所示,系统是由单片机[11]控制模块,数模转换模块,滤波输出模块,FPGA波形产生模块,触摸屏输入和液晶显示模块组成。而单片机控制FPGA产生输入频率和相位差的三相正弦波,方波,三角波和锯齿波,经过D/A转换[12]后再滤波输出。2.4设计方案综述在基于CPLD的信号发生器中,以CPLD为核心,采用最新的DDS技术,而基于CPLD的信号发生器具有可编程重置特性,频率分辨率高,变化快等优点,而且CPLD可以方便的改变控制方式或更改波形数据,并且简单易行,易于系统升级,同时具有很高的性价比。而多波形信号发生器,采用FPGA器件,设计简单,频率稳定性高,稳定的输出波形,在现代电子设计中,常常采用FPGA器件来实现多种波形信号发生器,采用Matlab来建立模型,来实现这种信号发生器,设计简单,不需要编程,能根据需要设计出对应的多波形信号发生器。相比于其他,基于FPGA的三相函数信号发生器,在FPGA芯片上设计函数发生器,产生三角波,方波等多种波形,系统的频率切换快,分辨率高,设计采用EDA技术,缩短周期,提高了设计效率,而且使系统具有结构紧凑,设计灵活,性能稳定的特点。3结论信号发生器是电子工科领域中最基本最普遍的设计仪器之一,在电子领域中具有很高的地位。基于CPLD的信号发生器频率分辨率高,变化快;多波形信号发生器和函数信号发生器都可以基于FPGA设计,基于FPGA器件的多波形信号发生器设计简单,不需要编程,能根据需要设计出信号发生器;而基于FPGA器件的函数信号发生器,不仅能产生各种波形,而且系统的频率切换快,设计中更是使用了EDA技术,是系统更加结构紧凑,设计灵活。 随着电子产业的发展,人们对市场上的电子产品的要求也逐渐增加,优秀电子产品也是电子爱好者的挚爱选择。我相信,在不久的中国,随着电子产业水平的不断提升,越来越好的信号发生器将会出现。参考文献:[1]信号发生器的定义[EB/OL],[2010-10-22].http://baike.baidu.com/view/323753.htm.[2]孔冬莲.基于CPLD器件的函数信号发生器[J].沙洋师范高等专科学校学报2006,5.15-18[3]沈保锁,候春萍.现代通信原理[M].北京:国防工业出版社,2008,6:120-128.[4]杨守良,程正富.基于Matlab/DSPBuilder多波形信号发生器的设计[J].传感器与仪器仪表,2007,23(4-1):180-181.[5]张厥盛.锁相技术[M].西安:电子科技大学出版社,2002,1.[6]杨丽,李镇,孙厚军,基于FPGA的多波形信号发生器[J].无线电工程,2005,7:46-48.[7]H.T.Nicholas,ⅢH.Samulei.AnalysisoftheoutputspectrumofDirectDigitalFrequencySythesizersinthepresenceofphase-accumulatortruncation,IEEEproc.41stAFCS,1987495-502.[8]VHDL的定义特点[EB/OL],[2010-10-22].http://baike.baidu.com/view/1201.htm.[9]赫小江,罗彪,基于FPGA的函数信号发生器[J].电测与仪表,2008,5.49-55[10]HP3312.FunctionGenerator/ArbitraryWaveformGeneratorServiceGuideEdition,1994,12-18.[11]单片机系统的原理及应用[EB/OL],[2010-10-23].http://wenku.baidu.com/view/d040590e7cd184254b353552.html.[12]D/A转换器工作原理[EB/OL],[2010-10-24].http://mtscai.swjtu.edu.cn/cat/shumo/dazh.htm. 本科毕业设计(20届)基于DSPBuilder的AM信号发生器设计摘要信号发生器是指能产生测试信号的仪器,又称为信号源或者振荡器。目前的调制技术有很多种,论文简单阐述了AM调制、FM调制的原理与实现。幅度调制(AM)是最常用的调制技术之一。调幅信号发生器主要实现调幅功能,使高频载波的频率随信号改变,属于基带调制。文章阐述了本课题的应用背景以及研究意义。概述了本次设计涉及的三个平台,包括Matlab、DSPBuilder和QuartusⅡ。介绍了基于DSPBuilder 的设计流程。根据DDS原理,首先实现了基于DSPBuilder的DDS建模,然后以这一模型为基础,依次实现了低频调制信号模块、高频载波模块和幅度调制模块。对设计结果进行功能验证及仿真,最后利用signalcompiler工具将模型进行适配、综合和转换,生成QuartusⅡ下的工程。对该工程进行最终的行为级仿真,经验证正确后,即可下载至目标板,驱动目标程序。论文生成了最终的目标文件,但没有进行最终的下载与驱动。论文还记录和整理了设计、调试和仿真过程中出现的问题,给出自己的分析,供读者参考。关键词:信号发生器;AM调制;DSPBuilder;DDS;QuartusⅡAbstractSignalgeneratorisaninstrumenttoproducetestsignals,itisalsoknownassourseoroscillator.Now,thereareavarietyofmodulationtechniques.PaperbrieflydiscussestheAMmodulation,FMmodulationprincipleandimplementation.Amplitudemodulation(AM)isoneofthemostcommonmodulationtechnique.AMsignalgeneratorachieveamplitudemodulationfunction.Itmakesthehigh-frequencychangethefrequencyofthecarrier,itisbase-bandmodulation.Thispaperdescribestheapplicationbackgroundofthisissueandtheresearchsignificance,thisarticleoutlinesthedesigninvolvesthethreeplatforms,includingMatlab,DSPBuilderandQuartusⅡ,thispaperintroducestheDSPBuilder-baseddesignflow.AccordingtoDDStheory,firstimplementedintheDDS-basedmodelingofDSPBuilder,andthentothemodel,inordertoachievethelowfrequencymodulationsignalmodules,high-frequencyamplitudemodulationofthecarriermoduleandthemodule,functionalverificationofdesignandsimulationresults,thelastusesignalcompilertooltomodeladaptation,integrationandtransformation,generatedundertheprojectQuartusⅡ.Thebehaviorofthefinalproject-levelsimulation,provencorrect,youcandownloadtothetarget,drivingthetarget program.Theultimategoalofgeneratingapaperdocument,butnofinaldownloadsanddrivers.Thepaperalsorecordsandputtogetherthedesign,debuggingandsimulationproblemsarisingintheprocess,givetheirownanalysisforreference.KeyWords:SignalGenerator,AMmodulation,DSPBuilder,DDS,QuartusⅡ目录1引言11.1课题的应用背景和意义11.2论文的内容与组织结构22调制技术概述32.1AM调制原理及实现32.2FM调制原理及实现43设计平台概述53.1Matlab软件概述53.2DSPBuilder概述53.2.1DSPBuilder平台简述53.2.2DSPBuilder设计流程63.3QuartusII集成环境概述84基于DSPBUILDER的AM调制信号发生器设计94.1基于DSPBuilder的DDS实现94.2AM信号发生器的设计与实现104.2.1低频调制信号的设计与实现104.2.2高频载波信号的设计与实现134.2.3幅度调制电路的设计与实现144.2.4系统的顶层设计与转换165调试与仿真195.1低频调制模块195.2高频载波模块20 5.3AM信号发生器模块205.4QUARTUSII行为仿真216总结22致谢22参考文献23 1引言1.1课题的应用背景和意义信号发生器是基础的通用仪器之一,是电子工程师信号仿真实验的最佳工具,在许多领域都有广泛的应用。信号发生器的应用与分类有很多,如有基于CPLD的信号发生器[1],多波形信号发生器[2][3]和基于FPGA的三相函数信号发生器[4]。基于CPLD的信号发生器是CPLD为核心,采用DDS技术,此信号发生器具有可编程重置特性,分辨率高等特点,而且CPLD可以方便的改变控制方式或改变波形数据,简单易行,同时具有很高的性价比。而多波形信号发生器,采用FPGA器件,设计简单,频率稳定性高,具有稳定的输出波形,在现代电子设计中,常常采用FPGA器件来实现多波形信号发生器,采用Matlab来建立模型,来实现信号发生器,在设计过程中,能根据需要设计出对应的多波形信号发生器。相比于其他,基于FPGA的三相函数信号发生器,也是采用FPGA,在FPGA芯片上设计函数信号发生器,产生三角波,方波等多种波形,系统的频率切换快,分辨率高,而且设计采用EDA技术,缩短了周期,提高设计效率,使系统具有结构紧凑,性能稳定的特点。而在信号发生器中,调幅(AM)信号发生器占着十分重要的地位。调幅信号发生器的特点是实现调幅功能,调幅是一种调制方式,属于基带调制[5]。使高频载波的频率随信号改变的调制。其中,载波信号的振幅随着调制信号的某种特征的变换而变化。传统的AM信号发生器都是基于FPGA实现的,采用VHDL语言[6]或者直接硬件设计。本设计是基于DSPBuilder的模块化设计,可避免繁琐的程序代码编写,也可降低对设计人员的硬件设计能力要求。只要直接利用DSPBuilder中自带的模块进行设计,仿真和编译即可。编译正确后,可利用综合、转换工具将模块化的设计转换为VHDL语言,最后在QuartusII中进行FPGA的实现。设计周期大大缩短,而且设计难度大大降低。1.2论文的内容与组织结构围绕课题,主要完成以下工作:1.熟悉DSPBuilder平台,熟悉基于DSPBuilder的一般设计流程;2.了解和熟悉DDS技术,查阅相关的DDS原理,完成基于DSPBuilder的DDS设计;3.查阅AM信号发生器设计的原理内容,熟悉低频调制信号和高频载波信号的原理和框架,设计实现幅度调制模块,实现顶层设计,完成系统的编译和仿真,分析验证其正确性;4.对设计与调试过程中出现的问题进行整理和分析。 本文一共有6章,第一章为引言,简单介绍课题的应用背景与论文的组织结构;第二章介绍各种调制技术的原理与实现方法;第三章就本课题涉及的DSPBuilder平台,Matlab软件以及QuartusII集成环境[7]进行了概述;第四章为论文的重点,详细阐述设计过程。在Matlab/DSPBuilder环境下建立DDS模型、信号发生器模型,进一步建立低频调制信号和高频载波信号以及幅度调制模型,最后实现系统功能;第五章为本次设计的仿真、调试及验证;第六章总结了在本次设计中出现的困难与解决过程。2调制技术概述2.1AM调制原理及实现AM就是常规双边带调制,假设调制信号m(t)的平均值为0,将其叠加一个直流偏量后与载波相乘,就可以形成调幅信号。AM调制器原理如图2-1所示。图2-1AM信号调制原理图如图2-1所示,其中为外加直流分量;m(t)可以是确知信号,也可以是随机信号。如果m(t)是确知信号,那么AM的频谱表达式与时域表达式分别如式2-3和2-4所示。(2-1)(2-2) AM信号波形的包络和输入基带信号m(t)成正比,所以用包络检波的方法很容易恢复原始的调制信号,如果不发生失真,就必须满足大于等于|m(t)|的最大值,否则就会出现过调幅现象而带来失真。AM信号的频谱是由载频分量和上边带和下边带两部分组成,上边带的频谱和原来调制信号的频谱结构相同,而下边带则是上边带的镜像。所以不论是上边带和下边带,都含有原先调制信号的完整信号。因此AM信号是带有载波的双边带信号,它的带宽是基带信号的两倍,也就是(2-3)在公式中,=为调制信号m(t)的带宽,是调制信号的最高频率。2.2FM调制原理及实现使高频信号的瞬时频率随调制信号而变化的过程叫做调频(FM)[8],用调制信号控制载波的振荡频率,使载波的频率随着调制信号变化,调频波的振幅保持不变,调频波的瞬时频率偏离载波频率的量与调制信号的瞬时值成比例。频率调制的一般表达式为(2-4)FM与PM很相似,如果事先不知道所需要调制信号的具体形式,则无法判断信号是调频信号还是调相信号。图2-2显示的是一种产生调频信号的方法,叫做直接调频法。图2-2直接调频法图2-3显示的是另一种方法,叫做间接调频法。图2-3间接调频法而由于相位调制器的实际调节范围是不可能超出,所以间接调频法只能适用于相位和频率偏移都不大额度窄带调制,但是直接调频的方法则是适合用于宽带调制的情况下。对于FM调制的实现,则可以利用modulate这个函数来实现,其函数表达式为(2-5)其中x表示调制信号,fc表示为载波频率,fs表示的是y的采样频率,所有频率的单位都是Hz。 3设计平台概述3.1Matlab软件概述Matlab程序设计语言是美国Mathworks公司20世纪80年代中期推出的一种高性能数值计算软件,公司经过20余年的开发扩充和不断的完善,Matlab已经发展成为了一款适合多科学应用,功能强大的大型的系统软件,使它成为了控制系统仿真与设计、数值计算、信号处理等领域最重要的一款软件。而且Matlab软件已经成为了一些课程的基本仿真计算与设计的工具,比如线性代数,控制理论,数理统计,数字信号处理等,使它成为了大学学习的必修内容。Matlab是由主包和功能不一的工具箱组成,最基本的数据结构是矩阵,即操作对象是以矩阵为单位的,而随着Matlab的不断发展和各种工具箱的不断开发,Matlab软件已经成为了一种功能强大的实时工程计算软件,广泛应用于各种科学领域。Matlab的核心是一个基于矩阵运算的快速解释程序。首先它提供了一个开放式的集成环境,用户可以运行系统提供的很多命令,包括图形的绘制,数值的计算等等。接着它以一种交互的方式接受用户输入的各种指令,然后输出计算的结果。Matlab具有庞大的功能,具体如数值计算功能,优化工具功能,“活”笔记本功能,数据分析和可视化功能,非线性动态系统建模与仿真功能等等。Matlab功能如此巨大,它的特点也是显著,它具有编程效率高,界面用户使用方便,方便的图形功能智能化程度高等等特点。[9]3.2DSPBuilder概述3.2.1DSPBuilder平台简述DSP作为一种微处理器,它的任务是完成实时数字信号处理,核心是算法和实现。DSP器件的发展,必须兼顾3P的因素,也就是性能(performance),功耗(powerconsumption)和价格(price)。随着VLSI技术的发展,现代DSP器件在价格显著下降的同时,仍然保持着性能的不断完善和单位运算量的功耗不断降低。DSPBuilder是美国Altera公司推出的一个面向DSP开发的系统级工具,DSPBuilder将MathWorks公司的Matlab和Simulink系统级设计工具的计算开发,仿真和验证的功能与VHDL的综合,仿真和Altera开发工具结合在一起,使这些工具有效的集成。DSPBuilder是Matlab中Simulink的其中一个工具箱,能够使得用FPGA设计DSP系统可以通过Simulink的图形化界面来进行创建信号发生器等模型,以及实现仿真。基于DSPBuilder的模块化设计,则可以避免繁琐的程序代码编写,也可以降低对设计人员额度硬件设计能力要求,只要直接利用DSP Builder中自带的模块进行设计,仿真与编译就行。编译正确后,可以利用综合,转化工具将模块化的设计转换为VHDL语言,最后可以自动调用QuartusII完成综合,网表生成以及器件适配乃至FPGA的配置下载,使得系统描述与硬件实现有效的合为一体。有关DSPBuilder设计平台的特点,由于篇幅关系,在此不再描述,读者可参阅相关文献。3.2.2DSPBuilder设计流程DSPBuilder将MathWorks公司的Matlab与Simulink系统级设计工具的算法开发,仿真与验证功能和VHDL综合,仿真和Altera开发工具整合在一起,为使用者提供了一个完整的DSP平台。DSPBuilder可以通过帮助设计人员创建一个DSP设计的硬件来缩短DSP的开发周期。现在的Matlab功能与Simlink块以及Altera的DSPBuilder块和MageCore功能块有效地结合在一起,能够使系统,算法和硬件设计共同享用一个通用的开发平台。设计者可以利用DSPBuilder中的功能块来为Simulink中的系统模型创建硬件。DSPBuilder包含了按周期设计和按位的Simulink功能块,这些功能块覆盖了一些最基本的操作。比如说存储和运算的功能。在DSPBuilder模型中,通过使用MageCore功能块,可以使一些复杂的功能比较容易的实现。Altera公司的MageCore功能块是一个参数化,高级的IP功能,比如快速傅里叶变化(FFT)和有限脉冲响应(FIR)滤波器,都可以根据系统的性能需求来进行简单快速的配置。[10]DSPBuilder的SignalComiler块读入Simulink的模型文件(.mdl),这个模型文件是用DSPBuilder和MageCore块生成的,接着生成VHDL文件和TCL脚本文件,用于综合和硬件的实现与仿真。DSPBuilder可以帮助设计者完成基于FPGA的DSP或者其他的电子系统设计。DSPBuilder可以自动完成大部分的设计过程,仿真,替设计者省去了麻烦的设计过程。图3-1显示的是DSPBuilder的设计流程。图3-1DSPBuilder,Matlab结合设计及步骤 设计的具体步骤如下:第一部分:在Matlab/Simulink中进行设计的输入,也就是在Matlab中的Simulink环境中建立一个(.mdl)模型文件,调用DSPBuilder和Simulink库中的图形模块,连接构成一个系统级的设计框图,这个就是Simulink的设计模型。第二部分:在Simulink中进行仿真,分析这个设计模型的正确性,经过不断地修改,最后完成正确的模型仿真。第三部分:因为EDA工具的软件并不能直接处理Matlab的.mdl文件,所以在设计过程中需要进行一个转化。而这个转化就是通过SignalCompiler的模型文件将mdl文件转化成硬件描述语言VHDL语言,而转化以后的VHDL语言是基于RTL级的。在第一部分和第二部分的设计过程中,设计模型使用的都是DSPBuilder和Simulink库中的图形模块,这和一般的Simulink创建模型是有区别的,但是两种创建模块的方法中都使用到了EDA软件。3.3QuartusII集成环境概述Altera公司的QuartusII提供了一个完整的多平台设计环境,能满足各种特定设计的需求,是单芯片可编程系统(SOPC)设计的开发和综合性环境的一个基本设计工具,并且为AlteraDSP开发包进行系统模型设计提供了一个集成综合环境。QuartusII的设计工具支持VHDL,Verilog的设计流程,因为QuartusII设计工具内部拥有VHDL,Verilog逻辑综合器。QuartusII同时也可以使用第三方的综合工具,比如说SynplifyPro,LeonardoSpectrum,FPGACompilerII,并且能够直接调用这些工具。同样的,QuartusII也具备仿真的功能,并且也支持第三方的仿真工具,比如ModelSim。此外,QuartusII能与Matlab和DSPBuilder结合,能够进行基于FPGA的DSP系统的开发,是EDA工具中实现DSP硬件系统的一种关键工具。在QuartusII中包括模块化的编译器。编译器的主要功能模块包括分析/综合器(Analysis&Synyhesis),适配器(Fitter),时序分析器(TimingAnalyzer),装配器(Assembler),EDA网表文件生成器(EDANetlistWriter),设计辅助模块(DesignAssistant),编辑数据接口(CompilerDatabaseInterface)等等。设计者可以通过选择StartCompilation来运行所有的编译器模块,同时也可以通过选择Start单独运行各个模块,设计者还可以通过CompilerTool(Tools菜单),在CompilerTool窗口中运行这个模块来启动编译器模块。在CompilerTool窗口中,可以打开该模块的报告文件或者设计文件,或者打开其他的相关窗口。此外,在QuartusII中还包含了许多十分有用的LPM(LibraryofParameterizedModules)模块,它们都是高级或者复杂系统构建的重要组成部分,在SOPC设计中被设计者大量使用。 4基于DSPBuilder的AM调制信号发生器设计4.1基于DSPBuilder的DDS实现直接数字频率合成技术(DirectDigitalFrequencySynthesize),简称(DDS)[11],这是一种从相位概念出发直接合成所需波形的一种全新的全数字频率合成技术,主要结构是由相位累加器,正弦波形表,D/A转换器[12],低通滤波器[13]组成。DDS的理论基础是数字信号处理当中的奈奎斯特抽样定理[14]。这个定理规定:对于在一个周期内的正弦波的连续信号,可以沿相位轴方向,以相等量的相位间隔对它进行幅度抽样,从而得到了一个周期性的正弦信号的离散相位的幅度序列,对模拟幅度进行量化[15],量化后的幅度值则是采用了相应的二进制数据编码。DDS的主要特点是频率转换速度快,相位噪声低,相位连续变化,体积小,重量轻,频率分辨率极高等等。当然也有它的缺点,比如说工作频段低,频段狭窄,并且不能直接用于宽带微波频段,通常用于产生基带信号。DDS具体的原理框架图如4-1所示。图4-1DDS基本原理框架图DDS实现原理的核心是相位累加器。相位累加器是由一个固定时钟脉冲取样的N位相位累加器和一个N位字长的二进制加法器组成。相位累加器的结构示意图如图4-2所示。图4-2相位累加器结构示意图输出波形频率f0和频率分辨率fm的计算如下:M为相位相位累加器的增量,K为频率控制字,N为相位累加器位数。(4-1)(4-2) 由公式(4-1)可知,DDS的输出信号频率和频率控制字K有关系,DDS的频率分辨率和相位累加器字长N有关系。当K逐渐变大,f0的最高输出频率小于等于fc工作输出频率40%时,输出波形的相位抖动变大。经过多次的实验,得出如下结论:在实际工作的时候,输出频率应该小于fc的1/3,而且当N逐渐增大的时候,DDS的输出频率分辨率变小。4.2AM信号发生器的设计与实现AM信号发生器是由低频调制信号产生电路,高频载波信号产生电路,幅度调制电路三部分组成。系统的结构框图如下图4-3所示。图4-3系统的结构框图假设低频调制信号为,高频载波信号为,调幅系数为(0<<1),则系统输出的调幅波信号为:(4-3)4.2.1低频调制信号的设计与实现首先在Matlab/DSPBuilder平台上,建立一个低频调制信号产生电路的模型,将此模型命名为DPTZ,后缀名为.mdl,模型如图4-4所示。 图4-4低频调制信号产生电路模型在上图中,系统中共有2个输入,分别是LFWORD_IN低频调制信号频率字输入:PWORD_IN低频调制信号相位字输入;有一个输出:SIM_OUT低频正弦调制信号输出。Delay1,Adder1,AltBus1以及BusConcatenation2,BusConatenation3构成了一个相位累加器,而加法器模块Adder1使用了“pipeline”流水线结构,因为其中已经包含了寄存器,所以加法器出来以后就不需要再设计延时模块。Adder2,BusConatenation1构成了一个相位调整部分。SINLUT1是一个输入地址为12位,输出值位宽是12的正弦查找表,而且输入地址的总线是有符号数,那么就可以设置起始值为0,结束值为,步进值设置为/,SIMLUT模块的参数“MatlabArray”设置为2047*sin([0:2*pi/(2^12):2*pi])(4-4)具体设置方式如下图4-5所示。图4-5MatlabArray的参数设置BusConcatenation2与BusConcatenation3中的“WitdhofInput”参数设置分别如图4-6和图4-7所示。 图4-6“WitdhofInput”参数设置图4-7“WitdhofInput”参数设置4.2.2高频载波信号的设计与实现载波是指调制传输信号的波形,一般是正弦波。信号的载波,就是把普通信号比如说声音和图像加载到一定频率的高频信号上,在没有加载普通信号的高频信号时,高频信号的波幅是固定的,波幅在加载之后就随着普通信号的变化而变化,载波信号一般要求正弦载波的频率要高于调制信号的带宽,否则要发生混叠效应,使传输信号失真。载波信号的作用有3点,第一能够减小传输的噪音,第二频分复用,即同一频率之间同一信道传输多路信号而不混叠,第三颗传输更远距离,有利于接收。要设计高频载波信号产生电路,首先在Matlab/DSPBuilder平台上,创建高频载波信号产生电路的模型,将此模型命名为GPZB,模型图如4-8所示。 图4-8高频载波信号产生电路模型高频载波信号产生电路的模型和低频调制信号产生电路的模型在工作原理上相同,但不同的是高频载波信号产生电路模型中的BusConcatenation5和BusConcatenation6中的a和b的“WitdhofInput”数值与低频调制信号产生电路模型中的BusConcatenation2和BusConcatenation3的“WitdhofInput”数值不同。高频载波信号产生电路模型中的BusConcatenation5和BusConcatenation6中的a和b的“WitdhofInput”数值参数则是如下2张图设置。图4-9BusConcatenation5中“WitdhofInput”参数设置 图4-10BusConcatenation6中“WitdhofInput”参数设置高频载波信号产生电路模型中的adder3的32位频率控制字比低频调制信号产生电路模型中的adder1的32位频率控制字要大得多,高频载波信号产生电路模型输出信号的频率比低频调制信号产生电路模型输出信号的频率要高得多。4.2.3幅度调制电路的设计与实现幅度调制是用调制信号去控制高频正弦载波的幅度,使其按照调制信号的规律变化的过程。其中调幅波的频率仍然是载波的频率,调幅波包络的形状反映调制信号的波形。幅度调制的一般模型如图4-11所示。图4-11幅度调制的一般模型其中,m(t)为调制信号,(t)为已调信号,h(t)为滤波器的冲击响应,那么已调信号的时域与频域一般表达式分别是(4-5)(4-6)其中,M()为调制信号m(t)的频谱,H()—h(t),为载波角频率。 对于幅度调制信号而言,其幅度随基带信号规律变化;其频谱则是基带信号频谱在频域内的简单搬移。因为这种搬移是线性的,所以幅度调制又被称为线性调制,因此幅度调制系统也被称为线性调制系统。如果适当选择滤波器的特性H(),就可以得到各种幅度调制信号,例如常规双边带调幅(AM),抑制载波双边带调幅(DSB-SC)等等。设计幅度调制电路步骤如下:首先在Matlab/DSPBuilder平台上,创建AM电路的模型,将此模型命名为FDTZ,具体模型如下图4-12所示。图4-12幅度调制电路模型低频调制信号和调幅系数控制字KWORD送入product1中相乘,输出的数据取高12位和2048相加。因为输入的是高12位的乘积,所以常数2048就相当于此公式中的常数1(4-7)Adder5的输出信号和高频载波信号相乘以后就得到AM信号,由SIMLUT的参数“MatlabArray”表达式可看出,输出的正弦信号是是与符号数,但是一般的DAC器件的输入数据都是无符号的正数。最后Adder6将常数2048与product2中的高12位相加,输出无符号的AM信号。常数2048的设置如下图4-13所示。图4-13常数的设置4.2.4系统的顶层设计与转换将前三个模块进行综合,可设计出系统的顶层模块,如图4-14所示。对顶层模块进行仿真、编译,验证其设计为正确后,即可进行转换,将该模型最终转换为可以驱动目标板的驱动程序。 图4-14系统的顶层模块用SignalCompiler将AM信号发生器的模型转化成VHDL硬件语言。步骤是双击SignalCompiler图标,在弹出的对话框中点击“Compiler”,DSPBuilder将会调用QuartusII来进行全程编译,这一过程包括了创建QuartusII工程,综合和适配。SignalCompiler将.mdl文件转化成VHDL语言,然后在QuartusII中进行进一步的设置和完整的编译。具体转换设置如下图4-15所示。图4-15转换界面转换生成后产生的资源信息界面如下图4-16所示。 图4-16转换时产生的资源信息界面在得到资源信息之后,就可得到转换之后的VHDL源代码,因源代码程序庞大,这里只显示部分源代码,如下图所示4-17所示。图4-17生成的VHDL源代码5调试与仿真 5.1低频调制模块在Matlab/DSPBuilder平台上设计低频调制信号产生电路的模型,先设置相位字和频率字:低频调制信号相位控制字为80,低频调制信号频率控制字为100,外接示波器,可得如图5-1所示的波形。经简单分析,可得输出波形是正确的。图5-1低频调制信号仿真波形修改相位字,低频调制信号相位控制字为0,低频调制信号频率控制字不变,仍为100,外接示波器,得输出波形如图5-2所示。显然,输出波形的相位为0,与设置参数一致。图5-2相位字为0的输出波形修改频率字,改为50,低频调制信号相位控制字不变,外接示波器,得输出波形如图5-3所示。与上图对比,上图的频率字为100,0-1内的波形个数由6个变为3个,所以验证了设计的正确性。 图5-3相位字为0,频率字为50的输出波形5.2高频载波模块在Matlab/DSPBuilder平台创建高频载波信号产生电路模型,设置相位字和频率字:高频载波信号相位字为80,高频载波信号频率字为70,步骤同上,得到如图5-4所示的输出波形。图5-4高频载波信号仿真波形5.3AM信号发生器模块在Matlab/DSPBuilder平台上创建AM信号发生器模型后,设置幅度系数控制字为110,经过不断的调试,可得到如图5-5所示的仿真波形图。图5-5中上面为低频调制信号,中间为高频载波信号,下面是幅度调制输出信号。显然,完全实现了AM调制的功能,说明设计是正确的。 图5-5AM信号发生器模型的仿真波形5.4QUARTUSII行为仿真将AM信号发生器的模型进行适配、综合和转换,详细步骤如4.2.4所示。然后在QUARTUSII中对转换后产生的工程进行最终的行为级仿真,步骤如下:打开.VEC后缀的波形文件,修改引脚。自动生成的文件中对所有的引脚名称前面加了“i”,后面加了“s”,如果直接对该文件进行仿真,将会出错。将修改后的文件另存为后缀名为.vwf的同名文件,然后进行时序或者功能仿真。仿真界面如图5-6所示。图5-6最终的行为级仿真6总结 至此,本人基本完成了毕业设计的任务。在设计之初,本人对于Matlab/DSPBuilder的认识几乎是零,不过通过自己不断的学习,从安装软件平台到在平台上实现毕业设计的内容,比较了解了DSPBuilder,熟悉了FPGA的整个开发流程。本次设计的内容是设计一个AM信号发生器。在设计过程中遇到了很多问题,比如模块参数的设置。在写论文时,因经验不足,构思不好论文的整体结构,但本人通过查阅资料,请教老师和同学,还是比较圆满地解决了问题。经过本次设计,使我学会了很多,不管是具体的设计还是论文的撰写。本次设计,使我提高了自我学习的能力。参考文献[1]孔冬莲.基于CPLD器件的函数信号发生器[J].沙洋师范高等专科学校学报2006,5.15-18.[2]杨守良,程正富.基于Matlab/DSPBuilder多波形信号发生器的设计[J].传感器与仪器仪表,2007,23(4-1):180-181.[3]H.T.Nicholas,ⅢH.Samulei.AnalysisoftheoutputspectrumofDirectDigitalFrequencySythesizersinthepresenceofphase-accumulatortruncation,IEEEproc.41stAFCS,1987495-502.[4]赫小江,罗彪.基于FPGA的函数信号发生器[J].电测与仪表,2008,5.49-55.[5]幅度调制的原理[EB/OL],[2011-3-10].http://www.xcwxd.gov.cn/ReadNews.asp?NewsID=41.[6]VHDL的定义[EB/OL],[2011-3-10].http://baike.baidu.com/view/1201.htm.[7]QuartusII集成环境简介[EB/OL],[2011-3-9].http://cslab.nju.edu.cn/resources/quartusII_CirC.files/frame.htm.[8]顾涵铮,周雪娇.高频电路原理[M],杭州:浙江大学出版社,2006,5:215-222.[9]Matlab软件概述[EB/OL],[2011-3-11].http://wenku.baidu.com/view/a652a67001f69e3143329453.html.[10]潘松,黄继业,曾毓,SOPC技术使用教程[M],北京:清华大学出版社,2005,3:100-125.[11]DDS基础原理[EB/OL],[2011-3-9].http://wenku.baidu.com/view/6bffe4bc960590c69ec376d6.html.[12]D/A转换器工作原理[EB/OL],[2011-3-11].http://mtscai.swjtu.edu.cn/cat/shumo/dazh.htm.[13]FredJ.TaylorDigitalFilterDesignHandbook.MarcelDekker.Inc.MarcelDekker,Inc.1983:20-40.[14]奈奎斯特原理分析[EB/OL],[2011-3-10].http://www.dz3w.com/articlescn/digital/0075630.html.[15]线性量化的定义[EB/OL],[2011-3-11]http://zhidao.baidu.com/question/5712011.html.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭