




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页第1章引言1.1研究背景及课题意义1.1.1数字滤波器数字滤波器是数字信号处理的重要基础,其含义是指通过某种数值运算,达到改变输入信号中所含频率分量的相对比例,或滤除某些频率分量的目的。它与模拟滤波器的使用方式差不多,但其实现的方式不相同。数字滤波器是通过采用数值运算的方法达到滤波效果的,而其计算方法主要是通过计算机编写软件程序来完成,或者使用专用的DSP芯片来达到目的,也可以使用VHDL等硬件描述语言来进行设计。数字滤波器按单位脉冲响应长度来分,可分为无限长单位脉冲响应滤波器,即IIR和有限长单位脉冲滤波器即FIR;按响应来分,可分为低通,高通,带通、带阻滤波器等,数字滤波器因其特有的、严格的线性相位、高稳定性和高精度、可用快速付里叶变换和其它快速算法来实现,另外其设计的灵活性和适应性强等特点,因而被广泛的使用。从数学系统模型上来看,数字滤波器是一种离散的时间系统(按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置)。当使用数字滤波器处理模拟信号时,首先要将输入模拟信号进行限带、抽样和AD转换。数字滤波器输入信号按照抽样定理,其抽样率应大于被处理信号带宽的两倍,而其频率响应具有以抽样频率为间隔的周期重复特性。为得到模拟信号,数字滤波器处理的输出数字信号须经过DA转换、平滑。数字滤波器的特点有:具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。其应用也非常广泛,其典型的应用有语言信号处理、图像信号处理、医学生物信号处理、模式识别、雷达信号处理、频谱分析等。1.1.2FIR滤波器FIR(FiniteImpulseResponse)滤波器又称为有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。其主要的用途在于,可以用来实现信号预处理、防混叠、带选、抽选插补、滤波和视频卷积等功能。1.1.3FIR滤波器的现状传统的FIR数字滤波器多采用像TMS320CXX系列的专用DSP芯片,根据输入采样的移位相乘累加编写软件,利用软硬件的相互结合完成滤波器的设计。但由于DSP芯片结构的局限,使数据的处理速度和吞吐量都不很想想。而由于FPGA芯片有着规整的内部逻辑块整列和丰富的连线资源,特别适合用于细腻度和高并行度结构的FIR滤波器的实现,相对于串行运算主导的通用性DSP芯片来说,并行性和可扩展性都更好。由于在性能、成本、灵活性和功耗等方面的优势,基于FPGA的数字信号处理已经广泛应用于图像、视频和无线通信领域。1.2国内外研究现状及研究成果1.2.1FIR滤波器国内外的研究现状在国外:数字FIR滤波器最早出现于军方的保密通信运用中,由于FIR滤波器具有:在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的这一特性,所以当这一特性被科研人员发现后,立即被广泛的应用了。刚开始的FIR滤波器是由模拟器件构成的,在这种情况下,虽然FIR滤波器具有稳定性,但是由于模拟器件的物理特性,如温度漂移、电路结构等,造成了FIR滤波器使用的不稳定和不方便。这种使用不方便和不稳定的FIR滤波器直到第一款DSP数字处理芯片的问世而被很好的改善了,1979年美国Intel公司发布的商用可编程器件2920是DSP芯片的一个重要里程碑。在1982年,美国德州仪器公司成功推出高性能的具有乘法器的TM320CXX系列商用DSP芯片,从这一系列的芯片发布后,FIR滤波器进入了数字时代,其特性也被很好的体现了出来。而TM320系列DSP芯片也一直在数字滤波器市场上占领了相当长的一段时间。在当时,由于相应的数学工具不完善,FIR滤波器的相关参数只能通过人工手动编辑算法,通过计算机计算得出相应的数据,使FIR滤波器的灵活性受到限制。这一性能的完美改善得益于一款数学工具软件MATLAB的问世。当TM320系列DSP芯片使用一段时间后,同时随着通信数据的不断增加,人们对通信要求的不断提高,此时的TM320系列DSP芯片由于其内部结构的限制,已经不能很好的满足此时的需求,此时人们面对两种选择:一、选择更高性能的DSP芯片,但是成本会增加很多,二、选择相同成本但其内部结构更合理,但是相应算法会更难一些,能进行并行数据处理的FPGA芯片。在面对这样的两种选择下,人们选择了第二种方式。从此,FPGA芯片也进入了FIR滤波器的世界里,而且更受人们的青睐。在国内:FIR滤波器的应用也是其于以上的两款芯片进行开发的,而且两种类型的芯片发展也差不多是同时进行的。1.2.2FIR滤波器目前的研究成果目前的FIR滤波器主要的研究成果为拥有成熟的ASIC芯片供广大用户使用,如DSP芯片的TM320CXX系列,而其于FPGA平台的FIR滤波器发展要慢一些,这是由于使用FGPA开发的人员要相对少些,而且技术力量相对不足。1.3本论文实现的基本要求本次毕业论文在分析了当前的FIR滤波器发展现状后,将结合毕业设计任务要求,指导老师的指导实现并完成,其具体要求为如下所述:采用FPGA设计FIR数字滤波器。使用VHDL语言来实现FIR数字滤波器的功能,设计一个11阶8位FIR数字滤波器。其实现的具体步骤又可以分为以下几步:1、使用MATLAB数学工具软件做出FIR滤波器的电脑仿真;2、使用MATLAB数学工具软件导出FIR滤波器的相关参数;3、使用QII软件编写FIR滤波器的控制和调用程序,在电脑上仿真;4、将导出的FIR滤波器相关参数加载到使用QII软件编写的相应程序中,并做出仿真。最终完成任务要求。第2章FIR滤波器的硬件方案一个具有良好功能的数字应用系统都是由稳定的硬件部分和良好的软件部分组成,使用良好、功能稳定的FIR滤波器也由这两部分组成,其硬件方案如下所述。2.1FIR滤波器的硬件方案2.1.1概述实现FIR数字滤波器的硬件方案有多种,如可以使用专用的FIR数字滤波器芯片,或者使用基于32位高速运算的DSP芯片实现硬件功能,又或者使用基于现场门阵列的FPGA可编程逻辑芯片来实现硬件功能等等。2.1.2硬件方案比较在众多的硬件实现方案中,使用专用的FIR数字滤波器芯片优势在于成功比较低,但灵活性差,比如要实现8阶滤波是使用一种芯片,但如果要提升滤波器的性能,使其变成11阶或者更高阶的滤波器,则要使用另外的专用芯片;使用32位高速运算DSP芯片虽然能够满足部分灵活性的要求,但是不足之处在于DSP芯片运算时,是单步指令进行运算的,当运算的数据量很大时,完整完成一次运算需要使用的时间相对较多,同时价格也相对较高;使用现场门阵列的FPGA可编程逻辑芯片其优势在于即能达到DSP芯片的灵活性,同时又因为其结构特性能实现数据的并行处理及运算,从而又比DSP芯片使用的时间更少,另外由于其价格又相对DSP芯片又低,因此使用FPGA芯片来实现FIR数字滤器是非常有竞争优势的。因为数字滤波器的应用场合大部分都要求实时处理,有时还要进行复杂运算,基于传统的DAP器件的数字滤波器实现方法,在速度上有很多地方不很如人愿。特别是在FIR滤波器的应用中,用数字信号处理器即DSP芯片实现的8阶8位FIR滤波器的工作速度只局限在每秒5—6M左右,离要求的实时处理还有很大的差距;而使用专用的ASIC实现相同功能的FIR滤波器芯片也只能达到30M左右的工作速度,这还是不能满足人们的需求;对于更高阶的FIR滤波器,这些芯片更不能很好的满足实时性的要求。在同类相比的情况下,在运算速度上,FPGA表现出其特有的优势。有相关的研究人员曾测试证明使用FPGA来实现的32阶8位FIR滤波器,其工作运算速度可达到每秒100M以上。使用FPGA实现的FIR滤波器和使用DSP芯片实现相同功能的FIR滤波器的相关数据比较如下表2-1所示:表2-1FPGA和DSP芯片实现相同FIR滤波器的数据比较8位FIR滤波器的阶数FPGA的处理速度(单位:MSPS)达到相同运算速度的DSP芯片所要执行的速度(单位:MIPS)8104832111021432161011616241032472321053360在上表中,FPGA处理数据的运算单位MSP其含义是兆个采样数每秒(MillionsamplesperSecond简称MSPS);DSP芯片工作时处理数据的运算单位MIPS的含义是兆条指令每秒(MillionInstructionsPerSecond简称MIPS)。通过该表可以看出:实现相同8阶8位的FIR滤波器,FPGA芯片所使用的运算只用104MSPS即可实现,而使用DSP芯片,则要达到832MIPS个指令运算才能完成,而在现实生活中,能实现运算速度达到100MIPS的DSP芯片还没有研发出来,如果要实现运算速度达到832MIPS这个数量级,则要么以成本为代价,使用至少10片的DSP芯片同时进行计算,但使用这种方式,会造成算法的复杂性和计算结果的不确定性,因为处理芯片多了之后要防止数据计算的各种冲突;要么以时间为代价,使用一块DSP芯片进行相对较长时间的运算,直到达到所要的结果为止。从这个表可以知道,使用FPGA实现FIR滤波器在运算速度上,与DSP芯片相比,据有很大的优势。另外FPGA芯片在进行滤波时,其相伴线性、稳定性和精度等方面的综合性能是很高的,对于这方面,也有相关专业人员对其进行了对比测试(测试时是以实现相同功能的16阶8位FIR数字滤波器),其综合性能对比情况的柱面图如下图2-2所示:图2-2实现16阶8位FIR滤波器的综合性能比较图图中,柱面的高度表示相对性能,5个柱面分别表示使用的5种不同的处理芯片,以单片50MHZ的DSP处理芯片为基准进行比较。从上图可以看出,使用FPGA芯片实现的FIR滤波器其性能远远高于实现相同功能的DSP处理芯片。通过运算速度和综合性能的对比,可以知道FPGA处理芯片其性能很好,于是很多人会认为其价格一定很高,但是这个想法是错误的,表2-2所示为几款能实现FIR滤波器功能的芯片的成本相对比:表2-2实现FIR滤波器的器件相对成本比较器件名称相对成本133MHZ专用集成芯片350MHZ的DSP芯片2.7型号为EPF8820A-2的FPGA芯片1型号为EPF81500A-2的FPGA芯片1.4从上表可以看出,FPGA芯片的投资成本是最低的,其值大约是DSP芯片的三分之一。另外FPGA使用的开发语言为VHDL等硬件描述语言,这也使运用FPGA进行开发FIR滤波器所使用的开发周期更少、开发软件投入少。2.1.2硬件方案的确定由于FPGA即具有DSP芯片的灵活性,又具有DSP芯片所没有的并行运算功能,另外相比于同等价位的DSP芯片,又具有比DSP芯片更低的价位,所以本次论文中将使用FPGA现场可编程门阵列逻辑器件来实现FIR数字滤波器。2.2FPGA简介2.2.1FPGA的背景FGPA是Field-ProgrammableGateArray的简称,翻译为中文意为现场门阵列可编程逻辑器件,其前身是由PAL、GAL、CPLD等可编程器件的基础上进一步发展的而来的。它的出现作为专用集成电路(ASIC)领域中的一种半定制电路具有非常重要的作用,因为它既解决了用户定制电路的不足,又克服了原有可编程器件门电路数有限和灵活性差的的缺点。高集成度、高速和高可靠性是FPGA的最明显特点,其时钟延迟可以达到纳秒级,结合其特有的并行处理方式,在超高速应用中和实时测控方面有很广阔的应用前景。在高可靠应用领域,如果对相应算法设计得当,将不会存在单片机等的复位不可靠和程序跑飞的现象。FPGA的高可靠性还表现在:可以将整个系统下载到同一个芯片中,实现片上系统的功能,这样可以很大程度上缩小相应电路的体积,更易于管理和信号的屏蔽。对器件的相关操作,在目前是应用最为广泛的硬件描述语言(Verilog或VHDL)为主来完成的所需要的电路设计,这些语言经过技术人员的编辑及编译后,会生成相应的电路结构,然后经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。这些可编程器件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。VHDL语言与C语言或者汇编语言相比,有其自身的特点,一是该语言是一种硬件描述语言,使用时更多的不是去了解程序的算法结构,而是要了解数字逻辑方面的硬件电路知识,包括目标芯片的基本结构方法,和各种门电路的电路连接,在编写时一定要明确其对象是客观存在的电路系统,即在电路系统的内部,各个子系统及部分元器件的工作状态和工作方式可以相互独立也可以相互联系互为因果。2.2.2FPGA的工作原理及内部结构图FPGA可编程逻辑器件的结构采用逻辑单元阵列LCA(LogicCellArray)构成,其内部包括了可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)这几个部分。FPGA可编程门阵列利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,而且FPGA具有无限次的编程的优势。其内部的结构图如下所示:图2-2FPGA的内部结构图第3章FIR滤波器的软件算法实现3.1FIR数字滤波器概述3.1.1FIR数字滤波器的数学模型FIR数字滤波器即有限长单位冲激响应滤波器是一种线性时不变系统,其数学模型为N阶因果有限冲激响应的差分方程:(1)其中是滤波器的输出信号,是滤波器的输入信号,是滤波器的系数。分析上表达示可以知道,FIR滤波器的实现,是由加法器、乘法器和移位器相组合来完成的。而加法器和乘法器的数量就决定了FIR滤波器的阶数和滤波速度、效率等特性。另外根据FIR的中心对称特性(其表达示为:),将其代入中,可以得到下面的表达示:(2)由上式可以知道使用(2)式的算法,可以在编程时使用更少的硬件资源,也能使用芯片的计算速度更高。3.1.2FIR数学滤波器的结构FIR数字滤波器常见的有以下几种结构模型:直接型模型、级联型模型、频率采样型模型和快速卷积型模型;其各自的特点为:1、直接型:结构简单,总运算量少,比较方便系数的调整,硬件资源占用量少;2、级联型:结构相对直接型要复杂些,但不便于系数的调整,同时总运算量也比直接型要大;3、频率采样型和快速卷积型结构需要进行复数运算,计算相对前面的两种要复杂很多,同时由于涉及到复数运算,也不便于使用FPGA来实现。通过以上各个FIR数字滤波器模型的特点对比,最终选择直接型结构的FIR滤波器模型。当选定FIR滤波器的模型结构以后,即可以确定信号通过FIR滤波器时的流程,其流程图如下图3-1所示:图3-1直接型FIR数字滤波器信号流程图3.2FIR数字滤波器的方案论证3.2.1方案分析从图3-1所示信号流程图分析可知,图中的Z-1对应时域里面的一次延时,输出的y(n)由输入x(n)的各个延时与相应的系数进行相乘在相加后可以得到,因此直接型结构的FIR滤波器模型包含N次乘法和N-1次加法。由此可以知道要满足要求的FIR滤波器,即要实现11阶8位的FIR滤波器,其硬件程序框图为如下所示:图3-211阶8位FIR滤波器的硬件程序框图该滤波器由11个8位移位寄存器组成移位寄存器组。每个移位寄存器完成一次时域延时,x(n),y(n)为对应的输入序列和输出序列。由于FIR滤波器的具有冲击响应h(n)具有中心对称的特性,即:,所以由公式2可以得到改进后的硬件程序结构图,如图3-3所示:图3-3优化后的硬件程序结构图经过算法改进后,硬件程序的乘法次数由原来11次减少为6次,加法次在原来的基础上增加了5次。这样节约了很多的硬件资源。但是该方法的结构对于固定参数的FIR滤波器比较合适,但是对于参数可变的FIR滤波器却不很适用。另外还有一种方案是使用串行乘法来代替并行乘法,但这种方法虽然占用资源少,但会使用更多的时间,不适合大面积使用。其数学模型如下所示:设数据A、B为两个N位的乘数,V为所得到的结果,其中:,B(i)为乘数B的第i位数据,故V的值为:其程序模块图为如下图3-4所示:图3-4串行乘法结构模块图3.2.2FIR数字滤波器的最终方案通过以上的几个方案分析,发现每个方案都有其优势与不足,但这些都能通过综合后,得到最佳的方案。以下是最终方案的原理及推导:设FIR滤波器为N阶,数据为X位,则对应的数学表达式:可以推导为:通过该数学表达示,可以得到该综合方案的硬件程序结构图,如图3-5所示:图3-5优化综合后的硬件程序结构图在该方案中总控制器中包含有接收复位信号、移数时钟、运算控制时钟部分。经过以上的分析,了解FIR滤波器的算法结构以后,就可以利用VHDL语言来实现相应的乘法器和加法器模块,然后在根据结构进行简单的组合,这样便能够实现相应的要求。另外,要实现该滤波器还需要限定FIR滤波器的截止频率和采样频率。在本设计中FIR滤波器的截止频率设定为1KHZ,采样频率为10KHZ,则经过MATLAB数学软件可以得到11阶8位FIR滤波器的单位脉冲响应序列h(n),其值如下表3-1所示:表3-111阶8位低通滤波器的单位脉冲响应序列h(n)原值乘以1024十六进制值二进制值h(0),h(10)0000H00000000h(1),h(9)0.046847.92330H00110000h(1),h(9)0.046847.92330H00110000h(2),h(8)0.1010103.42467H01100111h(3),h(7)0.1515155.1369bH10011011h(4),h(6)0.1872191.692c0H11000000h(5)0.2001204.902cdH110011013.3FIR滤波器的具体实现通过以上方案的分析,已经能够确定出FIR滤波器的各个模块,包括:移位寄存器、8位乘法器、加法树、总控制器这几个子模块。其结构图即为图3-5所示,以下为各个子模块的具体实现。3.3.1移位寄存器的实现移位寄存器的功能是临时寄存一组2值的代码,在一次序列运算结束以后,原先存放x(n-N+1)的寄存器存入x(n-N+2)中,而以前存放x(n-N+2)的寄存器中的值存入x(n-N+3)……该寄存器是各类数字系统中使用最广泛的一种基本器件。其由N个触发器组成,在众多组成寄存器的触发器中性能最稳定的是使用D触发器所构成的寄存器。在本论文中,8位寄存器即由8个D触发器构成,其元件模块为如下图3-6所示,该器件的硬件程序代码见附录。图3-68位移数寄存器的硬件结构图中,CLR为清0信号输入,当CLR为输入信号为1时,内部数组中的值恒为0,CLK为基准时钟信号输入,RES为复位信号输入,当RES输入为1时,寄存器内部数组中的值也恒为0,当RES为0时,寄存器内部数组中的值不发生变化,并正常移动,DATA[7..0]为8位数据输入,因为该模块内部包含11个8位宽度的数组,该数组供乘法器调用,所以看不到输出。3.3.28位乘法器的实现乘法器的功能是当运算控制时钟信号到来时,实现输入数据与相应数据相乘这一运算,同时把所得到的结果传入加法树,因此该部分的硬件结构模块与加法树模块合并。3.3.3加法树的实现加法树的本质即是把所有加数进行累加,其硬件结构是实现累加功能,故可以使用移位累加器,累加器的结构框图及如下图3-6所示:图3-6加法树的结构图加法树的功能是实现将多个寄存器里面的值进行相加运算,其实质是先将几组数据进行两两分组,然后先将分好组的数据进行两两相加,所得到的结果再进行两两相加,直到得到最终结果,其原理如上图3-6所示。其硬件结构图如下图3-7所示,代码见附录。图3-7加法树模块结构3.3.4总控制器的实现总控制器的功能有接收复位信号、产生移数时钟、产生运算控制时钟几个功能,另外还要考虑到本设计中的FIR滤波器为8位,即完成一次运算要8个控制时钟,同时还要增加一个移数时钟,故完成一次移数运算需要9个时钟,因此总控制要使用一个9进制的计数器来完成。其硬件程序结构图如下图所示:图总控制器的硬件程序结构图图中,CLK为整个系统的信号输入,RES为整个系统的复位输入,CLR为整个系统的清0信号输入,SET为整个系统全能信号输入,CLK_REGBT和CLK_REG为计数时钟输出,该两时钟信号为运算控制和移数控制提供时钟源。3.5FIR滤波器的最终实现当各个基础模块功能实现以后,就可以使用QuatuasII软件将各个模块进行程序综合,其整体的模块如下图3-10所示:图3-10FIR数字滤波器的整体图由于VHDL语言能够高度的描述硬件内部的连接特性,所以将所以模块进行综合以后,对外只能看到相应的输入输出引脚,而其内部的连接是不能看到的。第4章FIR滤波器的性能与误差分析由于在本设计中FIR滤波器的截止频率设定为1KHZ,采样频率为10KHZ,故根据相应的数据使用MATLAB数学软件对该FIR滤波器进行性能仿真,以确定其滤波的效果。4.1MATLAB的简介MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,它把数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。它的主要特点有以下几个部分:1.功能强大。包括数值计算和符号计算,计算结果和编程可视化,数学和文字统一处理。2.界面美观实用,语言自然。MATLAB以复数矩阵为计算单元,指令表达与标准教科书的数学表达式相近。3.开放性强。MATLAB有很好的可扩充性,可以把它当作一种高级语言来使用。该软件主要包括MATLAB和Simulink两大部分。其中MATLAB的工具箱Toolbox,可以分为功能性工具箱和学科性工具箱两类。功能性工具箱主要用于扩充MATLAB的符号计算功能、视图建模功能和文字处理功能以及与硬件实时交互功能;而学科性工具箱主要使MATLAB在线性代数、矩阵分析、数值计算及优化,数理统计和随机信号分析、电路与系统、系统动力学、建模与仿真等各个领域的理论研究和工程设计得到了广泛应用。本设计主要用到了Simulink与SimPowerSystems工具箱。在本次设计中将使用Toolbox来进行仿真测试。4.1.1使用Matlab中的FDAtool设计滤波器在Matlab下设计FIR低通滤波器的具体步骤如下:1、在Matlab的Start菜单中选择Toolboxes->FilterDesign->FilterDesign&AnalysisTools(FDAtool)选项启动滤波器设计分析器。启动成功后界面如图4-1所示。图4-1滤波器设计分析器界面2、在滤波器设计分析器选项中选择或输入滤波器参数,然后点击“DesignFilter”按钮,完成滤波器的设计。具体参数及设计成功后的结果如图4-2中所示。图4-2滤波器参数设置界面及仿真结果3、从Matlab中导出FIR滤波器系数,此系数即为表3-1的系数表。4.2利用Matlab产生噪声信号用于滤波器测试该过程即为测试FIR滤波器的性能,其步骤如下所示:在Matlab下新建M文件,输入相应代码(见附录),在Matlab中运行后将会生成input.dat文件。该数据文件中含有500Hz、1KHz、3KHz三种频率的信号,用于滤波器滤波效果测试。信号的时域图和频谱分别为图4-3、图4-4所示。图4-3滤波器测试信号的时域图图4-4滤波器测试信号的频域图通过使用MATLAB对本设计进行的性能仿真中可以看出,该FIR滤波器在500HZ时,对频率没有影响,当频率高于设定的1KHZ时,如当输入频率为3KHZ时,该FIR滤波器会对3KHZ有很高的抑制作用。因此该FIR滤波器的性能是稳定的。第5章结束语在现代电子系统中,FIR数字滤波器因为具有良好的线性特性而被广泛的使用,它是数字信号处理中最基本的模块之一,本设计对FIR数字滤波器进行了一定程度的研究。在设计中,使用了自底向上的层次化方法进行功能的实现,即先将FIR数字滤波器最基本的子功能模块实现,然后在通过相应的电路连接,将各个子模块连接到一起以实现最终的功能。通过设计的流程,可以很容易的看出FPGA器件在数字信号处理领域中体现出来的高速、实时和高灵活性的特点,其不足之处在于在高精度的运算中,相应功能模块所占用的资源也是很大的,但这些不足之处能够在以后的算法改进中再进行更多的优化。致谢如火的六月,我即将结束缤纷的大学生活,真有点依依不舍。在毕业论文将要完成之际,我想向曾经给我帮助和支持的人们表示衷心的感谢!首先,我的论文指导老师对我的帮助,他在论文写作及设计中给了我大量的指导,让我学到知识,掌握了论文研究与写作的方法。他严谨的治学态度、对我的严格要求使我终身受益。在此,祝愿他身体健康,合家幸福!其次,感谢我的母校给了我在大学中深造的机会,让我能继续学习和提高。最后,衷心感谢在百忙之中抽出时间审阅本论文的老师们!在论文即将完成,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!参考文献[1]吴舟桥.用VHDL实现查找表方式的FIR滤波器[J].世界电子元器件,2003,8,61:63.[2]金昕.一种用FPGA实现FIR滤波器结构[J].微电子学,2004,58:61.[3]林怀蔚,费旻,邢玮.基于VHDL和MATLAB应用结合的FIR数字滤波器设计[C].合肥:中国科技大学出版社,2007.[4]Dillinger,T.E.etal.ALogicSynthesisSystemforVHDLDesignDescription[J].IeeeIccad-89,Santaclara:calif,1989[5]宋千.基于FPGA的FIR滤波器的高效实现[J].信号处理,2004,10(5):385-391.[6]刘春霞.FIR滤波器结构与实现综述[J].舰船电子工程,2005,(2):19-23.[7]王晓勇.FPGA的基本原理及运用[J].舰船电子工程,2005,(2):82-85.[8]彭雪峰,汪临伟,许建平.基于MATLAB与QuartusII的FIR滤波器设计与验证[J].电子设计工程,2009,17(11):118-119,124.[9]Altera.FIRcompileruserguide[2009-11].http:///literature/ug/fircompiler_ug.Pdf.[10]TexasInstrumentInc.TLC5540C,TLC5540Datasheet[EB/OL].2004.http://focus.Ti.Com/lit/ds/symlink/tlc5540.pdf.[11]UweMB.数字信号处理的FPGA实现[M].北京:清华大学出版社2003:66-72.[12]求是科技.MATLAB7.0从入门到精通[M].北京:人民邮电出版社2006:307.[13]张学敏.基于MATLAB达到FIR带通滤波器的设计与仿真[J].长春工程学院学报(自然科学版)2007.8:38-40.[14]刘波.MATLAB信号处理[M].电子工业出版社2006.[15]程佩奇.数字信号处理教程[M].清华大学出版社2007..附录1FIR滤波器的VHDL程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_unsigned.all;ENTITYFIRisport( clk,res,clr,set:instd_logic; clk_regbt,clk_reg:bufferstd_logic; data_xn:instd_logic_Vector(7downto0); data_yn:outstd_logic_vector(18downto0));endFIR;architectureoneofFIRisTYPEarr1isarray(10downto0)ofstd_logic_vector(7downto0);TYPEarr2isarray(10downto0)ofstd_logic_vector(7downto0);TYPEarr3isarray(10downto0)ofstd_logic_vector(7downto0);SIGNALreg_xn:arr1;SIGNALreg_hn:arr2;SIGNALadd_xn:arr3;SIGNALsum91:std_logic_vector(7downto0);SIGNALsum92:std_logic_vector(7downto0);SIGNALsum93:std_logic_vector(7downto0);SIGNALsum94:std_logic_vector(7downto0);SIGNALsum101:std_logic_vector(7downto0);SIGNALsum102:std_logic_vector(7downto0);SIGNALsum111:std_logic_vector(7downto0);SIGNALclk_en:std_logic;SIGNALcounter:integerrange0to8;SIGNALcount_bt:integerrange7downto0;SIGNALsum:std_logic_vector(18downto0);SIGNALresult:std_logic_vector(18downto0);begin clk_regbt<=notclkandclk_en; clk_reg<=notclkandnotclk_en; --总控制器部分process(clk,res) begin if(res='1')then counter<=0;count_bt<=0; elsif(clk'eventandclk='1')then if(counter<8)then clk_en<='1'; counter<=counter+1; count_bt<=count_bt-1; else counter<=0;count_bt<=0;clk_en<='0'; endif; endif; endprocess; --移数寄存器部分 process(clk_reg,res,clr) begin if(res='1'orclr='1')then foriin0to10loop reg_xn(i)<="00000000"; endloop; elsif(clk_reg'eventandclk_reg='0')then foriin10to1loop reg_xn(i)<=reg_xn(i-1); endloop; reg_xn(0)<=data_xn; endif; endprocess; --乘法器部分 process(clk) begin if(clk'eventandclk='0')then foriin0to10loop if(reg_hn(i)(count_bt)='1')then add_xn(i)<=reg_xn(i); else add_xn(i)<="00000000"; endif; endloop; endif; endprocess; --加法树部分 process(clk_regbt,clk_reg,clr,set) begin if(clr='1'orset='1')then sum<=(others=>'0'); data_yn<=(others=>'0'); elsif(clk_reg='1')then data_yn<=result(18downto11)&"00000000000"; sum<=(others=>'0'); elsif(clk_regbt='1')then sum91<=add_xn(0)+add_xn(1); sum92<=add_xn(2)+add_xn(3); sum93<=add_xn(4)+add_xn(5); sum94<=add_xn(6)+add_xn(7); sum101<=sum91+sum92; sum102<=sum93+sum94; sum111<=sum101+sum102; sum<=result+sum111; else result<=sum(17downto0)&'0'; endif; endprocess; endone;附录2MATLAB仿真程序f11=500;%输入500HZ的测试信号f12=1000;%输入1KHZ的测试信号f13=3000;%输入3KHZ的测试信号fs=10000;N=1000T=1/fs;n=0:N;x11=sin(2*pi*f11*n*T);x12=0.7*sin(2*pi*f12*n*T);x13=0.5*sin(2*pi*f13*n*T);x_base=(x11+x12+x13);figure(1)plot(x_base)figure(2)yff=abs(fft(x_base))df=n*(fs/N)plot(df,yff)xout=x_base/max(x_base);xto_ccs=round(32767*xout)fid=fopen('input.dat','w');fprintf(fid,'16511000\n');fprintf(fid,'%d\n',xto_ccs);fclose(fid);毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:日期:
学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名: 日期:年月日导师签名:日期:年月日
注意事项1.设计(论文)的内容包括:1)封面(按教务处制定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工现场安全管理模式的理论探讨试题及答案
- 旋律进行的和声支持乐理考试试题及答案
- 农产品电商价格策略试题及答案
- 数学公式试题及答案解析
- 创新能力考试题及答案
- 如何促进政策与创业实践的结合试题及答案
- 安全工程师考前模拟试题及答案
- 家具设计中的细节构建与整体效果的协调研究试题及答案
- 大学物理跨学科题及答案2025
- 故事录音测试题及答案
- 2024版股权分配与员工持股计划协议书模板3篇
- DB37T 5061-2016 住宅小区供配电设施建设标准
- 中建中建轨道物流、气动物流施工方案范本
- 心力衰竭超滤治疗
- 中国牦牛奶行业销售态势及消费规模预测研究报告(2024-2030版)
- 电梯维保服务投标方案(技术方案)
- 2024年江苏高考语文试题(含答案)
- 四川省达州市渠县2023-2024学年八年级下学期期末生物学试题(解析版)
- 2024-2030年海外医疗项目商业计划书
- TD/T 1075-2023 光伏发电站工程项目用地控制指标(正式版)
- 2024蓬松洗护白皮书
评论
0/150
提交评论