毕业设计(论文)-基于fpga和matlab的数字滤波器设计_第1页
毕业设计(论文)-基于fpga和matlab的数字滤波器设计_第2页
毕业设计(论文)-基于fpga和matlab的数字滤波器设计_第3页
毕业设计(论文)-基于fpga和matlab的数字滤波器设计_第4页
毕业设计(论文)-基于fpga和matlab的数字滤波器设计_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要现代数字系统开发设计中,可编程逻辑器件的使用越来越普遍。传统的数字滤波器设计主要依靠理论公式推导,从而得到相关参数,而对利用这些参数设计的数字滤波器的真实效果并没有一个感性的认识,从而无法对参数进行进一步的优化。针对上述主要情况,提出了一种联合使用MATLAB与QUARTUS实现FIR(有限脉冲响应)滤波器的设计方法。结合实际的例子介绍了等波纹法最佳逼近法FIR滤波器的设计流程,给出了利用MATLAB与QUARTUS进行软件验证和硬件仿真的设计步骤。此方法能过直观的检验滤波器的设计效果,便于优化设计参数、提高设计效率和成功率。关键词MATLABQUARTUSFIR数字滤波器FPGA等波纹最佳逼近法ABSTRACTINEXPLOITATIONANDDESIGNOFTHEMODERNDIGITALELECTRONICSYSTEM,PROGRAMMABLELOGICDEVICEPLDISUSEDMOREANDMOREWIDELYTRADITIONALLY,WEUSETHEORETICALFORMULATOOBTAINSOMECORRELATIVEPARAMETERWHENDESIGNINGADIGITALFILTERBUT,INTHISWAY,ITCANTBRINGANYVISUALCOGNITIONTOTHEACTUALRESULTOFTHEFILTERSOITISIMPOSSIBLETHATOPTIMIZINGTHEPARAMETERACCORDINGTOTHEACTUALRESULTINORDERTOSOLVETHISQUESTION,THEPAPERPRESENTSADESIGNMETHODFORFIRDIGITALFILTERBASEDONMATLABANDQUARTUSANDTHROUGHTHISEXAMPLEITGIVESTHEDESIGNFLOWTHERESULTOFTHESOFTWAREANDHARDWARESIMULATIONISANALYZEDBYUSINGOFMATLABANDQUARTUSITCANEASILYCHECKUPTHERESULTSANDADVANCETHEEFFICIENCYOFTHEDESIGNKEYWORDSMATLABQUARTUSFIRDIGITALFILTERFPGAEQUIRIPPLE目录第一章绪论111本课题研究的意义112国内外现状1121数字信号处理发展动态1122目前FIR数字滤波器FPGA实现方法213本论文的研究思想3第二章数字滤波器的设计理论基础521数字滤波器概述522数字滤波器基础6221FIR滤波器理论723FIR滤波器的性能要求1224FIR滤波器的最优化设计13241FIR数字滤波器的最优化设计准则13242等波纹最佳设计法的设计步骤13第三章基于MATLAB的滤波器设计1531MATLAB滤波器设计工具箱1532低通滤波器的设计和仿真16321低通滤波器的设计16322低通滤波器的仿真19323低通滤波器设计结论2133带通滤波器设计和仿真22331带通滤波器设计22332带通FIR滤波器的仿真25333低通滤波器设计结论2734高通FIR滤波器的设计和仿真28341高通FIR滤波器的设计28342高通FIR滤波器的仿真31第四章基于QUARTUS的数字滤波器设计3341FPGA硬件电路设计33411传统的硬件电路设计方法33412基于FPGA的硬件电路设计方法34413电子设计自动化EDA技术35414可编程逻辑器件36415基于FPGA的器件开发的优点37416FPGA的设计开发流程3842基于QUARTUS的FIR低通滤波器的仿真43421ROM存储器的设计43422FIR低通滤波器的设计44423低通FIR滤波器的仿真4643基于QUARTUS的FIR带通滤波器的仿真49431FIR带通滤波器的设计49432带通FIR滤波器的仿真5044基于QUARTUS的FIR高通滤波器的仿真52441FIR高通滤波器的设计52442高通滤波器的仿真53第五章结束语5551本文总结5552以后的工作55致谢57参考文献59第一章绪论11本课题研究的意义在信号处理领域中,对于信号处理的实时性、快速性的要求越来越高。而在许多信息处理过程中,如对信号的过滤、检测、预测等,都要广泛地用到滤波器。其中数字滤波器具有稳定性高、精度高、设计灵活、实现方便等许多突出的优点,避免了模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题,因而随着数字技术的发展,用数字技术实现滤波器的功能越来越受到人们的注意和广泛的应用。上世纪60年代,快速傅立叶变换法的提出使得数字信号处理理论得到快速发展,80年代,数字信号处理器的产生又大大提高了数字信号处理实现实时和应用的可能,彻底改变了信号处理的面貌。如今,数字信号处理在通信与信息系统、信号与信息系统、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。随着系统对宽带、高速、实时信号处理要求越来越高,对滤波器的处理速度、带宽等性能要求也随之提高。滤波器的性能的好坏直接影响着系统的稳定性和后续的信号处理。其中有限冲激响应FIR滤波器能在设计任意幅频特性的同时保证严格的线性相位特性,在语音、数据传输中应用非常广泛,所以本课题就选为FIR数字滤波器进行设计。12国内外现状121数字信号处理发展动态随着信息技术时代和数字世界的到来,数字信号处理已经成为当今一门极其重要的学科。作为数字信息处理分支的数字滤波器,也受到了人们的关注。它是通信、语音、图像、自动控制、雷达、航天航空、生物医学信号处理等领域中的一种基本处理器件,具有稳定性好、精度高、灵活性大等突出优点。数字滤波器包括有限冲激响应(FINITEIMPULSERESPONSE,简称FIR)滤波器和无限冲激响应(INFINITEIMPULSERESPONSE,简称IIR)滤波器两大类,其中FIR滤波器因可以得到严格的线性相位,有限度精度的计算不会产生振荡,运算速度快等优点受到了人们更多的青睐。通常数字信号处理实现大致可以分为两类。一类是软件实现,使用高级语言如C/C,MATLAB等,在通用的计算机上实现。这种方法多用于教学或算法仿真,不能实现实时性。另一类就是硬件实现,目前硬件实现有以下几种方式。一种是使用通用的可编程DSP芯片编程实现,如TI的DSP系列、AD的DSP系列等等,它们主要的数学运算单元是乘累加器MAC。MAC能在一个机器时钟周期内完成一次乘累加运算,同时硬件上配备不同等级的流水结构和哈佛结构,能够实现高速实时的数字信号处理。但由于固定的硬件结构和流水等级,使得在应用上有所限制。同时,就是同一公司的不同系列DSP芯片,其编程的指令集也会有所不同,加大了开发周期。一种是采用专用集成电路ASICAPPLICATIONSPECIFICINTEGRATEDCIRCUITS来实现,适用于过程固定而又追求高速的信号处理任务,是以指定的算法来确定它的结构,使用各种随机逻辑器件组成的信号处理器。它们体积小、保密性好,具有极高的性能,然而灵活性差。另一种就是采用可编程逻辑器件CPLD/FPGA。FPGA具有灵活的可编程逻辑,突破了并行处理与流水级数的限制,可以很好的实现信号处理的实时性。还具有体积小,速度快,重量轻,功耗低,可靠性高,仿制困难,上批量成本低,开发程序的可移植性好,可以缩短开发周期等优点。但是设计中查表法所用到的查找表的规模,随着FIR数字滤波器的阶数的增加而呈指数增长,而且随着滤波器的位数的增加,查找表的规模也会增加,这将极大增加设计的硬件规模,所以在设计中要尽量优化,缩小查找表的规模。122目前FIR数字滤波器FPGA实现方法目前,使用FPGA设计FIR滤波器常用乘法器结构和分布式算法结构1。使用乘法器结构有采用乘累加结构,并行乘法器结构。乘累加结构是最简单的一种,占用资源少,缺点是处理速度慢,可用于处理速度要求不高、FIR结构简单的系统并行乘法器结构相对复杂,如果加上流水结构,能实现较高速的信号处理,能够满足一定的实时性。但是这种结构受乘法器处理速度和个数的限制。同时,如果采用FPGA的可编程逻辑实现乘法器,资源占用较大。分布式算法DA巧妙的利用ROM查找表将固定系数的乘累加运算转换成查找表操作,避免了乘法运算。同时,查找表后的数据执行的都是简单的加法运算,可以较大程度地提高运算速度和插入流水。这种方法是目前比较常用的基于FPGA设计FIR滤波器的方法。分布式算法DA又分为串行分布式算法、串并结合的分布式算法、并行分布式算法。串行分布式算法结构相对简单,占用资源少,但处理速度不是很高,主要受数据位数的影响并行分布式算法结构齐整,利于流水实现,多用于对速度要求高的场合,但占用资源大串并结合的分布式算法是串行分布式算法与并行分布式算法的一个折衷,具体情况不同,效果也不同,缺点是有控制电路的加入,增加了电路的复杂性。不管哪种分布式算法,都会用到ROM来做查找表。随着FIR滤波器阶数的增加,ROM数量增多,也会加大资源的占用,目前还没有一个特别有效的方法来减少ROM数量或规模,只能从全局进行折衷。13本论文的研究思想通过对目前数字滤波器的几种实现方法的简单分析,我们认为基于FPGA的FIR数字滤波器具有许多优点,考虑到信息技术的发展对于数字滤波器的要求越来越高,而目前滤波器的性能还不完善,本论文就选择基于FPGA的高速FIR数字滤波器研究作为论文的主要研究内容。本设计主要是采用MATLAB信号处理箱中的FDATOOL设计出理想的符合要求的FIR滤波器参数,包括低通滤波器、带通滤波器和高通滤波器三种,然后利用FDATOOL导出理想的滤波器系数。再将滤波器系数送入QUARTUSDSP中的FIR滤波器中,改变其系数,就可以得到符合要求的FIR滤波器,包括低通、带通、和高通。再利用实际的信号进行滤波分析,通过MATLAB和QUARTUS得到理想滤波后的信号和实际硬件滤波后的信号,并将它们进行比较分析。为了保证设计的正确性,在设计初期就在MATLAB下对滤波器原理进行证明,分析FIR数字滤波器由于系数取整和采样值取整所引起的误差,在设计后期对电路时行前仿真和后仿真,也对仿真结果进行分析。第二章数字滤波器的设计理论基础21数字滤波器概述模拟滤波器一般利用RLC元器件和运算放大器实现,数字滤波器则是通过对采样数据信号进行数学运算处理来达到频域滤波的目的。数字滤波器正在迅速地代替传统的模拟滤波器,越来越广泛地应用于数字信号处理系统中。数字滤波器可以满足滤波器对幅度和相位特性的严格要求,避免模拟滤波器无法克服的电压漂移、温度漂移和噪声等问题。最为普通的数字滤波器就是线性时不变LINEARTIMEINVARIANT,LTI滤波器。根据单位脉冲响应HN的不同,LTI数字滤波器又分为IIR数字滤波器和FIR数字滤波器两大类2。由有限长脉冲响应所表示的数字滤波器被称为有限脉冲响应(FINITEIMPULSERESPONSE,FIR滤波器;由无限脉冲响应所表示的数字滤波器则称为无限脉冲响应INFINITEIMPULSERESPONSE,IIR滤波器。IIR滤波器和FIR滤波器各有特点。IIR滤波器的主要优点有可以利用一些现成的公式和系数表设计各类选频滤波器,因此设计方法比较简单;在满足一定技术要求和幅频响应的情况下,IIR仅滤波器设计成具有递归运算的环节,它的阶次一般比FIR滤波器低,所用存储单元少,滤波器体积也小。IIR滤波器的缺点是只能设计出有限频段的低、高、带通和带阻等选频滤波器,除幅频特性能满足技术要求外,它们的相频特性往往是非线性的,这就会使信号产生失真由于IIR滤波器采用递归型结构,系统存在极点,因此设计系统函数时,必须把所有的极点置于单位圆内,否则系统不稳定,且有限字长效应带来的运算误差,有时会使系统产生寄生振荡。FIR滤波器的优点为可以设计出具有线性相位的滤波器,从而保证信号在传输过程中不会产生失真;由于FIR滤波器没有递归运算,所以不论在理论上或实际应用中,有限字长效应带来的运算误差都不会导致系统不稳定;只要经过一定的延时,任何非因果有限长序列都能变成因果的有限长序列,因而能用因果系统来实现;FIR滤波器由于单位脉冲响应是有限长的,因而可用快速傅里叶变换FFT算法来实现过滤信号,可大大提高运算效率。同样FIR滤波器也存在其缺点虽HKK0,1,2脉冲响应XN输入序列YN输出序列然可以采用加窗方法或频率取样等简单方法设计FIR滤波器,但往往在过渡带和阻带衰减上难以满足要求,因此不得不采用多次迭代或采用计算机辅助设计,从而使设计过程变得复杂在相同的频率特性情况下,FIR滤波器阶次比较高,所需的存储单元多,从而提高了硬件设计成本。IIR滤波器和FIR滤波器各有优缺点,因此在应用时应根据技术要求及所处理信号的特点予以选择。图像处理以及数据传输等领域都要求信道具有线性相位特性,由于FIR滤波器具有稳定性、因果性、线性相位等特点,因此在这些领域得到了广泛的应用。所以该论文主要就FIR数字滤波器作为设计的对象,进行讨论研究。22数字滤波器基础对数字滤波器,虽然从实现方法上有无限脉冲响应IIR滤波器和有限脉冲响应FIR滤波器之分,但在基本形式上,每一种滤波器都可以用它的脉冲响应序列H(K)(K0,1,2,3,)来表示,如图21所示3。图21数字滤波器的概念性表示数字滤波器的输入和输出都是离散时间信号,其单位脉冲响应HN也是离散的。对于一个线性时不变(LTI)系统,滤波器的时域输入输出关系是YNXNHN式(21)若输入输出XN、YN和的傅里叶变换存在,则频域的输入和输出关系是Y(EJW)XEJWHEJW式(22)滤波器的输入和输出信号通过卷积和相联系,式23和24分别给出了IIR和FIR滤波器的相关公式。YN式230KKNXHYN式2410K从这些等式可知,IIR滤波器的脉冲响应具有无限的持续时间,而FIR滤波器的脉冲响应具有有限持续时间,因为FIR的HK只有K个值。IIR滤波器能得到较好的幅度特性,其相位特性是非线性的;FIR滤波器的脉冲响应是有限长序列,具有严格的线性相位特性,其系统函数为一个多项式,它所包含的极点都位于原点,所以FIR滤波器永远是稳定的。比如在语音信号处理的传输过程中不能有明显的相位失真,而FIR滤波器在满足一定对称条件下可以实现IIR滤波器难以实现的线性相位,因而得到广泛应用。本设计采用FIR滤波器的结构来完成的,所以必须对FIR滤波器的理论知道有深刻的理解,为优化设计做准备。221FIR滤波器理论FIR滤波器的数学表达式可以用式(25)来表示成K阶卷积4YN式2510KKNXH其中KFIR滤波器的抽头数,即滤波器的阶数;HK第K级抽头系数,即单位脉冲响应;XNK延迟K个抽头的输入信号。卷积是DSP使用最频繁的一种运算,描述系统的输入如何与系统相互作用产生输出,通常来说,系统的输出将是输入的延迟、衰减或者放大。如果滤波器的单位脉冲系数满足对称和反对称的条件,就说明其具有线性相位的特性,即HNHN或HNHN式(26)按结构划分,FIR滤波器有四种类型直接型、级联型、线性相位型和频率采样型。当一个FIR滤波器具有线性相位响应时,其脉冲响应呈现某种对称条件。在这种形式中,将利用这些对称关系把相乘的次数减少一半。正是由于此原因,在本文中才会选择线性相位型来进行设计。线性相位有如下优点1、设计问题中只有实数运算而没有复数运算,运算简单;2、线性相位FIR滤波器没有延时失真,仅有某一固定时延,便于设计;3、对于长度为M或ML的滤波器,其运算次数具有M/2量级,提高运算速度,节省资源。线性相位的FIR滤波器有两种对称的类型,对称和反对称5,。在对称和反对称的情形下,脉冲响应的特性如下所述。当对称情况下,脉冲响应的表达式为6HNHM1N,0NM1和A式2721M因此可以看出,HN关于A对称,A是对称中心,当M为奇数或者偶数时,所得到的单位脉冲响应是不同的。M为奇数时,A是一个整数,脉冲响应如图22所示。21M图22对称脉冲响应(M为奇数)M为偶数时,A不是一个整数,脉冲响应如图23所示。21M图23对称脉冲响应(M为偶数)当脉冲响应为反对称时,其表达式为HNHM1N,0NM1,A,式2821M2M为奇数时,A是一个整数,脉冲响应如图24所示。21M图24反对称脉冲响应(M为奇数)M为偶数时,A不是一个整数,脉冲响应如图25所示。21M图25反对称脉冲序列(M为偶数)下面是直接型的滤波器结构,这是由FIR滤波器表达式得出的结构图,如图26所示,能直观的表达出FIR滤波器的运算原理。图26直接型FIR滤波器结构而线性相位FIR滤波器的差分方程为YNH0XNH1XN1HN2XNM2HN1XNM1式29由于FIR滤波器的系数对称相等,所以上式可以化为(210)式YNH0XNH1XN1HN2XNM2HN1XNM1H0XNXNM1H1XN1XNM2式210当滤波器的阶数为奇数和偶数时,其相应的结构图可以画成如图27和28所示。图27线性相位FIR滤波器(奇数阶)图28线性相位FIR滤波器(偶数阶)本设计中的FIR数字滤波器为线性相位,脉冲响应为图23所示类型,滤波器的阶数为偶数32,符合所述的滤波器结构,在设计滤波器的时候可以预先将输入的XN对称相加,这样可以减少设计所消耗的资源。23FIR滤波器的性能要求数字滤波器的特性经常在频域定义,对于选择性的滤波器,如低通滤波器和带通滤波器,性能规范经常以容差图的形式出现,如图29所示。由该图可知,滤波器的基本技术指标包括5个参数通带截止频率FP,是阻带截止频率FS,通带容限P,阻带容限S,以及滤波器的阶数N7。图29低通滤波器的容差图他们与通带纹波P和阻带衰减S之间的关系是式(211)式(212)滤波器要设计成奈奎斯特频率以上的频率分量衰减到ADC检测不到的电平。于是,对于采用B位的线性ADC系统,其滤波器的阻带最小衰减通常应该是S20LG2B式(25113)24FIR滤波器的最优化设计241FIR数字滤波器的最优化设计准则FIR数字滤波器的窗函数设计法和频率采样设设计法,简单方便,易于实现。但是这两种设计方法存在一些不足81不能精确指定滤波器的边界频率WP和WS,只能接受设计法所得的大体适用值。2窗函数设计法使通带和阻带波纹幅度相等,频率采样法只能控制阻带波纹幅度,这两种方法均不能分别独立控制通带和阻带波纹幅度。这在实际的工程设计中是不方便的。3理想滤波器的幅频响应与所设计滤波器的幅频响应之间的逼近误差,是在全频带区间上不均匀分布的。靠近边界频率处误差较大,距边界频率越远,误差越小。可以设想,如果使逼近误差在通带和阻带都均匀分布,即等波纹幅度,就可以在相同技术指标的条件下,得到一个较低阶的滤波器。现在已有的MATLAB信号处理工具箱函数,实现FIR数字滤波器的最优化设计。FIR数字滤波器的最优化设计中,第一种常用的准则就是最小均方误差准则,其结果使用矩形窗函数RN(N)直接截取理想滤波器单位脉冲响应HD(N)的一段,作为所设计滤波器的单位脉冲响应H(N)。这是一种时域逼近法,所以矩形窗函数法是最小均方误差准则的最优化设计法。第二种常用的准则是最大误差最小化准则,它使幅度误差在整个逼近频段上均与分布,按照该准则所设计的FIR数字滤波器的幅频响应应在通带和阻带都是等波纹的,而且可以分别独立的控制通带和阻带的波纹幅度,在滤波器长度给定的条件下能使加权误差波纹幅度最小。所以该准则是一种等波纹最佳逼近优化设计准则,即用等波纹最佳逼近法设计FIR数字滤波器。这种设计方法也称为切比雪夫逼近法,或者雷米兹逼近法。242等波纹最佳设计法的设计步骤1根据滤波器的设计指标要求边界频率、通带最大衰减、阻带最小衰减等,估计设计滤波器的阶数MN1,确定幅度误差加权函数。2采用雷米兹交替算法,获得所设计滤波器的单位脉冲响应。第三章基于MATLAB的滤波器设计31MATLAB滤波器设计工具箱数字滤波器是数字信号处理的一个重要的技术分支,随着软件和硬件技术的飞速发展,数字滤波器的设计摆脱了繁重的计算工作,依赖于计算机辅助设计,数字滤波器以更快的速度发展。目前常用的数字滤波器设计与仿真软件是MATLAB。MATLAB拥有强大的运算能力和仿真能力,是数字滤波器设计工作不可或缺的工具之一。FDATOOL(FILTERDESIGN第二,对于复杂电子系统的设计,当时的EDA工具由于缺乏系统级的设计考虑,不能提供系统级的仿真与综合,设计错误如果在开发后期才被发现,将给修改工作带来极大的不便。八十年代为CAE阶段。这个阶段在集成电路与电子系统方法学,以及设计工具集成方面取得了众多成果,与CAD相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。由于采用了统一数据管理技术,因而能够将各个工具集成为一个CAECOMPUTERAIDEDENGINEERING系统。CAE的主要功能是原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析等。这个阶段主要采用基于单元库的半定制设计方法,采用门阵列和标准单元设计的各种AMU得到了极大的发展。将集成电路工业推入了ASIC时代。九十年代为EDA阶段,尽管CAD/CAE技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。在整个设计过程中,自动化和智能化程度还不高,各种EDA软件界面千差万别,学习实用困难,并且互不兼容,直接影响到设计环节间的衔接。基于以上不足,人们开始追求贯穿整个设计过程的自动化,即电子系统设计自动化。此阶段出现了以高级语言描述、系统仿真和综合技术为特征的第三代EDA技术,不仅大大提高了系统的设计效率,而且使设计人员摆脱了大量的辅助性及基础性工作,将精力集中于创造性的方案与概念的构思上。414可编程逻辑器件可编程逻辑器件PLD是ASIC的一个重要分支。ASIC按制造方法又可分为全定制产品、半定制产品和可编程逻辑器件PLD。前两种ASIC的设计和制造都离不开器件生产厂家,用户主动性较差。随着微电子技术的发展,设计师们更愿意自己设计专用集成电路芯片,并尽可能缩短设计周期,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,在使用中也能比较方便的对设计进行修改。可编程逻辑器件就是为满足用户的这一需求而应运而生的。PLD从20世纪70年代发展到现在,已形成了许多类型的产品,其结构、工艺、集成度、速度和性能都在不断的改进和提高。PLD又可分为简单低密度PLD和复杂高密度PLD。可编程阵列逻辑器件PAL和通用阵列逻辑器件GAL都属于简单PLD,结构简单,设计灵活,对开发软件的要求低,但规模小,难以实现复杂的逻辑功能。随着技术的发展,简单PLD在集成度和性能方面的局限性也暴露出来。其寄存器、I/0引脚、时钟资源的数目有限,没有内部互连,因此包括复杂可编程逻辑器件CPLD和现场可编程门阵列器件FPGA在内的复杂PLD迅速发展起来,并向着高密度高速度低功耗以及结构体系更灵活适用范围更广阔的方向发展1415。FPGA具备阵列型PLD的特点,结构又类似掩膜可编程门阵列,因而具有更高的集成度和更强大的逻辑实现功能,使设计变得更加灵活和易实现。相对于CPLD它还可以将配置数据存储在片外的EPROM或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即所谓的现场可编程。所以FPGA得到了更普遍的应用。415基于FPGA的器件开发的优点使用FPGA器件设计数字电路,不仅可以简化设计过程,而且可以降低整个系统的体积和成本,增加系统的可靠性。它们无需花费传统意义下制造集成电路所需大量时间和精力,避免了投资风险,成为电子器件行业中发展最快的一族。使用FPGA器件设计数字系统电路的主要优点如下161设计灵活使用FPGA器件,可以不受标准系列器件在逻辑功能上的限制。而且修改逻辑可在系统设计和使用过程的任一阶段中进行,并且只须通过对所用的FPGA器件进行重新编程即可完成,给系统设计提供了很大的灵活性。2增大功能密集度功能密集度是指在给定的空间能集成的逻辑功能数量。可编程逻辑芯片内的组件门数高,一片FPGA可代替几片、几十片乃至上百片中小规模的数字集成电路芯片。用FPGA器件实现数字系统时用的芯片数量少,从而减少芯片的使用数目,减少印刷线路板面积和印刷线路板数目,最终导致系统规模的全面缩减。3提高可靠性减少芯片和印刷板数目,不仅能缩小系统规模,而且它还极大的提高了系统的可靠性。具有较高集成度的系统比用许多低集成度的标准组件设计的相同系统具有高得多的可靠性。使用FPGA器件减少了实现系统所需要的芯片数目,在印刷线路板上的引线以及焊点数量也随之减少,所以系统的可靠性得以提高。4缩短设计周期由于FPGA器件的可编程性和灵活性,用它来设计一个系统所需时间比传统方法大为缩短。FPGA器件集成度高,使用时印刷线路板电路布局布线简单。同时,在样机设计成功后,由于开发工具先进,自动化程度高,对其进行逻辑修改也十分简便迅速。5增加系统的保密性能很多FPGA器件都具有加密功能,在系统中广泛的使用FPGA器件可以有效防止产品被他人非法仿制。6降低成本使用FPGA器件实现数字系统设计时,如果仅从器件本身的价格考虑,有时还看不出来它的优势,但是影响系统成本的因素是多方面的,综合考虑,使用FPGA的成本优越性是很明显的。首先,使用FPGA器件修改设计方便,设计周期缩短,使系统的研制开发费用降低;其次,FPGA器件可使印刷线路板面积和需要的插件减少,从而使系统的制造费用降低;再次,使用FPGA器件能使系统的可靠性提高,维修工作量减少,进而使系统的维修服务费用降低。7工作速度快FPGA/CPLD器件的工作速度快,一般可以达到几百兆赫兹,远远大于DSP器件。同时,使用FPGA器件后实现系统所需要的电路级数又少,因而整个系统的工作速度会得到提高。416FPGA的设计开发流程可编程逻辑器件的设计是指利用EDA开发软件17和编程工具对器件进行开发的过程。图41是基于EDA软件的FPGA/CPLD设计流程图,对于目前流行的EDA工具软件,图41的设计流程具有一般性。由于EDA的整个流程涉及不同技术环节,每一环节中必须有对应的软件包或专用EDA工具独立处理。单个EDA工具往往只涉及到EDA流程中的某一步骤,以EDA设计流程中涉及的主要软件包为EDA工具分类,大致可分为五个模块设计输入编辑器、HDL综合器、仿真器、适配器布局布线器、下载器18。当然这种分类不是绝对的,现在也有集成的EDA开发环境,如FOUNDATIONSERIES,QUARTUS等。以下分别介绍开发设计中各流程的主要功能及其常用的EDA软件。图41FPGA/CPLD的开发流程A设计输入将电路系统以一定的表达方式输入计算机,是在EDA软件平台上对FPGA/CPLD开发的最初步骤。通常,使用EDA工具的设计输入可分为两种类型图形输入和HDL文本输入19。图形输入通常包括原理图输入、状态图输入和波形图输入三种常用方法。状态图输入方法就是根据电路的控制条件和不同的转换方式,用绘图的方法,在EDA工具的状态图编辑器上绘出状态图,然后由EDA编译器和综合器将此状态变化流程图形编译综合成电路网表。波形图输入方法则是将待设计的电路看成是一个黑盒子,将黑盒子电路的输入和输出时序波形图提供给EDA工具,EDA工具即能据此完成黑盒子电路的设计。原理图输入法是一种类似于传统电子设计方法的原理图编辑输入方式,即在EDA软件的图形编辑界面上绘制能完成特定功能的电路原理图。原理图由逻辑器件符号SYMBOL和连接线构成,图中的逻辑器件可以是EDA软件库中预制的功能模块,如与门、非门、或门、触发器以及各种含74系列器件功能的宏功能块,甚至还有一些类似于IP的功能块。原理图编辑绘制完成后,原理图编辑器将对输入的图形文件进行排错,之后再将其编译成适用于逻辑综合的网表文件。用原理图输入方法的优点是显而易见的设计者进行电子线路设计时不需要增加新的相关知识,如HDL等;设计方法与用PROTEL作图相似,设计过程形象直观;对于较小的电路模型,其结构与实际电路十分接近,设计者易于把握电路全局;由于设计方式接近于底层电路布局,因此易于控制逻辑资源的利用,节省面积。然而,使用原理图输入方式的设计方法的缺点同样是十分明显的由于图形设计方式并没有得到标准化,不同的EDA软件中的图形处理工具对图形的设计规则、存档格式和图形编译方式都不同,因此图形文件兼容性差,难以交换和管理;随着电路设计规模的扩大,原理图输入描述方式必然引起一系列难以克服的困难,如电路功能原理的易读性下降,错误排查困难,整体调整和结构升级困难;由于图形文件的不兼容性,性能优秀的电路模块移植和再利用十分困难;由于在原理图中己确定了设计系统的基本电路结构和元件,留给综合器和适配器优化选择的空间已十分有限,因此难以实现用户所希望的面积、速度以及不同风格的综合优化,显然,原理图的设计方法明显偏离了电子设计自动化最本质的涵义在设计中,由于必须直接面对硬件模块的选用,因此行为模型的建立将无从谈起,从而无法实现真实意义上的“自顶向下”的设计方案。HDL文本输入方式与传统的计算机软件语言编辑输入基本一致,就是将使用了某种硬件描述语言的电路设计文本,如VHDL或VERILOGHDL的源程序,进行编辑输入。应用HDL的文本输入方法克服了上述原理图输入法存在的所有弊端,为EDA技术的应用和发展打开了一个广阔的天地。目前,在各可编程逻辑器件厂商提供的EDA开发工具中一般都含有支持各种输入方式的输入编辑器,如XILINX的FOUNDATION、ALTERA的QUARTUS11等。HDL的输入用普通的文本编辑器即可完成。通常EDA工具中提供的HDL编辑器会更好用些,它们都带有语法提示功能,一般具有语法色彩提示。设计输入编辑器在多样、易用和通用性方面的功能正不断增强,使EDA技术中自动化设计程度不断提高。目前,有些专业的EDA工具供应商提供的设计输入工具一般与该公司的其他电路设计软件整合,这点尤其体现在原理图输入环境上。B综合一般来说,综合是仅对应于HDL而言的。综合就是将电路的高级语言描述转换成低级的可与FPGA/CPLD的基本结构相映射的网表文件或程序。利用HDL综合器对设计进行综合是十分重要的,综合过程把软件设计的HDL描述与硬件结构相连,是将软件转化为硬件电路的关键步骤,是文字描述与硬件实现的一座桥梁。当输入的HDL文件在EDA工具中检测无误后,首先面临的是逻辑综合,因此要求HDL源文件中的语句都是可综合的。HDL综合器的输出文件一般是网表文件,如EDIF格式,是一种用于设计数据交换和交流的工业标准文件格式的文件或是直接用VHDL/VERILOG语言表达的标准格式的网表文件;或是对应FPGA器件厂商的网表文件,如XILINX的XNF网表文件。如果把综合理解为映射过程,那么这种映射不是唯一的,并且综合的优化也不是单纯的或一个方向的。为达到速度、面积、性能的要求,往往需要对综合加以约束,称为综合约束。C适配适配的任务是将由综合器产生的网表文件配置于指定的目标器件中,即完成目标系统在器件上的布局布线,使之产生最终的下载文件,如JEDEC、JAM格式的文件。适配所选定的目标器件FPGA/CPLD芯片必须属于原综合器指定的目标器件系列。通常EDA软件中的综合器可由专业的第三方EDA公司提供,而因为适配器的适配对象直接与器件的结构细节相对应,适配器则需由FPGA/CPLD供应商提供,例如XILINX公司的FOUNDATION和ISE中含有自己的适配器;ALTERA公司的QUARTUS11中也含有嵌入的适配器。逻辑综合后,必须利用适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、逻辑布局布线操作。适配完成后可以利用适配所产生的仿真文件作精确的时序仿真,同时产生可用于编程的文件。D功能仿真和时序仿真在编程下载前,必须利用EDA工具对适配生成的结果进行模拟测试,就是所谓的仿真。仿真就是让计算机根据一定的算法和一定的仿真库对EDA设计进行模拟,以验证设计,排除错误。仿真是在EDA设计过程中的重要步骤。时序仿真和功能仿真工具通常由PLD公司的EDA开发工具直接提供,也可以选用第三方的专业仿真工具,它们可以完成两种不同级别的仿真测试。功能仿真直接对VHDL、原理图描述或其他描述形式的逻辑功能进行模拟测试,以了解其实现的功能是否满足原设计的要求。功能仿真过程不涉及任何具体器件的硬件特性,不经历综合与适配阶段,在设计项目编辑编译后即可进入门级仿真器进行模拟测试。直接进行功能仿真的好处是设计耗时短,对硬件库、综合器等没有任何要求。对于规模比较大的设计项目,综合与适配在计算机上的耗时是十分可观的,如果每一次修改后的模拟都必须进行时序仿真,显然会降低开发效率。因此,通常的做法是首先进行功能仿真,待确定设计文件所表达的功能满足设计者意图,即逻辑功能满足要求后,再进行综合、适配和时序仿真,以便把握设计项目在硬件条件下的运行情况。时序仿真是接近真实器件运行特性的仿真,仿真文件中已包含了器件硬件特性参数,仿真精度高。但时序仿真的仿真文件必须来自针对具体器件的综合器和适配器。综合后得到的网表文件通常作为FPGA支配器的输入文件,产生的仿真网表文件中包含了精确的硬件延迟信息。功能仿真和时序仿真根据输入仿真文件的不同,可以由不同的仿真器完成,也可由同一个仿真器完成。仿真器又称模拟器,主要用来帮助设计者验证设计的正确性,在硬件系统设计的各个层次都要用到仿真器。仿真器分为基于元件的仿真器和HDL仿真器。基于元件的仿真器可以对原理图输入进行功能仿真和时序仿真;HDL仿真器是对应于HDL输入进行仿真的工具。按处理的硬件描述语言不同,HDL仿真器可分为四种VHDL仿真器、VERILOG仿真器、MIXEDHDL仿真器和其他HDL仿真器针对其他HDL语言的仿真。在EDA设计的各个环节中,仿真是整个设计流程中最耗时的一个步骤,因此仿真器的仿真速度、准确性、易用性成为衡量仿真器的重要指标。目前,常用的HDL仿真器有MODELSIM和VERILOGXL,前者是一个出色的VHDL/VERILOG混合仿真器,后者是最好的VERILOG仿真器之一。E数据下载和编程在采用FPGA/CPLD作为目标芯片的数字系统现场集成的设计过程中,把适配后生成的下载或配置文件,通过编程器或下载电缆向FPGA/CPLD器件进行下载是设计过程的最后一环。对于不同类型的FPGA/CPLD器件,其数据下载和编程的方式不一样,所配用的工具也不同。器件编程需要满足一定的条件,如编程电压、编程时序和编程算法等。普通的EPLD器件和一次性编程的PLD需要专用的编程器完成器件的编程工作;在线可编程的PLD器件不需要专门的编程器,只要一根编程下载电缆即可;基于SRAM的FPGA/CPLD还可以由PROM/EPROM等存储体进行配置。器件编程完毕后,便可将含有载入了设计数据的FPGA或CPLD硬件系统进行统一测试,以便最终验证设计项目在目标系统上的实际工作情况以排除错误,改进设计。以上介绍了FPGA/CPLD的设计流程,设计者在使用FPGA/CPLD时应熟练掌握设计各流程中使用的工具。此外,在系统设计前,设计者应首先进行方案论证,根据任务要求,对工作速度和器件本身的资源、成本等方面进行权衡,选择合适的设计方案和合适的器件类型。42基于QUARTUS的FIR低通滤波器的仿真本文首先是利用一个ROM存储一个不同频率的混合SIM信号,然后采用FIRCOMPILER模块进行FIR低通滤波器设计,最后将输出送入MATLAB中进行FFT等仿真分析。421ROM存储器的设计利用QUARTUS中的TOOLMEGAWIZARDPLUGINMANAGER中调用系统软件集成的一个端口的ROM存储一个不同频率的混合SIM信号,作为该系统的信号发生器。先利用MATLAB将要输入的信号进行离散数字化采样,然后将该数据存储在ROM指定的MIF数据文件中。在后面的低通、带通和高通滤波器的设计中用的是同一个输入信号和ROM模块。输入的信号是SSIM220PITSIM250PITSIM280PIT。利用MATLAB采样后的输入信号如表41所示表41ROMMIF中的输入信号数据定制的ROM模块如图42所示16BITS256WORDSBLOCKTYPEAUTOADDRESS70CLOCKQ150ROMINST图42定制的ROM模块422FIR低通滤波器的设计利用QUARTUS中的TOOLMEGAWIZARDPLUGINMANAGERDSP数字信号处理工具箱中的FIRCOMPILER模块改变其中的系数定制出自己的FIR低通滤波器。低通FIR滤波器的幅频特性响应曲线如图43所示图43FIR低通滤波器的幅频特性曲线低通FIR滤波器的时域特性响应如图44所示图44低通FIR滤波器时域响应FIR低通滤波器的定点系数如下表42所示表42低通滤波器的定点系数系数序号LOWPASS定点系数系数序号HN118HN32HN24HN31HN3104HN30HN4160HN29HN579HN28HN6565HN27HN7625HN26HN8412HN25HN91908HN24HN101737HN23HN111467HN22HN125399HN21HN134455HN20HN145293HN19HN1520820HN18HN1632767HN17423低通FIR滤波器的仿真FIR低通滤波器的顶层模块如图45所示VCCADDRESS70INPUTVCCCLKINPUTVCCRESET_NINPUTVCCAST_SINK_VALIDINPUTVCCAST_SOURCE_READYINPUTVCCAST_SINK_EERROR10INPUTAST_SOURCE_DATA330OUTPUTAST_SINK_READYOUTPUTAST_SOURCE_VALIDOUTPUTAST_SOURCE_ERROR10OUTPUT16BITS256WORDSBLOCKTYPEAUTOADDRESS70CLOCKQ150ROMINSTCLKRESET_NAST_SINK_DATA150AST_SINK_VALIDAST_SOURCE_READYAST_SINK_ERROR10AST_SOURCE_DATA330AST_SINK_READYAST_SOURCE_VALIDAST_SOURCE_ERROR10LOWFIRINST1图45FIR低通滤波器的顶层模块图低通FIR数字滤波器实际的滤波后信号和滤波后信号FFT的MATLAB分析如图46所示01020304050607021012X104LOWPASS一一一一一一一MANGNITUDET02040608010012001234X105LOWPASS一一一一一FFT一一MANGNITUDET图46实际滤波后信号的MATLAB分析低通FIR滤波器滤波后的理想频谱和实际滤波后信号的频谱比较如图47所示01020304050607080901000051152X1014MAGNITUDEHZLOWPASS一一一一一一一一01020304050607080901000123X108MAGNITUDEHZLOWPSS一一一一一一一一图47输出信号的频谱比较低通FIR滤波器的时序结果分析如图48、49所示图48低通滤波器时序图图49低通滤波器时序波形小结由图46、47、48、49可知,FIR低通滤波器基本上达到了设计指标,但是滤波效果不是太理想,主要是因为系统在以下几个方面存在着较大的误差1在有模拟信号到数字定点信号的处理过程中就存在着较大的误差;2系统存在着数据溢出的现象,没有对数据溢出进行处理;3系统存在着噪声,由于输入信号的幅度较小,导致了噪声对输入有着较为明显的影响。43基于QUARTUS的FIR带通滤波器的仿真431FIR带通滤波器的设计利用QUARTUS中的TOOLMEGAWIZARDPLUGINMANAGERDSP数字信号处理工具箱中的FIRCOMPILER模块改变其中的系数定制出自己的FIR带通滤波器。带通FIR滤波器的幅频特性响应曲线如图410所示图410FIR带通滤波器的幅频特性曲线带通FIR滤波器的时域特性响应如图411所示图411带通FIR滤波器时域响应FIR带通滤波器的定点系数如下表43所示表43带通滤波器的定点系数系数序号BANDPASS定点系数系数序号HN156HN32HN2120HN31HN3429HN30HN4795HN29HN51386HN28HN62055HN27HN72236HN26HN82181HN25HN9515HN24HN102153HN23HN116599HN22HN1212556HN21HN1318609HN20HN1425317HN19HN1529775HN18HN1632767HN17432带通FIR滤波器的仿真FIR带通数字滤波器的时序仿真如图412、413所示图412带通滤波器时序图图413带通滤波器的时序波形图带通FIR数字滤波器实际滤波后的信号及其频谱FFT分析如图414所示010203040506070809010021012X105MAGNITUDETBANDASS一一一一一一一一010203040506070809010002468X1010MAGNITUDEHZBANDPSS一一一一一一一一图414带通FIR滤波后的信号及其FFT44基于QUARTUS的FIR高通滤波器的仿真441FIR高通滤波器的设计利用QUARTUS中的TOOLMEGAWIZARDPLUGINMANAGERDSP数字信号处理工具箱中的FIRCOMPILER模块改变其中的系数定制出自己的FIR高通滤波器。高通FIR滤波器的幅频特性响应曲线如图415所示图415FIR高通滤波器的幅频特性曲线高通FIR滤波器的时域特性响应如图416所示图416高通FIR滤波器时域响应FIR高通滤波器的定点系数如下表44所示表44带通滤波器的定点系数系数序号HIGHPASS定点系数系数序号HN154HN32HN256HN31HN3251HN30HN4244HN29HN5252HN28HN6900HN27HN7725HN26HN8776HN25HN92399HN24HN101758HN23HN112010HN22HN125895HN21HN134307HN20HN145926HN19HN15

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论