ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:469.27KB ,
资源ID:9796064      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9796064.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于DSP Builder的数字陷波器设计毕业作品.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于DSP Builder的数字陷波器设计毕业作品.docx

1、基于DSP Builder的数字陷波器设计毕业作品毕设业计(20 届)基于DSP Builder的数字陷波器设计所在学院 专业班级 电子信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 摘 要数字滤波器是指能滤除特定噪声的设备。理想数字滤波器能在保证其他频率的信号不损失的情况下有效的抑制输入信号中某些频率信息。目前的滤波器有很多种,数字陷波器是最常用的滤波器之一。数字陷波器主要实现滤除单一频率信号噪声的功能,是一种特殊的带阻滤波器。数字陷波器可以采用IIR或者FIR结构实现。经过笔者的设计与计算,若采用FIR结构,则滤波器的阶数高达两百多阶。而采用IIR结构,阶数大大降低,无论从硬件

2、资源还是实时性要求来考虑,性价比较高。因此笔者最终选择IIR结构。文章阐述了本课题的应用背景以及研究意义。概述了本次设计涉及的三个平台,包括Matlab、DSP Builder和Quartus。同时介绍了基于DSP Builder的设计流程。根据IIR陷波器结构,实现了基于DSP Builder的陷波器建模,然后以这一模型为基础,实现了滤除100 Hz 噪声的要求。并对设计结果进行功能验证及仿真,最后利用signal compiler工具将模型进行转换、综合和适配,生成Quartus下的工程。对该工程进行最终的行为级仿真,经验证正确后,即可下载至FPGA板,驱动目标程序。论文还记录和整理了设计

3、、调试和仿真过程中出现的问题,给出自己的分析,供读者参考。关键词:数字陷波器;IIR;DSP Builder;QuartusAbstractDigital filters are an instrument to filter certain noise. An ideal digital filter could effectively suppress some frequency parts of the input signal without losing other frequency parts. Currently, there are a variety of filters

4、. The FIR digital filter is one of the most common used filters and also a special type of band-stop digital filter, which achieve the function that suppresses a single frequency part of signal. Digital filters can be implemented by adopting IIR or FIR structure. From the authors design and calculat

5、ion, the order of digital filter would be over two hundred, when the FIR structure is adopted. The digital filter is more cost-effective in terms of hardware resources and real-time requirements as the order of digital filter decreases considerably when the IIR structure is adopted. Therefore IIR st

6、ructure is chose by author to implement the digital filter. This paper describes the application background of this issue and the research significance and outlines three application platforms the design involves, including Matlab, DSP Builder and Quartus .Meantime ,this paper illustrates the design

7、 flow based on DSP Builder. The model of FIR digital filter based on DSP Builder has been implemented basing IIR digital filter structure. Then the requirement of filtering 100 Hz noise has been achieved, which is based on this model. After that,functional verification and simulation of design resul

8、t has been implemented. Further, the model has been used to adapt, integrate, and transform through the use of signal compiler tool, and generate the project document under Quartusto realize behavioral simulation for the project. Ultimately, provided that the verification result is correct, the proj

9、ect document can be download to the FPGA board to run the program.This paper also records and organizes problems within the process of design, debugging and simulation and gives authors own analysis for reference.Key Words: Digital Filter, IIR ,DSP Builder, Quartus1引言1.1课题的应用背景和意义滤波是信号处理的重要环节之一。数字滤波

10、器在图像处理、语音识别、模式识别、高清电视等数字信号处理中都起着关键作用。数字滤波器可以满足滤波器幅度和相位特性的严格要求,可以克服模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题1。而传统的模拟滤波器在精度上无法与数字滤波器相比,尤其是在多阻带多通带滤波器设计方面,模拟滤波器更是无能为力,因此对数字滤波器的研究是十分必要且有广泛应用价值的。 数字滤波器实际上是一个采用有限精度算法实现的线性非时变离散系统, 理想带阻数字滤波器,能在保证其他频率的信号不损失的情况下,有效的抑制输入信号中某一频率信息2。目前陷波器硬件实现主要有模拟电路方式与数字电路方式。根据数字滤波器冲激响应函数的时域特性,

11、可将数字滤波器分为无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器两种。IIR数字滤波器与FIR数字滤波器相比, 它可以用较低的阶数获得较高的选择性, 在实现时所用存储单元少, 经济而且高效, 在相同门级规模和相同时钟速度下可以提供更好的带外衰减特性等突出优点而在工程实际中获得广泛应用2。因此本课题拟定采用IIR数字滤波器结构。 滤波器的硬件平台主要有单片机、FPGA和DSP等。FPGA是目前电路系统设计的主要实现硬件之一,也是数字信号处理的主要实现平台。FPGA具有功耗低,运算速度快,通用性强,能重复/在线编程的优点,使用FPGA来进行数字信号处理可以缩小硬件规模,提高系统的灵

12、活性、可靠性和实时性2,所以很多工程应用可编程逻辑门阵列(FPGA)来完成数字信号处理。本次设计采用IIR数字滤波器结构,利用DSP Builder建立陷波器的模型设计,并在DSP Builder平台上完成仿真和编译。基于DSP Builder的模块化设计,可以直接利用DSP Builder中自带的模块进行设计,仿真和编译即可。编译正确后,利用综合、转换工具将模块化的设计转换为VHDL语言,最后在Quartus II中进行FPGA的实现。设计周期大大缩短,而且设计难度大大降低。可避免繁琐的程序代码编写,也可降低对设计人员的硬件设计能力要求。1.2论文的内容与组织结构围绕课题,主要完成以下工作:

13、1.熟悉Matlab软件,熟悉MATLAB中利用FDA Tool工具设计滤波器的一般流程;2.了解和熟悉IIR陷波器的原理,查阅相关的陷波器资料,完成基于DSP Builder的数字陷波器建模;3.为了验证IIR陷波器的性能,给已经完成的数字陷波器模型加上显示设备和信号源,信号源的输出作为数字陷波器的输入,在Matlab/Simulink进行软件仿真,设计实现达到性能指标的数字陷波器,最后完成顶层文件设计,实现系统的编译和仿真,并分析验证其正确性;4.对设计与调试过程中出现的问题进行整理和分析。本文一共有六章,第一章为引言,简单介绍课题的应用背景与论文的组织结构;第二章介绍IIR和FIR数字滤

14、波器技术的原理与实现方法;第三章就本论文涉及的DSP Builder平台,Matlab软件以及Quartus II集成环境进行了概述;第四章为本论文的重点,详细阐述了设计过程。在FDA Tool 滤波器设计软件中输入课题的相关参数,计算得到IIR陷波器的阶数、系数等相关参数。在Matlab/DSP Builder环境下建立IIR陷波器模型,实现系统功能;第五章为本次设计的仿真、调试及验证;第六章总结了本次设计中出现的困难以及如何解决的过程。2数字滤波技术概述2.1IIR数字滤波器原理及实现IIR滤波器也称为无限脉冲响应滤波器,当系统无严格相位要求时,对于相同的设计指标,FIR滤波器所要求的阶数

15、比IIR滤波器高510倍,而且信号的延迟也较大。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-

16、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阶滤波器所需的最少延时单元,因而又称典范型。它可以节省存储单元(软件实现)

17、,或节省寄存器(硬件实现),比直接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的整数,如果有奇数个实零点,

18、则有一个系数a2k等于零。每一个二阶子系统Hk(z)被称为二阶基本节,Hk(z)是用典范型结构来实现的。一个六阶节系统的级联实现如图2-4所示。图2-4 级联型IIR六阶网络结构级联结构的特点是调整系数B1k、B2k就能单独调整滤波器第k对零点,而不影响其他零、极点4,同样,调整系数a1k,a2k就能单独调整滤波器第k对极点,而不影响其他零、极点。所以这种结构,便于准确实现滤波器零、极点,因而便于调整滤波器频率响应性能。IIR滤波器的实现有多种结构,直接型、级联型、并联型及格型结构等。其中级联型较为容易实现且易于实现高阶滤波器,且任何高阶IIR滤波器都能表示成一阶和二阶的级联5。故本文以直接I

19、I型二阶的级联为例阐述基于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)可直接

20、画出结构图,如图2-5所示。这种结构称为直接型网络结构或者称为卷积型结构。图2-5 四阶FIR滤波器网络结构3设计平台概述本章概述与课题实现相关的集成环境。首先简述Matlab的主要功能、构成以及Simulink相关内容,其次详细阐述DSP Builder的主要功能以及设计流程,最后介绍Quartus II的环境和功能。3.1Matlab集成环境介绍3.1.1Matlab软件概述Matlab是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件。于20世纪80年代中期推出的一种高性能数值计算软件,Matlab时至今日,经过20余年的开发扩充和不

21、断的完善,已经发展成为了一款适合多科学应用,功能强大的大型的系统软件,它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案6。在国外,MATLAB已经经受了多年考验。在欧美等高校,MATLAB已经成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生、硕士生、博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题7。Matlab具有其他高

22、级语言(如C+、C、Fortran、Basic和Pascal等)难以比拟的一些优点,如编写简单、编程效率高、易学易懂等,用Matlab编写程序,犹如在一张演算纸上排列公式和求解问题一样高效率,因此被称为“科学便笺式”的科学工程计算语言8。Matlab是由主包和功能不一的工具箱组成,最基本的数据结构是矩阵。Matlab系统主要由五个部分构成:1. Matlab语言2.Matlab工作环境3. 制图4. Matlab的数学的函数库。5. Matlab应用程序接口(API)。 Matlab的核心是一个基于矩阵运算的快速解释程序,它提供给用户一个开放式的集成环境,用户可以自由运行系统提供的多项命令,包

23、括图形的绘制,数值的计算等。它以一种交互的方式接受用户输入的各种指令,最终输出计算的结果9。3.1.2Simulink简介Simulink(Dynamic System Simulation)是作为Matlab 工具箱之一,是最重要的组件,提供一个动态系统建模、仿真和综合分析的集成环境。可以针对控制系统、信号处理及通信系统等进行系统的建模、仿真和分析等工作10。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(G

24、UI) ,模型由模块组成的框图来表示。这个创建过程只需单击和拖动鼠标操作就能完成,该平台提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。Simulink包括:输入方式(Sink)、输入源(Source)、线性(Linear)、非线性元件(Nonlinear)、连接与接口(Connectors)和其他环节(Extra)子模型库11。而且每个子模块库中包含有相应的功能模块,用户可以自定义属于自己的模块。Simulink的模块库如图3-1所示。图3-1 模块库浏览器在Matlab窗口的工具栏中单击,或者在Command window中键入指令“simulink”,就可以启动Si

25、mulink的模块浏览器。从这个窗口中可以看到Simulink所提供的模块库和具体模块。建立完模型后,就可以利用Simulink的菜单或者在Matlab的命令窗口输入命令来对模型进行仿真。仿真后的结果可以用图形的方式显示在类似示波器的窗口内。为便于观察结果,也可以将输出结果以变量的方式保存下来。3.2DSP Builder概述3.2.1DSP Builder平台概述DSP Builder是美国Altera公司推出的一个面向DSP开发的系统级开发工具,Altera DSP Builder将The MathWorks MATLAB和Simulink系统级设计工具的算法开发、仿真和验证功能与VHDL

26、综合、仿真和Altera开发工具整合在一起,实现了这些工具的集成12。DSP Builder在算法友好的开发环境中帮助设计人员生成DSP设计硬件表征。基于DSP Builder的模块化设计,则可以避免繁琐的程序代码编写,也可以降低对设计人员额度硬件设计能力要求,从而缩短了DSP设计周期。设计人员可以使用DSP Builder模块迅速生成Simulink系统建模硬件。DSP Builder包括比特和周期精度的Simulink模块,涵盖了算法和存储功能等基本操作。可以使用DSP Builder模型中的MegaCore功能实现复杂功能的集成。利用DSP Builder中的模块进行设计,编译与仿真。当

27、编译正确后,可以利用综合,转化工具将模块化的设计转换为VHDL语言,最后在Quartus II中进行FPGA的实现。3.2.2 DSP Builder平台设计流程DSP Builder是一个系统级(或者说算法级)设计工具,它架构在多个软件工具之上,并连接系统级的算法仿真建模和RTL级的硬件实现两个设计领域的设计工具,最大程度地发挥了这两种工具的优势13。DSP Builder依赖于Math-Works公司的数学分析工具MatlabSimulink,以Simulink的Blockset出现,可在 simulink中进行图形化设计和仿真,同时又通过signal Compiler把MaltlabSi

28、mulinkDSP Builder的设计文件转成相应的VHDL设计文件,以及用控制综合与编译的tcl脚本。而对后者的处理可以由FPGACPLD开发工具 Quartus完成13。设计者可以利用DSP Builder中的功能块来为Simulink中的系统模型创建硬件。DSP Builder包含了按周期设计和按位的Simulink功能块,这些功能块覆盖了一些最基本的操作,比如说存储和运算的功能。DSP Builder的SignalComiler块读入Simulink的模型文件(.mdl),这个模型文件是用DSP Builder和MageCore块生成的,接着生成VHDL文件和TCL脚本文件,用于综合

29、和硬件的实现与仿真。DSP Builder可以帮助设计者完成基于FPGA的DSP或者其他的电子系统设计。DSP Builder可以自动完成大部分的设计仿真过程,替设计者省去了麻烦的设计过程。图3-2显示的是DSP Builder的设计流程。图3-2 DSP Builder设计及步骤设计的具体步骤如下:1.自动流程:第一步:在Matlab中的Simulink环境中建立一个(.mdl)模型文件,调用DSP Builder和Simulink库中的图形模块,连接构成一个系统级的设计框图,这个就是Simulink的设计模型。第二步:在Simulink中进行系统级仿真,分析这个设计模型的正确性。第三步:D

30、SP Builder完成VHDL转换、综合、适配、下载。第四步:嵌入式逻辑分析仪实时测试。2.手动流程:第一步:在Simulink环境中调用Altera DSP库(非MATLAB自带的DSP库)中的块,进行数学模型设计13。第二步:在MATLAB中进行纯数学上的仿真、验证及修改。第三步:当仿真符合设计要求后,再加入并运行Signal Compiler模块,将mdl文件自动转成vhd文件,进行RTL级的功能仿真和逻辑综合。第四步:在Quartus中进行编译设计并进行时序仿真。第五步:引脚锁定。第六步:下载/配置与嵌入式逻辑分析仪等实时测试。第七部:对配置器件编程,设计完成。3.3 Quartus

31、 II集成环境概述Quartus II是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程14。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点14。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合

32、,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台14。Quartus II的设计工具支持VHDL,Verilog的设计流程,因为Quartus II设计工具内部拥有VHDL,Verilog逻辑综合器。Quartus II同时也可以使用第三方的综合工具,比如说Synplify Pro ,Leonardo Spectrum,FPGA Compiler II,并且能够直接调用这些工具。同样的,Quartus II也具备仿真的功能,并且也支持第三方的仿真工具,比如ModelSim。此外,Quartus II能与Matlab和DSP Builder结合,能够进行基于FPGA的DSP系统的开发,是EDA工具中实现DSP硬件系统的一种关键工具。Quartus II可编程逻

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1