基于DSP Builder的数字陷波器设计【开题报告+文献综述+毕业论文】

基于DSP Builder的数字陷波器设计【开题报告+文献综述+毕业论文】

ID:463630

大小:778.31 KB

页数:38页

时间:2017-08-05

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

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

本科毕业论文系列开题报告电子信息工程基于DSPBuilder的数字陷波器设计一、课题研究意义及现状滤波是信号处理的重要环节之一。数字滤波器在图像处理、语音识别、模式识别、高清电视等数字信号处理中都起着关键作用。数字滤波器可以满足滤波器幅度和相位特性的严格要求,可以克服模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。而传统的模拟滤波器在精度上无法与数字滤波器相比,尤其是在多阻带多通带滤波器设计方面,模拟滤波器更是无能为力,因此对数字滤波器的研究是十分必要且有广泛应用价值的。数字滤波器实际上是一个采用有限精度算法实现的线性非时变离散系统,理想带阻数字滤波器,能在保证其他频率的信号不损失的情况下,有效的抑制输入信号中某一频率信息。目前陷波器硬件实现主要有模拟电路方式与数字电路方式。根据数字滤波器冲激响应函数的时域特性,可将数字滤波器分为无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器两种。IIR数字滤波器与FIR数字滤波器相比,它可以用较低的阶数获得较高的选择性,在实现时所用存储单元少,经济而且高效,在相同门级规模和相同时钟速度下可以提供更好的带外衰减特性等突出优点而在工程实际中获得广泛应用。因此本课题拟定采用IIR数字滤波器结构。滤波器的硬件平台主要有单片机、FPGA和DSP等。FPGA是目前电路系统设计的主要实现硬件之一,也是数字信号处理的主要实现平台。FPGA具有功耗低,运算速度快,通用性强,能重复/在线编程的优点,使用FPGA来进行数字信号处理可以缩小硬件规模,提高系统的灵活性、可靠性和实时性,所以很多工程应用可编程逻辑门阵列(FPGA)来完成数字信号处理。本次设计我采用IIR数字滤波器结构,利用DSPBuilder建立陷波器的模型设计,并在DSPBuilder平台上完成仿真和编译。利用DSPBuilder 设计数字陷波器滤除100Hz干扰噪声。模块化的设计方法可以避免繁琐的程序代码编写,缩短开发周期,降低设计难度。二、课题研究的主要内容和预期目标主要内容:采用IIR数字滤波器结构,并利用DSPBuilder建立陷波器的模型设计,并在DSPBuilder平台上完成仿真和编译,实现滤除干扰噪声的功能。滤波器技术指标:噪声干扰频率100Hz,3dB带边频率为95z和105Hz,阻带衰减不小于30dB。预期目标:1、根据技术指标要求,实现整个系统的模块化设计;2、实现系统功能的仿真与验证;3、完成毕业论文的撰写;三、课题研究的方法及措施相关参数计算:信号频带宽度为99Hz至101Hz根据采样定理则采样频率为fs≥2fc,所以数字滤波器系统的采样频率可选择为1000Hz。由于指标要求滤波器滤除100Hz的噪声,则可得陷波器的阻带中心频率为ωT=2πf/fs=0.2π。课题设计思路:首先在MATLAB/SIMULINK,利用FDATool工具,输入课题的相关参数,计算得到IIR滤波器的阶数、系数等相关参数。对滤波器的参数进行四舍五入的截取。再采用图1所示的IIR滤波器结构进行建模。对模型加入信号源和显示设备。然后进行功能仿真,再进行编译、综合和转换,将转换后的工程在QUARTUSII中进行FPGA的实现与最终的行为级仿真。 图1IIR滤波器的基本结构四、课题研究进度计划毕业设计期限:自2010年10月20至2011年4月20日。第1周—第2周:分析任务,查阅文献资料,研究分析课题的关键技术。第3周—第4周:熟悉MATLAB、DSP Builder和QUARTUSII集成环境。设计系统总体方案,完成开题报告、文献综述、外文翻译。第5周—第6周:系统总体方案设计,软件程序设计。第7周—第8周:撰写设计论文。第9周—第10周:系统调试并完善。第11周—第12周:设计作品完善,论文修改。五、参考文献[1]周亚凤,李跃华,朱昊.基于FPGA的16阶FIR滤波器的设计[J].南京工业大学学报:自然科学版,2005,1,27(1):46~50.[2]张兆东.基于FPGA的32阶FIR滤波器设计[J].兰州石化职业技术学院学报,2007,3,7(1):10~13.[3]潘松,黄继业,王国栋.现代DSP技术[M].西安:西安电子科技大学出版社,2009,3,25(2):148~149,193.[4]罗韩军,刘明伟,王成.基于DSPBuilder的FIR滤波器设计与实现[J].微计算机信息,2009,2,25(2):148~149,193.[5]潘松,黄继业,曾毓.SOPC技术实用教程[M].北京:清华大学出版社,2005,3.[6]范寒柏,司加祯.基于DSPBuilder的16阶FIR滤波器实现[J].现代电子技术,2009,32(20):193~195.[7]周彬,秦玉娟,王振利.FIR数字滤波器的FPGA实现研究[J].电子设计工程,2010,3,18(3):59~61,64.[8]李春江,吴桂生.FIR滤波器FPGA实现[J].电子测量技术,2004,(5):62~63.[9]王学梅.基于FPGA的有限冲激响应数字滤波器的研究及实现[D].长沙:中南大学,2005.[10]Altera.DSPBuilderUserGuide[EB/OL].[2009-04-20].http://www.altera.com/literature/ug/ug_dsp_builder.pdf. 毕业论文文献综述电子信息工程数字陷波器实现的设计方案综述摘要:本文首先介绍了数字滤波器的背景与应用,然后提出了基于陷波器的实现方法,概述了陷波器的概念及基本结构,介绍了几种陷波器的实现方案,最后对这些方案给出笔者的评价。关键词:DSPBuilder;现场可编程逻辑器件;IIR;陷波器1引言滤波是信号处理的重要环节之一。数字滤波器在图像处理、语音识别、模式识别、高清电视等数字信号处理中都起着关键作用。数字滤波器可以满足滤波器幅度和相位特性的严格要求,可以克服模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。而传统的模拟滤波器在精度上无法与数字滤波器相比,尤其是在多阻带多通带滤波器设计方面,模拟滤波器更是无能为力,因此对数字滤波器的研究是十分必要且有广泛应用价值的。2数字陷波器概述数字滤波器实际上是一个采用有限精度算法实现的线性非时变离散系统,理想带阻字滤波器,能在保证其他频率的信号不损失的情况下,有效的抑制输入信号中某一频率信息[1]。目前陷波器硬件实现主要有模拟电路方式与数字电路方式。根据数字陷波器冲激响应函数的时域特性,可将数字陷波器分为无限长冲激响应(IIR)陷波器和有限长冲激响应(FIR)陷波器两种[2]。IIR数字滤波器与FIR数字滤波器相比,它可以用较低的阶数获得较高的选择性,在实现时所用存储单元少,经济而且高效。目前,IIR陷波器的实现主要有三种方法:DSP器件、FPGA和利用单片通用数字滤波器集成电路。使用DSP器件实现虽然简单,但由于程序顺序执行,执行速度必然比较慢[3]。而FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务。单片通用数字滤波器虽然使用方便,但因为字长与阶数的规格较少,不能充分满足实际需求。 图1IIR滤波器基本结构3数字陷波器的设计3.1基于FPGA的实现一般使用FPGA设计数字信号处理系统。首先用仿真软件进行建模,在得到预期的仿真结果后,然后根据仿真过程和结果,在Quartus软件中使用VHDL语言创建硬件工程,最后完成硬件仿真。整个过程比较费且复杂,尤其困难的是仿真过程不够直观.一旦遇到问题无法及时准确地确定问题所在。DSPBuilder作为一个面向DSP开发的系统级(或算法级)设计工具,它架构在多个软件工具之上,并把系统级和RTL级两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的优势[4]。DSPBuilder依赖于MathWorks公司的数学分析工具Matlab/Simulink,DSPBuilder允许设计者在Matlab中完成算法设计,在Simulink软件中完成系统集成,通过SignalCompiler模块生成QuartusII软件中可以使用的硬件描述语言(VHDL)文件,它提供了QuartusII软件和MATLAB/Simulink工具之间的接口,通过SOPCBuilder[5]、DSPBuilder[6]、QuartusII软件构筑的一套从系统算法分析到FPGA芯片实现的完整设计平台[7]。3.2基于DSP的实现运用DSP器件来实现,首先需要根据系统的目标确定系统的性能指标和信号处理的要求,可用流程图或者数学运算序列表示出来,之后就可以开始设计实时DSP系统。实时DSP系统的设计包括硬件设计和软件设计两部分。硬件设计包括选择合适的DSP芯片、外围电路和其他电路。软件设计主要根据系统的要求和所选用的DSP芯片编写相应的DSP汇编程序。在硬件和软件设计完成之后,就需要进行硬件与软件的调试工作。软件调试一般是在DSP开发系统或者仿真软件上进行。硬件调试一般采用硬件仿真器进行调试,如果硬件系统相对简单,也可采用一般的工具进行调试。DSP系统是以数字信号处理为基础,具有接口方便、编程方便、稳定性好、精度高、可重复性好等优点[8]。并且DSP芯片有丰富的适合于数字信号处理的软件资源和硬件资源[9]。 图2基于数字中频和DSP的自适应数字陷波器结构图3.3基于专用芯片的实现基于专用芯片来实现数字滤波器设计,如MAX7410芯片。MAX7410是美信集成产品公司生产的高集成度陷波器芯片,具有较高的性价比。为5阶低通滤波器,再坐在单电源+5V或者+3V,电源损耗仅1.2mA,所允许的角频率为1Hz至15KHz,输出失调电压为正负4mV,其关断模式可将电流降至0.2mA,时钟比为100:1。此类电路具有两种时钟工作模式:内部时钟(由外部电源设置时钟频率);外部时钟模式(用于精确控制角频率的系统)。失调调整引脚可以调整输出直流电平。MAX7410贝塞尔型滤波器的输入与输出间的延迟时间保持恒定,与信号频率无关,频率响应具有较陡的下降沿,建立时间快。图3MAX7410接口结论在MATLAB/SIMULINK上,利用FDATool工具,输入课题的相关参数,计算得到IIR滤波器的阶数、系数等相关参数。利用DSPBUILDER建立数字陷波器的模型,并在DSPBUILDER平台上完成仿真和编译[10],IIR滤波器可以用较低的阶数获得较高的选择性, 在实现时所用存储单元少,经济而且高效。在相同门级规模和相同时钟速度下可以提供更好的带外衰减特性。有一定的开发及生产价值。基于DSP来设计信号发生器实现虽然简单,但由于程序顺序执行,执行速度必然比较慢。用单片通用数字滤波器集成电路,易于调试实现难度低,但因为字长与阶数的规格较少,不能充分满足实际需求。于在许多应用中对数字信号处理要求实现高度的实时性,所以很多工程设计将目光投向使用可编程逻辑门阵列(FPGA)来完成数字信号处理的功能。FPGA具有速度快、功耗低,通用性好,能重复编程等特点。因而,使用FPGA可以减小硬件规模,提高系统的可靠性、灵活性和保密性。另外,FPGA结构使得以采样速率处理数字信号成为常数乘法器的理想载体,提高了整个系统的性能。由于设计要求的差异,如字长、各级输出的保留精度等不同,在整个设计过程中,各个环节也有所不同,这就需要根据不同的要求对数据进行不同的处理,如截断、扩展等,从而得到的设计既满足设计需要,又节省FPGA资源。参考文献:[1]周亚凤,李跃华,朱昊.基于FPGA的16阶FIR滤波器的设计[J].南京工业大学学报:自然科学版,2005,1,27(1):46~50.[2]张兆东.基于FPGA的32阶FIR滤波器设计[J].兰州石化职业技术学院学报,2007,3,7(1):10~13.[3]潘松,黄继业,王国栋.现代DSP技术[M].西安:西安电子科技大学出版社,2009,3,25(2):148~149,193.[4]罗韩军,刘明伟,王成.基于DSPBuilder的FIR滤波器设计与实现[J].微计算机信息,2009,2,25(2):148~149,193.[5]潘松,黄继业,曾毓.SOPC技术实用教程[M].北京:清华大学出版社,2005,3.[6]范寒柏,司加祯.基于DSPBuilder的16阶FIR滤波器实现[J].现代电子技术,2009,32(20):193~195.[7]周彬,秦玉娟,王振利.FIR数字滤波器的FPGA实现研究[J].电子设计工程,2010,3,18(3):59~61,64.[8]李春江,吴桂生.FIR滤波器FPGA实现[J].电子测量技术,2004,(5):62~63.[9]王学梅.基于FPGA的有限冲激响应数字滤波器的研究及实现[D].长沙:中南大学,2005.[10]Altera.DSPBuilderUserGuide[EB/OL].[2009-04-20].http://www.altera.com/literature/ug/ug_dsp_builder.pdf. 本科毕业设计(20届)基于DSPBuilder的数字陷波器设计摘要数字滤波器是指能滤除特定噪声的设备。理想数字滤波器能在保证其他频率的信号不损失的情况下有效的抑制输入信号中某些频率信息。目前的滤波器有很多种,数字陷波器是最常用的滤波器之一。数字陷波器主要实现滤除单一频率信号噪声的功能,是一种特殊的带阻滤波器。数字陷波器可以采用IIR或者FIR结构实现。 经过笔者的设计与计算,若采用FIR结构,则滤波器的阶数高达两百多阶。而采用IIR结构,阶数大大降低,无论从硬件资源还是实时性要求来考虑,性价比较高。因此笔者最终选择IIR结构。文章阐述了本课题的应用背景以及研究意义。概述了本次设计涉及的三个平台,包括Matlab、DSPBuilder和QuartusⅡ。同时介绍了基于DSPBuilder的设计流程。根据IIR陷波器结构,实现了基于DSPBuilder的陷波器建模,然后以这一模型为基础,实现了滤除100Hz噪声的要求。并对设计结果进行功能验证及仿真,最后利用signalcompiler工具将模型进行转换、综合和适配,生成QuartusⅡ下的工程。对该工程进行最终的行为级仿真,经验证正确后,即可下载至FPGA板,驱动目标程序。论文还记录和整理了设计、调试和仿真过程中出现的问题,给出自己的分析,供读者参考。关键词:数字陷波器;IIR;DSPBuilder;QuartusⅡAbstractDigitalfiltersareaninstrumenttofiltercertainnoise.Anidealdigitalfiltercouldeffectivelysuppresssomefrequencypartsoftheinputsignalwithoutlosingotherfrequencyparts.Currently,thereareavarietyoffilters.TheFIRdigitalfilterisoneofthemostcommonusedfiltersandalsoaspecialtypeofband-stopdigitalfilter,whichachievethefunctionthatsuppressesasinglefrequencypartofsignal.DigitalfilterscanbeimplementedbyadoptingIIRorFIRstructure.Fromtheauthor'sdesignandcalculation,theorderofdigitalfilterwouldbeovertwohundred,whentheFIRstructureisadopted.Thedigitalfilterismorecost-effectiveintermsofhardwareresourcesandreal-timerequirementsastheorderofdigitalfilterdecreasesconsiderablywhentheIIRstructureisadopted.ThereforeIIRstructureischosebyauthortoimplementthedigitalfilter.Thispaperdescribestheapplicationbackgroundofthisissueandtheresearchsignificanceandoutlinesthreeapplicationplatformsthedesigninvolves,includingMatlab,DSPBuilderandQuartusⅡ.Meantime,thispaperillustratesthedesignflowbasedonDSPBuilder.ThemodelofFIRdigitalfilterbasedonDSPBuilderhasbeenimplementedbasingIIRdigitalfilterstructure.Thentherequirementoffiltering100Hznoisehasbeenachieved,whichisbasedonthismodel.Afterthat,functionalverificationandsimulationofdesignresulthasbeenimplemented.Further,the modelhasbeenusedtoadapt,integrate,andtransformthroughtheuseofsignalcompilertool,andgeneratetheprojectdocumentunderQuartusⅡtorealizebehavioralsimulationfortheproject.Ultimately,providedthattheverificationresultiscorrect,theprojectdocumentcanbedownloadtotheFPGAboardtoruntheprogram.Thispaperalsorecordsandorganizesproblemswithintheprocessofdesign,debuggingandsimulationandgivesauthor’sownanalysisforreference.KeyWords:DigitalFilter,IIR,DSPBuilder,QuartusⅡ目录1引言11.1课题的应用背景和意义11.2论文的内容与组织结构22数字滤波技术概述32.1IIR数字滤波器原理及实现32.2FIR数字滤波器原理及实现63设计平台概述73.1Matlab集成环境介绍73.1.1Matlab软件概述73.1.2Simulink简介83.2DSPBuilder概述93.2.1DSPBuilder平台概述93.2.2DSPBuilder平台设计流程93.3QuartusII集成环境概述114基于DSPBUILDER的IIR滤波器设计与实现134.1利用FDATool工具设计滤波器134.2基于DSPBuilder的陷波器建模174.3系统的顶层设计与转换205调试与仿真235.1Simulink中对模型进行仿真235.2QuartusII行为仿真236总结25致谢26 参考文献27 1引言1.1课题的应用背景和意义滤波是信号处理的重要环节之一。数字滤波器在图像处理、语音识别、模式识别、高清电视等数字信号处理中都起着关键作用。数字滤波器可以满足滤波器幅度和相位特性的严格要求,可以克服模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题[1]。而传统的模拟滤波器在精度上无法与数字滤波器相比,尤其是在多阻带多通带滤波器设计方面,模拟滤波器更是无能为力,因此对数字滤波器的研究是十分必要且有广泛应用价值的。数字滤波器实际上是一个采用有限精度算法实现的线性非时变离散系统,理想带阻数字滤波器,能在保证其他频率的信号不损失的情况下,有效的抑制输入信号中某一频率信息[2]。目前陷波器硬件实现主要有模拟电路方式与数字电路方式。根据数字滤波器冲激响应函数的时域特性,可将数字滤波器分为无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器两种。IIR数字滤波器与FIR数字滤波器相比,它可以用较低的阶数获得较高的选择性,在实现时所用存储单元少,经济而且高效,在相同门级规模和相同时钟速度下可以提供更好的带外衰减特性等突出优点而在工程实际中获得广泛应用[2]。因此本课题拟定采用IIR数字滤波器结构。滤波器的硬件平台主要有单片机、FPGA和DSP等。FPGA是目前电路系统设计的主要实现硬件之一,也是数字信号处理的主要实现平台。FPGA具有功耗低,运算速度快,通用性强,能重复/在线编程的优点,使用FPGA来进行数字信号处理可以缩小硬件规模,提高系统的灵活性、可靠性和实时性[2],所以很多工程应用可编程逻辑门阵列(FPGA)来完成数字信号处理。本次设计采用IIR数字滤波器结构,利用DSPBuilder建立陷波器的模型设计,并在DSPBuilder平台上完成仿真和编译。基于DSPBuilder的模块化设计,可以直接利用DSPBuilder中自带的模块进行设计,仿真和编译即可。编译正确后,利用综合、转换工具将模块化的设计转换为VHDL语言,最后在QuartusII中进行FPGA的实现。设计周期大大缩短,而且设计难度大大降低。可避免繁琐的程序代码编写,也可降低对设计人员的硬件设计能力要求。1.2论文的内容与组织结构围绕课题,主要完成以下工作:1.熟悉Matlab软件,熟悉MATLAB中利用FDATool工具设计滤波器的一般流程;2.了解和熟悉IIR陷波器的原理,查阅相关的陷波器资料,完成基于DSPBuilder的数字陷波器建模;3.为了验证IIR陷波器的性能,给已经完成的数字陷波器模型加上显示设备和信号源,信号源的输出作为数字陷波器的输入,在Matlab/Simulink进行软件仿真,设计实现达到性能指标的数字陷波器,最后完成顶层文件设计,实现系统的编译和仿真,并分析验证其正确性; 1.对设计与调试过程中出现的问题进行整理和分析。本文一共有六章,第一章为引言,简单介绍课题的应用背景与论文的组织结构;第二章介绍IIR和FIR数字滤波器技术的原理与实现方法;第三章就本论文涉及的DSPBuilder平台,Matlab软件以及QuartusII集成环境进行了概述;第四章为本论文的重点,详细阐述了设计过程。在FDATool滤波器设计软件中输入课题的相关参数,计算得到IIR陷波器的阶数、系数等相关参数。在Matlab/DSPBuilder环境下建立IIR陷波器模型,实现系统功能;第五章为本次设计的仿真、调试及验证;第六章总结了本次设计中出现的困难以及如何解决的过程。 2数字滤波技术概述2.1IIR数字滤波器原理及实现IIR滤波器也称为无限脉冲响应滤波器,当系统无严格相位要求时,对于相同的设计指标,FIR滤波器所要求的阶数比IIR滤波器高5~10倍,而且信号的延迟也较大。IIR滤波器相比FIR滤波器可以用较低的阶数获得较高的选择性[3]。一个IIR滤波器的系统函数和表示这一系统输入输出关系的N阶差分方程分别如式2-1和2-2所示。(2-1)(2-2)其中式2-2中等号右边第二项表示将输入加以延时,组成M节的延时网络,把每节延时抽头后加权(加权系数是bk),然后把结果相加,这就是一个横向结构网络[4]。式2-2中等号右边第一项表示将输入加以延时,组成N节的延时网络,然后将每节延时抽头后加权(加权系数是ak),然后把结果相加,最后的输出y(n)是两个和式相加而构成。由于包含了输入的延时部分,故它是个有反馈的网络[4]。式2-2中等号右边第一项构成了反馈网络,这种结构称为直接I型结构。其结构流图如图2-1所示。由图可看出,总的网络是由上面讨论的两部分网络级联组成,第一个网络实现零点,第二个网络实现极点,从图中又可看出,直接I型结构需要(N+M)级延时单元[4]。图2-1直接I型二阶网络结构从图2-1可以看出两行串行延时支路有相同的输入,因而可以将其合并,则得到图2-2的结构,称为直接II型结构,或典范型结构。 图2-2直接II型网络结构这种结构,对于N阶差分方程只需N个延时单元(一般满足N>=M),因而比直接I型的延时单元要少,这也是实现N阶滤波器所需的最少延时单元,因而又称典范型。它可以节省存储单元(软件实现),或节省寄存器(硬件实现),比直接I型为好。但是,他们都是直接型的实现方法,其共同的缺点是系数ak,bk对滤波器的性能控制作用不明显,这是因为它们与系数函数的零、极点关系不明显,因而调整困难;此外,这种结构极点对系数的变化过于灵敏,从而使系统频率响应对系数的变化过于灵敏,也就是对有限精度(有限字长)运算过于灵敏,容易出现不稳定或产生较大误差[4]。M=N=2时的系统函数如式2-3所示,由此可以得出图2-3的直接II型二阶网络结构。(2-3)图2-3直接II型IIR二阶网络结构级联的节数视具体情况而定,当M=N时,共有(N+1)/2节(N+1)/2表示N+1/2的整数,如果有奇数个实零点,则有一个系数a2k等于零。每一个二阶子系统Hk(z)被称为二阶基本节,Hk(z)是用典范型结构来实现的。一个六阶节系统的级联实现如图2-4所示。 图2-4级联型IIR六阶网络结构级联结构的特点是调整系数B1k、B2k就能单独调整滤波器第k对零点,而不影响其他零、极点[4],同样,调整系数a1k,a2k就能单独调整滤波器第k对极点,而不影响其他零、极点。所以这种结构,便于准确实现滤波器零、极点,因而便于调整滤波器频率响应性能。IIR滤波器的实现有多种结构,直接型、级联型、并联型及格型结构等。其中级联型较为容易实现且易于实现高阶滤波器,且任何高阶IIR滤波器都能表示成一阶和二阶的级联[5]。故本文以直接II型二阶的级联为例阐述基于FPGA的数字陷波器设计。2.2FIR数字滤波器原理及实现FIR滤波器也称为有限脉冲响应滤波器。FIR网络结构特点是没有反馈支路,即没有环路,其单位脉冲响应是有限长的,将卷积的数量降低到每个采样时刻为有限个[5]。FIR滤波器具有严格的线性相位又具有任意的幅度,同时FIR滤波器的单位抽样响应是有限长的,因而滤波器性能稳定,而且FIR滤波器由于单位冲击响应是有限长的,因而可用快速傅里叶变换(FFT)算法来实现过滤信号,可大大提高运算效率。设单位脉冲响应h(n)长度为N,其系统函数H(z)和差分方程分别如式2-4和2-5所示。(2-4)(2-5)按照系统函数H(z)可直接画出结构图,如图2-5所示。这种结构称为直接型网络结构或者称为卷积型结构。 图2-5四阶FIR滤波器网络结构 3设计平台概述本章概述与课题实现相关的集成环境。首先简述Matlab的主要功能、构成以及Simulink相关内容,其次详细阐述DSPBuilder的主要功能以及设计流程,最后介绍QuartusII的环境和功能。3.1Matlab集成环境介绍3.1.1Matlab软件概述Matlab是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件。于20世纪80年代中期推出的一种高性能数值计算软件,Matlab时至今日,经过20余年的开发扩充和不断的完善,已经发展成为了一款适合多科学应用,功能强大的大型的系统软件,它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案[6]。在国外,MATLAB已经经受了多年考验。在欧美等高校,MATLAB已经成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生、硕士生、博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题[7]。Matlab具有其他高级语言(如C++、C、Fortran、Basic和Pascal等)难以比拟的一些优点,如编写简单、编程效率高、易学易懂等,用Matlab编写程序,犹如在一张演算纸上排列公式和求解问题一样高效率,因此被称为“科学便笺式”的科学工程计算语言[8]。Matlab是由主包和功能不一的工具箱组成,最基本的数据结构是矩阵。Matlab系统主要由五个部分构成:1.Matlab语言2.Matlab工作环境3.制图4.Matlab的数学的函数库。5.Matlab应用程序接口(API)。Matlab的核心是一个基于矩阵运算的快速解释程序,它提供给用户一个开放式的集成环境,用户可以自由运行系统提供的多项命令,包括图形的绘制,数值的计算等。它以一种交互的方式接受用户输入的各种指令,最终输出计算的结果[9]。3.1.2Simulink简介Simulink(DynamicSystemSimulation)是作为Matlab工具箱之一,是最重要的组件,提供一个动态系统建模、仿真和综合分析的集成环境。可以针对控制系统、信号处理及通信系统等进行系统的建模、仿真和分析等工作[10]。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。 为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),模型由模块组成的框图来表示。这个创建过程只需单击和拖动鼠标操作就能完成,该平台提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。Simulink包括:输入方式(Sink)、输入源(Source)、线性(Linear)、非线性元件(Nonlinear)、连接与接口(Connectors)和其他环节(Extra)子模型库[11]。而且每个子模块库中包含有相应的功能模块,用户可以自定义属于自己的模块。Simulink的模块库如图3-1所示。图3-1模块库浏览器在Matlab窗口的工具栏中单击,或者在Commandwindow中键入指令“simulink”,就可以启动Simulink的模块浏览器。从这个窗口中可以看到Simulink所提供的模块库和具体模块。建立完模型后,就可以利用Simulink的菜单或者在Matlab的命令窗口输入命令来对模型进行仿真。仿真后的结果可以用图形的方式显示在类似示波器的窗口内。为便于观察结果,也可以将输出结果以变量的方式保存下来。3.2DSPBuilder概述3.2.1DSPBuilder平台概述DSPBuilder是美国Altera公司推出的一个面向DSP开发的系统级开发工具,AlteraDSPBuilder将TheMathWorksMATLAB和Simulink系统级设计工具的算法开发、仿真和验证功能与VHDL综合、仿真和Altera开发工具整合在一起,实现了这些工具的集成[12]。DSPBuilder在算法友好的开发环境中帮助设计人员生成DSP设计硬件表征。基于DSPBuilder的模块化设计,则可以避免繁琐的程序代码编写,也可以降低对设计人员额度硬件设计能力要求,从而缩短了DSP设计周期。设计人员可以使用DSPBuilder模块迅速生成Simulink系统建模硬件。DSPBuilder 包括比特和周期精度的Simulink模块,涵盖了算法和存储功能等基本操作。可以使用DSPBuilder模型中的MegaCore功能实现复杂功能的集成。利用DSPBuilder中的模块进行设计,编译与仿真。当编译正确后,可以利用综合,转化工具将模块化的设计转换为VHDL语言,最后在QuartusII中进行FPGA的实现。3.2.2DSPBuilder平台设计流程DSPBuilder是一个系统级(或者说算法级)设计工具,它架构在多个软件工具之上,并连接系统级的算法仿真建模和RTL级的硬件实现两个设计领域的设计工具,最大程度地发挥了这两种工具的优势[13]。DSPBuilder依赖于Math-Works公司的数学分析工具Matlab/Simulink,以Simulink的Blockset出现,可在simulink中进行图形化设计和仿真,同时又通过signalCompiler把Maltlab/Simulink/DSPBuilder的设计文件转成相应的VHDL设计文件,以及用控制综合与编译的tcl脚本。而对后者的处理可以由FPGA/CPLD开发工具QuartusⅡ完成[13]。设计者可以利用DSPBuilder中的功能块来为Simulink中的系统模型创建硬件。DSPBuilder包含了按周期设计和按位的Simulink功能块,这些功能块覆盖了一些最基本的操作,比如说存储和运算的功能。DSPBuilder的SignalComiler块读入Simulink的模型文件(.mdl),这个模型文件是用DSPBuilder和MageCore块生成的,接着生成VHDL文件和TCL脚本文件,用于综合和硬件的实现与仿真。DSPBuilder可以帮助设计者完成基于FPGA的DSP或者其他的电子系统设计。DSPBuilder可以自动完成大部分的设计仿真过程,替设计者省去了麻烦的设计过程。图3-2显示的是DSPBuilder的设计流程。手动流程MatlabSimulink建立模块Simulink模型仿真综合Mdl转成vhdlQuartusIIQuartusII生成编程文件下载至硬件HDL仿真Modelsim综合自动流程图3-2DSPBuilder设计及步骤设计的具体步骤如下:1.自动流程:第一步:在Matlab中的Simulink环境中建立一个(.mdl)模型文件,调用DSP Builder和Simulink库中的图形模块,连接构成一个系统级的设计框图,这个就是Simulink的设计模型。第二步:在Simulink中进行系统级仿真,分析这个设计模型的正确性。第三步:DSPBuilder完成VHDL转换、综合、适配、下载。第四步:嵌入式逻辑分析仪实时测试。2.手动流程:第一步:在Simulink环境中调用AlteraDSP库(非MATLAB自带的DSP库)中的块,进行数学模型设计[13]。第二步:在MATLAB中进行纯数学上的仿真、验证及修改。第三步:当仿真符合设计要求后,再加入并运行SignalCompiler模块,将.mdl文件自动转成.vhd文件,进行RTL级的功能仿真和逻辑综合。第四步:在QuartusⅡ中进行编译设计并进行时序仿真。第五步:引脚锁定。第六步:下载/配置与嵌入式逻辑分析仪等实时测试。第七部:对配置器件编程,设计完成。3.3QuartusII集成环境概述QuartusII是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程[14]。QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点[14]。此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台[14]。QuartusII的设计工具支持VHDL,Verilog的设计流程,因为QuartusII设计工具内部拥有VHDL,Verilog逻辑综合器。QuartusII同时也可以使用第三方的综合工具,比如说SynplifyPro,LeonardoSpectrum,FPGACompilerII,并且能够直接调用这些工具。同样的,QuartusII也具备仿真的功能,并且也支持第三方的仿真工具,比如ModelSim。此外,QuartusII能与Matlab和DSPBuilder结合,能够进行基于FPGA的DSP系统的开发,是EDA工具中实现DSP硬件系统的一种关键工具。QuartusII可编程逻辑软件属于第四代PLD开发平台[14]。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力,支持MAX7000/MAX3000等乘积项器件[15]。此外,在QuartusII中还包含了许多十分有用的LPM(LibraryofParameterized Modules)模块,它们都是高级或者复杂系统构建的重要组成部分,在SOPC设计中被设计者大量使用。 4基于DSPBuilder的IIR滤波器设计与实现4.1利用FDATool工具设计滤波器Matlab中提供了功能强大的Simulink仿真软件。Simulink环境下,可以对所设计的滤波器进行仿真。FDATool(filterdesignanalysistool)是Matlab信号处理工具箱专用的滤波器设计分析工具,操作简单,灵活。可以采用多种方法设计FIR和IIR滤波器。根据已经给出的设计指标:设计一个数字陷波器滤除100Hz噪声,3db带边频率为95,105Hz,阻带衰减不小于30db。根据采样定理可得,采样频率为fs≥2fc,所以数字陷波器系统的采样频率可选择为1000Hz。则FDATool参数输入如图4-1所示。图4-1FDATool参数设定因为陷波器是一种特殊的带阻滤波器,所以ResponseType选择Bandstop。根据任务要求,数字陷波器的设计可以选择IIR或者FIR来实现。IIR滤波器也称为无限脉冲响应滤波器,当系统无严格相位要求时,对于相同的设计指标,FIR滤波器所要求的阶数比IIR滤波器高5~10倍,而且信号的延迟也较大。IIR滤波器相比FIR滤波器可以用较低的阶数获得较高的选择性。所以选择IIR来实现数字陷波器。IIR有许多种设计方法,它的理论和设计方法已发展的相当成熟,有多种滤波器类型供选择,如巴特沃斯(Butterworth)滤波器,切比雪夫(Chebyshev)滤波器,椭圆(Ellipse)滤波器,贝塞尔(Bessel)等。这些滤波器都有严格的设计公式,现成的曲线和图表供设计人员使用[5]。这些滤波器有其各自的特点:巴特沃斯滤波器具有单调下降的幅频特性;切比雪夫滤波器的幅频特性在通带或者阻带有等波纹特性,可以提高选择性;贝塞尔滤波器通带内有较好的线性相位特性;椭圆滤波器的选择性相对前三种是最好的[5]。因为椭圆滤波器可以用最少的阶数实现最高的选择性,实现更高的阻带衰减。所以本次设计我采用椭圆滤波器来完成这次设计。FDATool参数设置如图4-2所示。 图4-2FDATool参数设定如此FDATool中的参数设定就输入完毕了,之后按DesignFilter按钮产生滤波器。得到滤波器的结构信息如图4-3所示。由图可看出陷波器采用四阶直接II型结构。图4-3滤波器结构信息我们还可以从FDATool的MagnitudeResponse窗口看到陷波器的幅频响应曲线如图4-4所示,可以看出设计的陷波器的性能指标满足了设计要求。 图4-4幅频响应之后将设计的陷波器输出到Simulink,并加上示波器和信号源,如图4-5。点击运行按钮,我们可以观察到输入波形和滤波后的波形,从而观察到滤波器的效果。仿真波形如图4-6和4-7所示。图4-6为输入波形,图4-7为滤波后的波形。输入波形为100Hz正弦信号。图4-5陷波器仿真图4-6陷波器输入波形 图4-7滤波后的波形从图中我们可出,100Hz信号经过滤波,幅度衰减很大,陷波器效果良好,满足了设计要求。最后可在在File菜单中按Export输出陷波器的系数,如图4-8所示。从而在DSPBuilder中建立模型。输出的系数如图4-9所示。图4-8系数输出界面图4-9滤波器系数4.2基于DSPBuilder的陷波器建模一个IIR滤波器的系统函数和表示这一系统输入输出关系的N阶差分方程分别如式4-1和4-2所示。(4-1) (4-2)首先在Matlab/DSPBuilder[16]平台上,由式4-2的差分方程可以直接画出所要设计的IIR直接型四阶网络图,如图4-10所示。按照图4-10的直接型四阶IIR滤波器结构建立一个IIR陷波器的模型,将此模型命名为IIR,后缀名为.mdl,建立好的模型如图4-11所示。图4-10IIR直接型四阶结构 图4-11IIR陷波器模型在图4-11中可以看出,系统中共有1个输入,输入的为100Hz的离散正弦信号;有一个输出Y:输出滤波后的信号。Delay1,Delay2,Delay3,Delay4分别为四个延时器,增益模块B0-B4组成了输入回路,而增益模块A1-A4组成了反馈回路。把FDATool中输出的陷波器参数Numerator和Denominator[17]分别输入到B0-B4和A1-A4中。其中B0-B4的参数决定了零点,而A1-A4的参数决定了陷波器的极点。其中Gainvalue的值,整数取3位二进制,小数点保留16位二进制。这里仅以B0模块作为例子,参数设置方式如下图4-12所示。图4-12B0增益模块的参数设置Busconversion与BlockParameters:x中的“numberofbit”参数设置分别如图4-13和图4-14所示。BlockParameters:y因为参数设置与x模块相同,就不再赘述。图4-13Busconversion参数设置 图4-14BlockParameters:x参数设置4.3系统的顶层设计与转换系统的顶层模块,如图4-15所示。对顶层模块进行仿真、编译,验证其设计为正确后,即可进行转换,将该模型最终转换为可以驱动目标板的驱动程序。 图4-15系统的顶层设计用SignalCompiler软件将IIR数字陷波器的模型转化成VHDL硬件语言。首先双击SignalCompiler图标,在弹出的对话框中点击“Compiler”,DSPBuilder将会调用QuartusII来进行全程编译,这一过程包括了创建QuartusII工程,综合和适配。SignalCompiler将.mdl文件转化成VHDL语言,然后在QuartusII中进行进一步的设置和完整的编译。具体转换设置如下图4-16所示。 图4-16转换界面生成的SignalComplier报告如下图4-17所示。图4-17SignalComplier报告转换生成后产生的资源信息界面如下图4-18所示。 图4-18转换后产生的资源信息界面在得到资源信息之后,就可得到转换之后的VHDL源代码,因源代码程序非常庞大,这里只截取部分源代码,如下图4-19所示。图4-19生成的VHDL源代码5调试与仿真 5.1Simulink中对模型进行仿真在Matlab/DSPBuilder平台上设计IIR陷波器的模型,然后设置总线带宽和各个增益器的参数。设置信号源输入信号为100Hz正弦波,幅度为2V。可得如图5-1所示的波形。图中上方的波形为输出波形,下方的波形为输入波形。经简单分析,可得输出波形是正确的。图5-1仿真波形5.2QuartusII行为仿真将IIR陷波器的模型进行适配、综合和转换,具体步骤如4.3所示。之后在QUARTUSII中对转换后产生的工程进行最终的行为级仿真。步骤如下:首先打开后缀名为.vec的波形文件,修改引脚。因为自动生成的文件在所有的引脚名称前面加了“i”,后面加了“s”,如果我们直接对该文件进行仿真,程序出错。所以将修改后的文件另存为后缀名为.vwf的同名文件,然后进行时序和功能仿真。仿真前的信号如图5-2所示。 图5-2仿真前的界面仿真后的结果如图5-3所示。图5-3仿真结果 6总结至此,本人基本完成了这次毕业设计任务。在设计之初,我对于Matlab/DSPBuilder的知之甚少,不过通过不断的学习,和老师的辅导,在Matlab/DSPBuilder平台上实现了毕业设计的内容,熟悉了DSPBuilder和FPGA的整个开发流程。本次的设计的内容是设计一个数字陷波器。在设计过程中我遇到了很多问题,比如选用FIR或者IRR来设计陷波器,我一开始选用FIR来设计陷波器,因为FIR具有线性相位特性而且系统稳定。但是经过一段时间的摸索,发现用FIR来设计陷波器需要非常高的阶数,难度很大,而且会造成很大的延迟。IIR滤波器相比FIR滤波器可以用较低的阶数获得较高的选择性。所以最终决定利用IIR来设计陷波器。经过本次设计,使我学到了很多,不管是论文的撰写还是文献的查阅和自学能力都得到了锻炼。 参考文献[1]罗韩军,刘明伟,王成.基于DSPBuilder的FIR滤波器设计与实现[J].微计算机信息,2009,2,25(2):148~149,193.[2]刘海华,陈心浩.基于FPGA的数字陷波器的设计与实现[J].中南民族大学学报(自然科学版),2004,12,23(4):44~47.[3]杨世华,王秀敏,陈豪威.基于DSPBuilder和FPGA的IIR滤波器设计[J].通信技术,2010,12,43(12):184~186.[4]无限长单位冲激响应(IIR)滤波器的基本结构[EB/OL],[2011-5-1].http://wlsyzx.yzu.edu.cn/kcwz/szxhcl/kechenneirong/dierbufen/chapter7_2.htm.[5]高西全,丁玉美.数字信号处理[M].第三版.西安:西安电子科技大学出版社,2009,6.[6]MATLAB基本功能[EB/OL],[2011-5-1].http://baike.baidu.com/view/10598.htm.[7]matlab在电力电子变流系统中的仿真与应用[EB/OL],[2011-5-1].http://wenku.baidu.com/view/58f038c46137ee06eef91804.html.[8]MATLAB(6.0)与科学[EB/OL],[2011-5-1].http://www.doc88.com/p-38273375559.html.[9]基于人工神经网络的数字识别技术[EB/OL],[2011-5-2].http://www.smtpcb.com.cn/newscn/news_view.asp?newsid=1935.[10]SIMULINK交互式仿真集成环境[EB/OL],[2011-5-2].http://www.doc88.com/p-26219341681.html.[11]Simulink[EB/OL],[2011-5-3].http://mech-elec.niu.edu.tw/matlab/m5.htm.[12]齐海兵,曹志亮,刘春锦.基DSPBuilder的FIR滤波器的设计与实现[J].国外电子元器件,2006,(7):7~9.[13]基于DSPBuilder数字信号处理器的FPGA设计[EB/OL],[2011-5-4].http://www.eefocus.com/article/11-02/567911297261036.html?sort=1111_1475_0_0.[14]QuartusII[EB/OL],[2011-5-5].http://baike.baidu.com/view/1616088.htm.[15]Quartus[EB/OL],[2011-5-6].http://baike.baidu.com/view/1084118.html[16]Altera.DSPBuilderUserGuide[EB/OL].[2009-04-20].http://www.altera.com/literature/ug/ug_dsp_builder.pdf.[17]YongChingLim,YaJunYu,HuanQunZheng,SayWeiFoo.FPGAImplementationofDigitalFiltersSynthesizedUsingtheFRMTechnique[J].Circuits,Systems,andSignalProcessing,2003,23(2):211~218.

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

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

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