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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于FPGA的IIR滤波器设计论文Word文档格式.docx

1、2.1 电子设计自动化EDA技术82.2 可编程逻辑器件82.2.1 可编程逻辑器件简介82.2.2 使用FPGA器件进行开发的优点92.2.3 FPGA设计的开发流程92.3 硬件描述语言VHDL及数字系统设计方法102.3.1 硬件描述语言VHDL简介102.3.2 利用VHDL设计数字系统10第3章 IIR数字滤波器的设计与仿真结果分析113.1 IIR数字滤波器各模块的设计与仿真结果分析113.1.1 时序控制模块的设计与仿真结果分析113.1.2 延时模块的设计与仿真结果分析123.1.3 补码乘加模块的设计与仿真结果分析123.1.4 累加模块的设计与仿真结果分析143.1.5 顶

2、层模块设计143.2 IIR数字滤波器的仿真与结果分析153.2.1 IIR数字滤波器的系统设计153.2.2 IIR数字滤波器的系统仿真与结果分析163.2.3 高阶IIR数字滤波器的实现17结束语19参考文献20致 谢21附录1 各模块VHDL程序22附录2 英文翻译29序 言随着EDA技术的发展和应用领域的扩大和深入,EDA技术在电子信息、通信、自动控制及计算机应用等领域的重要性日益突出。这些技术的使用使得现代电子产品的体积减小、性能增强、集成化程度提高,与此同时其可编程能力也得以提高。在使用EDA进行电子设计时,设计人员可按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,采

3、用硬件描述语言(DHL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。VHDL语言是EDA设计中常用的一种IEEE标准语言,其具有覆盖面广、描述能力强、可读性好、支持大规模设计及逻辑单元利用等优点,因此受到越来越多的电子工程师的青睐1。本次设计采用EDA技术中的模块化设计思想,就IIR数字滤波器中的一些关键电路进行设计,主要内容包括:时序控制模块、延时模块、补码乘加模块、累加模块和IIR数字滤波器的顶层设计。分别对各模块采用VHDL进行描述后,进行了仿真和综合,取得了较好的设计效果。实验结果表明,本课题所设计的IIR数字滤波器具有运算速度快,系数改变灵活方便等特点。第1章 II

4、R数字滤波器及其硬件实现方法1.1 IIR数字滤波器概念数字滤波器是完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统2。输入一组数字量,通过运算输出的是另一组数字量。数字滤波器具有稳定性好、精度高、灵活性大等突出优点。随着数字技术的发展,用数字技术设计滤波器的功能越来越受到人们的注意和广泛的应用。1.1.1 IIR数字滤波器的原理一个数字滤波器的系统函数可以表示为2:= (1.1.1)直接由得出表示输入输出关系的常系数线性差分方程为: (1.1.2)式中、为滤波系数,当均为零时,该滤波器为FIR数字滤波器,当不均为零时,则为IIR数字滤波器。与FIR数字滤波器相比,IIR数字

5、滤波器可以用较低的阶数获得高的选择性,所用的存储单元少,成本低、信号延迟小,并且IIR数字滤波器可以借助于模拟滤波器的设计成果,设计工作量相对较小,为此,本文就IIR数字滤波器进行相关讨论。1.1.2 IIR数字滤波器的基本结构IIR数字滤波器有直接型、级联型和并联型三种基本结构2。由IIR数字滤波器的阶差分方程(1.1.2)式可知,设=2,则网络结构如图1-1所示。图1-1 直接型结构 1.1.3 IIR数字滤波器的设计方法IIR数字滤波器的设计方法通常有模拟转换法、零极点累试法和优化设计法2。1. IIR数字滤波器的模拟转换设计法利用模拟滤波器成熟的理论和设计方法来设计IIR数字滤波器是经

6、常使用的方法。设计过程是:按照技术要求设计一个模拟滤波器,得到滤波器的传输函数,再按一定的转换关系将转换成数字滤波器的系统函数。将传输函数从s平面转移到z平面的方法有多种,但工程上常用的是脉冲响应不变法和双线性变换法。2. IIR数字滤波器的零极点累试法上述介绍的模拟转换设计法实际上是数字滤波器的一种间接设计方法,而且幅度特性受到所选模拟滤波器特性的限制。例如巴特沃斯低通幅度特性是单调下降,而切比雪夫低通特性带内或带外有上、下波动等,对于要求任意幅度特性的滤波器,则不适合采用这种方法。下述介绍的在数字域直接设计IIR数字滤波器的设计方法,其特点是适合设计任意幅度特性的滤波器。在IIR数字滤波器

7、的直接设计法中零极点累试法较为常用,设单位脉冲响应的零极点表达式为2: (1.1.3)按照(1.1.3)式,系统特性取决于系统零极点的分布,通过分析,我们知道系统极点位置主要影响系统幅度特性峰值位置及其尖锐程度,零点位置主要影响系统幅度特性的谷值位置及其凹下的程度;且通过零极点分析的几何作图法可以定性地画出其幅度特性。上面的结论及方法提供了一种直接设计滤波器的方法。这种设计方法是根据其幅度特性先确定零极点位置,再按照确定的零极点写出其系统函数,画出其幅度特性,并与希望的进行比较,如不满足要求。可通过移动零极点位置或增加(减少)零极点,进行修正。3.优化设计法IIR 数字滤波器除模拟转换设计法和

8、零极点累试法外,还有一种直接在频域或者时域中进行设计,联立方程后需要计算机作辅助运算的方法,即所谓的优化设计法。1.2 IIR数字滤波器的硬件实现方案滤波器的实现主要包括两大类:DSPTMS320系列芯片的实现和ISP器件的实现(主要包括FPGA和CPLD)。其中利用DSPTMS320系列芯片实现滤波时速度较慢,而利用ISP器件实现时,其运算速度比DSP器件要快好多倍。FPGA的实现包括其自带的核的实现方法和自编程实现方法。核的实现方法虽然好用并且结构缜密,但一般情况下使用的权限都会受到注册购买的限制,因此基于FPGA的自编程实现方法成了滤波器实现的首选3。以下简要介绍IIR数字滤波器的设计方

9、案和基于FPGA的实现方法4。1.方案一:直接相乘累加式对于二阶的IIR数字滤波器,其传递函数为: (1.2.1)滤波器信号流图见图1-1,在第n时刻,是当时的输入样本;是n时刻的IIR滤波器的输出: (1.2.2)因此,可以用硬件乘法器和硬件加法器来实现乘法和加法。由式(1.2.2)可以看出,按照这种设计方法,要用到5个乘法器和6个加法器。对于FPGA的设计来说,这种方法的缺点是比较耗费资源。2.方案二:基于ROM查表法的VHDL结构化设计采用ROM查表的方法,主要是为了避免使用硬件乘法器。二阶IIR的一般表示形式为: (1.2.3)其中是输入序列,是输出序列,和是系数。假设输入序列为位2的

10、补码,并以定点表示,并1,对于可以表示为: (1.2.4)式中:表示的第位,上标为0的是符号位,因此可以定义一个5bit为变量的函数为: (1.2.5)由此可以得到:- (1.2.6)由于函数仅有32种可能取值,因此可以设计一个32*b位的ROM构成的如图1-3描述的基于ROM的实现结构。数据输入串行移入SR1和SR2,由抽头处得到,每计算出一个值后,便并行加载到SR3中,然后串行移入SR4,并在抽头处得到和。ROM的输入地址由组成。按此方法设计的优点是避免了占主要运算量的乘法运算,节省了FPGA的硬件资源,缺点与FIR滤波器利用ROM方法设计相同,即使用不够灵活。当系数发生变化时,更改ROM

11、内的数据十分不便,特别是当阶数比较大时,ROM内的数据较多,程序外的运算量也很大,修改数据更为不便。3.方案三:基于ROM查表法的改进型设计此方法结合了直接相乘累加式和ROM查表法的优点,使得设计灵活,设计周期短,节省资源。 (1.2.6)这里是输入序列,是输出序列,和是系数。设输入序列为位2的补码,并以定点表示,并 (1.2.7) (1.2.8)同理可得: (1.2.9) (1.2.10)令,可以推出: (1.2.11)从式(1.2.11)中可以看出,可以用一个五路8位*1位乘法器在8个时钟周期内实现上述算式。其加法可以直接调用软件的库实现。本方案实现结构如图1-3所示。 图1-3中的作为F

12、PGA接口上的AD器件的转换数据输入寄存器,各寄存器内的数据与各自的系数的最高位相乘后,送入累加器相加,并且其和向左移一位,以实现乘2运算。下一个时钟,寄存器内数据与其系数的次高位相乘,再送入累加器与其数据相加,再左移一位。接下的6个时钟进行类似的操作。第8个时钟后,累加器将其数据输出,即,并对累加器清零,同时将寄存器数据送入寄存器,将寄存器数据送入寄存器,同理,。接着再进行下一次运算。对上述三种方法相比较而言,方案三实现较为方便简洁,在节省了FPGA硬件资源的同时,使得设计灵活,设计周期大为缩短,故本设计在方案三为基础上作改进后,来实现IIR数字滤波器的。第2章 EDA技术和可编程逻辑器件2

13、. 1 电子设计自动化EDA技术EDA是Electronic Design Automation的缩写,意为电子设计自动化,即利用计算机自动完成电子系统的设计。回顾近30年的电子设计技术的发展历程,可将EDA技术分为三个阶段4:七十年代为CAD(Computer Aide Design)阶段。这个阶段主要分别研制了一个个单独的软件工具,主要有电路模拟、逻辑模拟、版图编辑、PCB布局布线等,通过计算机的使用,从而可以把设计人员从大量繁琐、重复的计算和绘图工作中解脱出来。八十年代为CAE阶段。这个阶段在集成电路与电子系统方法学,以及设计工具集成方面取得了众多成果,与CAD相比,除了纯粹的图形绘制功

14、能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。九十年代为EDA阶段,尽管CADCAE技术取得了巨大的成功,但在整个设计过程中,自动化和智能化程度还不高,各种EDA软件界面千差万别,学习实用困难直接影响到设计环节间的衔接。基于以上不足,人们开始追求贯穿整个设计过程的自动化,即电子系统设计自动化。2. 2可编程逻辑器件2.2.1可编程逻辑器件简介可编程阵列逻辑器件PAL(Programmable Array Logic)和通用阵列逻辑器件GAL(Generic Array Logic)都属于简单PLD。随着技术的发展,简单PLD在集成度和性能方面的局

15、限性也暴露出来。其寄存器、IO引脚、时钟资源的数目有限,没有内部互连,因此包括复杂可编程逻辑器件CPLD(Complex PLD)和现场可编程门阵列器件FPGA(Field Programmable Gate Array)在内的复杂PLD迅速发展起来,并向着高密度、高速度、低功耗以及结构体系更灵活、适用范围更广阔的方向发展。FPGA具备阵列型PLD的特点,结构又类似掩膜可编程门阵列,因而具有更高的集成度和更强大的逻辑实现功能,使设计变得更加灵活和易实现。相对于 CPLD,它还可以将配置数据存储在片外的EPROM或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即所谓的现场可编程

16、。所以FPGA得到了更普遍的应用。2.2.2使用FPGA器件进行开发的优点使用FPGA器件设计数字电路,不仅可以简化设计过程,而且可以降低整个系统的体积和成本,增加系统的可靠性。使用FPGA器件设计数字系统电路的主要优点如下:1.增大功能密集度功能密集度是指在给定的空间能集成的逻辑功能数量。可编程逻辑芯片内的组件门数高,一片FPGA可代替几十片乃至上百片中小规模的数字集成电路芯片。用FPGA实现数字系统时用的芯片数量少,从而减少印刷板面积和数目,最终导致系统规模的减小。2.缩短设计周期由于FPGA器件集成度高,使用时印刷线路板电路布局布线简单。FPGA器件的可编程性和灵活性,决定了用它设计一个

17、系统所需时间比传统方法大为缩短。3.工作速度快FPGACPLD器件的工作速度快,一般可以达到几百兆赫兹,远远大于DSP器件。使用FPGA器件后实现系统所需要的电路级数少,因而整个系统的工作速度会得到提高。2.2.3 FPGA设计的开发流程设计开始需利用EDA工具的文本或图形编辑器将设计者的设计意图用文本方式(如VHDL程序)或图形方式(原理图、状态图等)表达出来。完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合做准备。编译形成标准VHDL文件后,在综合前即可以对所描述的内容进行功能仿真,又可称为前仿真。由于此时的仿真只是根据VHDL的语义进行的,与具体电路没有关系,

18、仿真过程不涉及具体器件的硬件特性,如延迟特性。设计的第三步是综合,将软件设计与硬件的可实现性挂钩,这是软件化为硬电路的关键步骤。综合后,可生成VHDL网表文件,利用网表文件进行综合后仿真。综合通过后必须利用FPGA布局布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,这个过程叫做实现过程。布局布线后应进行时序仿真。时序仿真中应将布局布线后的时延文件反标到设计中,使仿真既包含门时延,又包含线时延的信息。与前面各种仿真相比,这种仿真包含的时延信息最为全面、准确,能较好地反映芯片的实际工作情况。如果以上的所有过程,都没有发现问题,即满足原设计要求,就可以将适配器产生的配置下载文件通

19、过编程器或下载电缆载入目标芯片中。2.3 硬件描述语言VHDL及数字系统设计方法2.3.1 硬件描述语言VHDL简介硬件描述语言(Very High Speed Integrated Circuit Hardware Description Language, VHDL)是一种用于设计硬件电子系统的计算机语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流、行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能。它主要用于描述数字系统的结构、行为、功能和接口,非常适用于可编程逻辑芯片的应用设计。与其它的HDL相比,VHDL具有更强大的行为描述能力,从

20、而决定了它成为系统设计领域最佳的硬件描述语言。2.3.2利用VHDL设计数字系统利用VHDL语言设计数字系统硬件电路,与传统的设计方法相比,具有以下优点:1.采用自顶向下(TOP-DOWN)的设计方法。自顶向下是指从系统总体要求出发,在顶层进行功能方框图的划分和结构设计。由于设计的主要仿真和调试过程在高层次上完成,这一方面有利于提高了设计的效率。2.降低了硬件电路的设计难度。在使用VHDL语言设计硬件电路时,可以免除编写逻辑表达式或真值表的过程,使得设计难度大大下降,从而也缩短了设计周期。3.主要设计文件是用VHDL语言编写的源程序。在传统的硬件电路设计中,最后形成的主要文件是电路原理图,而采

21、用VHDL语言设计系统硬件电路时主要的设计文件是VHDL语言编写的源程序。4.方便ASIC移植。VHDL语言的效率之一,就是如果你的设计是被综合到一个FPGA或CPLD的话,则可以使你设计的产品以最快的速度上市。当产品的产量达到相当的数量时,采用VHDL进行的设计很容易转换成专用集成电路来实现。所以本次设计采用利用VHDL语言的数字系统设计方法。第3章IIR数字滤波器的设计与仿真结果分析3.1 各模块的设计与仿真结果分析本课题在实现方案三的基础上,结合参考文献4-6将IIR滤波器的硬件系统分为四个模块:时序控制、延时、补码乘加和累加模块。以下就各个模块的实现及仿真作简要的分析。3.1.1 时序

22、控制模块的设计与仿真结果分析时序控制模块主要用来产生对其它模块的时序控制信号。模块的符号如图3-1(a)所示,输入信号CLK是时钟信号,RES是复位信号,CLK_REG及CLK_REGBT是输出信号。图3-1(a) 时序控制模块图图3-1(b) 时序控制模块仿真图时序控制模块仿真如图3-2(b)所示,其中counter为程序内部计数信号,在clk的上升延到来时,counter以6个时钟为周期开始进行计数,clk_regbt每隔6个时钟输出一个低电平,clk_reg则每隔6个时钟后输出一个高电平。输出的两个时钟信号正好控制延时模块、补码乘加模块和累加模块的模块的运行。符合设计要求。时序控制模块程序见附录1。3.1.2 延时模块的设计与仿真结果分析延时模块的符号如图3-2(a)所示,其主要作用是在clk时钟作用下将差分方程的各、值延迟一个时钟,以实现一次延时运算,即当输入为xn和yn时,经过一次延时后其输出分别为x(n-1)和y(n-1).其中yout是反馈输入信号,xn是输入信号。程序见附录二。图3-2(a) 延时模块图图3-2(b) 延时模块仿真图延时模块仿真图如图3-2(b)所示,由图3-4可以看出当输入的xn、yout都为时,在时钟信号上升沿的作用下产生延时,经第一个时钟后x0、x1、x2、y0、y1的值分别为1,0,

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2