欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于VHDL的FIR滤波器设计.doc

    • 资源ID:4141543       资源大小:644.50KB        全文页数:35页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于VHDL的FIR滤波器设计.doc

    摘 要随着电子技术的快速发展,滤波器已成为人们进行各种信号处理和通信时使用的重要器件,同时滤波器随着电子工业技术的高速发展已经从模拟滤波器时代向数字滤波器时代迈进,出现了数字滤波器与模拟滤波器并存现象,并且数字滤波器有逐步取代模拟滤波器的情况。本论文契合技术的发展,详细讨论并设计实现一种基于VHDL的FIR数字滤波器,该滤波器是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应为有限长,其特点为:能满足滤波器对幅度和相位特性的严格要求,避免模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。论文将针对FPGA器件的特点和VHDL语言的特点,结合MATLAB数学工具软件实现FIR滤波器的功能仿真、程序编辑及编译和最终功能的实现。关键词:FPGA;VHDL;MATLAB;FIR滤波器ABSTRACTAs the rapid development of electronic technique, filter has become an important device when people use for communication and deal with all kinds of signals. At the same time, with the quick development of electronic industrial technique, filter has already changed from analog filter time to digital filter time, and with a situation that the latter substitute for the former. This dissertation correspond to technological developing, bat around and design a FIR digital filter based on VHDL which is a basic component in digital signal dealing system. It can assure arbitrary amplitude-frequency characteristic, strictly Linear phase frequency characteristics and its unit sample response is finite. Its characteristic is to content filter's strict demands with range and phase characteristic and devoid problems of voltage drift, temperature drift, and noise that are beyond analog filter's ability. Take FPGA device and VHDL language's character into account and combine with MATLAB mathematical tool software, the paper's aim is to achieve FIR filter's functional simulation, Program's edits and compiling and its final function's realizing.Key words:FPGA, VHDL, MATLAB, FIR filter目录第1章 引 言11.1 研究背景及课题意义11.1.1 数字滤波器11.1.2 FIR滤波器11.1.3 FIR滤波器的现状21.2 国内外研究现状及研究成果21.2.1 FIR滤波器国内外的研究现状21.2.2 FIR滤波器目前的研究成果31.3 本论文实现的基本要求3第2章 FIR滤波器的硬件方案52.1 FIR滤波器的硬件方案52.1.1概述52.1.2硬件方案比较与选择52.1.2硬件方案的确定82.2 FPGA简介82.2.1 FPGA的背景82.2.2 FPGA的工作原理及内部结构图9第3章FIR滤波器的软件算法实现103.1 FIR数字滤波器概述103.1.1 FIR数字滤波器的数学模型103.1.2 FIR数学滤波器的结构103.2 FIR数字滤波器的方案论证113.2.1 方案分析113.2.2 FIR数字滤波器的最终方案133.3 FIR滤波器的具体实现143.3.1移位寄存器的实现143.3.2 8位乘法器的实现153.3.3 加法树的实现153.3.4 总控制器的实现173.5 FIR滤波器的最终实现17第4章FIR滤波器的性能与误差分析194.1 使用MATLAB仿真的过程194.1.1使用Matlab 中的FDAtool 设计滤波器204.2利用Matlab 产生噪声信号用于滤波器测试21第5章 结束语23致 谢24参考文献25附 录 1 FIR滤波器的VHDL程序26附 录 2 MATLAB仿真程序31第1章 引 言1.1 研究背景及课题意义 1.1.1 数字滤波器数字滤波器是数字信号处理的重要基础,其含义是指通过某种数值运算,达到改变输入信号中所含频率分量的相对比例,或滤除某些频率分量的目的。它与模拟滤波器的使用方式差不多,但其实现的方式不相同。数字滤波器是通过采用数值运算的方法达到滤波效果的,而其计算方法主要是通过计算机编写软件程序来完成,或者使用专用的DSP芯片来达到目的,也可以使用VHDL等硬件描述语言来进行设计。数字滤波器按单位脉冲响应长度来分,可分为无限长单位脉冲响应滤波器,即IIR和有限长单位脉冲滤波器即FIR;按响应来分,可分为低通,高通,带通、带阻滤波器等,数字滤波器因其特有的、严格的线性相位、高稳定性和高精度、可用快速付里叶变换和其它快速算法来实现,另外其设计的灵活性和适应性强等特点,因而被广泛的使用。从数学系统模型上来看,数字滤波器是一种离散的时间系统(按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置)。当使用数字滤波器处理模拟信号时,首先要将输入模拟信号进行限带、抽样和AD转换。数字滤波器输入信号按照抽样定理,其抽样率应大于被处理信号带宽的两倍,而其频率响应具有以抽样频率为间隔的周期重复特性。为得到模拟信号,数字滤波器处理的输出数字信号须经过DA转换、平滑。数字滤波器的特点有:具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。其应用也非常广泛,其典型的应用有语言信号处理、图像信号处理、医学生物信号处理、模式识别、雷达信号处理、频谱分析等。1.1.2 FIR滤波器FIR(Finite Impulse Response)滤波器又称为有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。其主要的用途在于,可以用来实现信号预处理、防混叠、带选、抽选插补、滤波和视频卷积等功能。1.1.3 FIR滤波器的现状传统的FIR数字滤波器多采用像TMS320CXX系列的专用DSP芯片,根据输入采样的移位相乘累加编写软件,利用软硬件的相互结合完成滤波器的设计。但由于DSP芯片结构的局限,使数据的处理速度和吞吐量都不很想想。而由于FPGA芯片有着规整的内部逻辑块整列和丰富的连线资源,特别适合用于细腻度和高并行度结构的FIR滤波器的实现,相对于串行运算主导的通用性DSP芯片来说,并行性和可扩展性都更好。由于在性能、成本、灵活性和功耗等方面的优势,基于FPGA的数字信号处理已经广泛应用于图像、视频和无线通信领域。1.2 国内外研究现状及研究成果1.2.1 FIR滤波器国内外的研究现状在国外:数字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.2 FIR滤波器目前的研究成果目前的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.1 FIR滤波器的硬件方案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滤波器的工作速度只局限在每秒56M左右,离要求的实时处理还有很大的差距;而使用专用的ASIC实现相同功能的FIR滤波器芯片也只能达到30M左右的工作速度,这还是不能满足人们的需求;对于更高阶的FIR滤波器,这些芯片更不能很好的满足实时性的要求。在同类相比的情况下,在运算速度上,FPGA表现出其特有的优势。有相关的研究人员曾测试证明使用FPGA来实现的32阶8位FIR滤波器,其工作运算速度可达到每秒100M以上。使用FPGA实现的FIR滤波器和使用DSP芯片实现相同功能的FIR滤波器的相关数据比较如下表2-1所示:表2-1 FPGA和DSP芯片实现相同FIR滤波器的数据比较8位FIR滤波器的阶数FPGA的处理速度(单位:MSPS)达到相同运算速度的DSP芯片所要执行的速度(单位:MIPS)8104832111021432161011616241032472321053360在上表中,FPGA处理数据的运算单位MSP其含义是兆个采样数每秒(Million samples per Second简称MSPS);DSP芯片工作时处理数据的运算单位MIPS的含义是兆条指令每秒(Million Instructions Per Second简称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.2 FPGA简介2.2.1 FPGA的背景FGPA是FieldProgrammable Gate Array的简称,翻译为中文意为现场门阵列可编程逻辑器件,其前身是由PAL、GAL、CPLD等可编程器件的基础上进一步发展的而来的。它的出现作为专用集成电路(ASIC)领域中的一种半定制电路具有非常重要的作用,因为它既解决了用户定制电路的不足,又克服了原有可编程器件门电路数有限和灵活性差的的缺点。高集成度、高速和高可靠性是FPGA的最明显特点,其时钟延迟可以达到纳秒级,结合 其特有的并行处理方式,在超高速应用中和实时测控方面有很广阔的应用前景。在高可靠应用领域,如果对相应算法设计得当,将不会存在单片机等的复位不可靠和程序跑飞的现象。FPGA的高可靠性还表现在:可以将整个系统下载到同一个芯片中,实现片上系统的功能,这样可以很大程度上缩小相应电路的体积,更易于管理和信号的屏蔽。对器件的相关操作,在目前是应用最为广泛的硬件描述语言(Verilog 或 VHDL)为主来完成的所需要的电路设计,这些语言经过技术人员的编辑及编译后,会生成相应的电路结构,然后经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编程器件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。VHDL语言与C语言或者汇编语言相比,有其自身的特点,一是该语言是一种硬件描述语言,使用时更多的不是去了解程序的算法结构,而是要了解数字逻辑方面的硬件电路知识,包括目标芯片的基本结构方法,和各种门电路的电路连接,在编写时一定要明确其对象是客观存在的电路系统,即在电路系统的内部,各个子系统及部分元器件的工作状态和工作方式可以相互独立也可以相互联系互为因果。2.2.2 FPGA的工作原理及内部结构图FPGA可编程逻辑器件的结构采用逻辑单元阵列LCA(Logic Cell Array)构成,其内部包括了可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)这几个部分。FPGA可编程门阵列利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,而且FPGA具有无限次的编程的优势。其内部的结构图如下所示:图2-2 FPGA的内部结构图第3章FIR滤波器的软件算法实现3.1 FIR数字滤波器概述3.1.1 FIR数字滤波器的数学模型FIR数字滤波器即有限长单位冲激响应滤波器是一种线性时不变系统,其数学模型为N阶因果有限冲激响应的差分方程: (1)其中是滤波器的输出信号,是滤波器的输入信号,是滤波器的系数。分析上表达示可以知道,FIR滤波器的实现,是由加法器、乘法器和移位器相组合来完成的。而加法器和乘法器的数量就决定了FIR滤波器的阶数和滤波速度、效率等特性。另外根据FIR的中心对称特性(其表达示为:),将其代入中,可以得到下面的表达示: (2)由上式可以知道使用(2)式的算法,可以在编程时使用更少的硬件资源,也能使用芯片的计算速度更高。3.1.2 FIR数学滤波器的结构FIR数字滤波器常见的有以下几种结构模型:直接型模型、级联型模型、频率采样型模型和快速卷积型模型;其各自的特点为:1、直接型:结构简单,总运算量少,比较方便系数的调整,硬件资源占用量少;2、级联型:结构相对直接型要复杂些,但不便于系数的调整,同时总运算量也比直接型要大;3、频率采样型和快速卷积型结构需要进行复数运算,计算相对前面的两种要复杂很多,同时由于涉及到复数运算,也不便于使用FPGA来实现。通过以上各个FIR数字滤波器模型的特点对比,最终选择直接型结构的FIR滤波器模型。当选定FIR滤波器的模型结构以后,即可以确定信号通过FIR滤波器时的流程,其流程图如下图3-1所示:图3-1 直接型FIR数字滤波器信号流程图3.2 FIR数字滤波器的方案论证3.2.1 方案分析从图3-1所示信号流程图分析可知,图中的Z-1对应时域里面的一次延时,输出的y(n)由输入x(n)的各个延时与相应的系数进行相乘在相加后可以得到,因此直接型结构的FIR滤波器模型包含N次乘法和N-1次加法。由此可以知道要满足要求的FIR滤波器,即要实现11阶8位的FIR滤波器,其硬件程序框图为如下所示:图3-2 11阶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.2 FIR数字滤波器的最终方案通过以上的几个方案分析,发现每个方案都有其优势与不足,但这些都能通过综合后,得到最佳的方案。以下是最终方案的原理及推导:设FIR滤波器为N阶,数据为X位,则对应的数学表达式:可以推导为:通过该数学表达示,可以得到该综合方案的硬件程序结构图,如图3-5所示:图3-5 优化综合后的硬件程序结构图在该方案中总控制器中包含有接收复位信号、移数时钟、运算控制时钟部分。经过以上的分析,了解FIR滤波器的算法结构以后,就可以利用VHDL语言来实现相应的乘法器和加法器模块,然后在根据结构进行简单的组合,这样便能够实现相应的要求。另外,要实现该滤波器还需要限定FIR滤波器的截止频率和采样频率。在本设计中FIR滤波器的截止频率设定为1KHZ,采样频率为10KHZ,则经过MATLAB数学软件可以得到11阶8位FIR滤波器的单位脉冲响应序列h(n),其值如下表3-1所示:表3-1 11阶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.3 FIR滤波器的具体实现通过以上方案的分析,已经能够确定出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-6 8位移数寄存器的硬件结构图中,CLR为清0信号输入,当CLR为输入信号为1时,内部数组中的值恒为0,CLK为基准时钟信号输入,RES为复位信号输入,当RES输入为1时,寄存器内部数组中的值也恒为0,当RES为0时,寄存器内部数组中的值不发生变化,并正常移动,DATA7.0为8位数据输入,因为该模块内部包含11个8位宽度的数组,该数组供乘法器调用,所以看不到输出。3.3.2 8位乘法器的实现乘法器的功能是当运算控制时钟信号到来时,实现输入数据与相应数据相乘这一运算,同时把所得到的结果传入加法树,因此该部分的硬件结构模块与加法树模块合并。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.5 FIR滤波器的最终实现当各个基础模块功能实现以后,就可以使用QuatuasII软件将各个模块进行程序综合,其整体的模块如下图3-10所示:图3-10 FIR数字滤波器的整体图由于VHDL语言能够高度的描述硬件内部的连接特性,所以将所以模块进行综合以后,对外只能看到相应的输入输出引脚,而其内部的连接是不能看到的。第4章FIR滤波器的性能与误差分析由于在本设计中FIR滤波器的截止频率设定为1KHZ,采样频率为10KHZ,故根据相应的数据使用MATLAB数学软件对该FIR滤波器进行性能仿真,以确定其滤波的效果。4.1 MATLAB的简介MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国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 -> Filter Design -> Filter Design & Analysis Tools(FDAtool)选项启动滤波器设计分析器。启动成功后界面如图4-1所示。图4-1 滤波器设计分析器界面2、在滤波器设计分析器选项中选择或输入滤波器参数,然后点击“Design Filter”按钮,完成滤波器的设计。具体参数及设计成功后的结果如图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.4Dillinger,T.E.etal.A Logic Synthesis System for VHDL Design DescriptionJ.Ieee Iccad-89,Santa clara:calif,19895宋 千.基于FPGA的FIR滤波器的高效实现J.信号处理,2004,10(5):385-391.6刘春霞.FIR滤波器结构与实现综述J.舰船电子工程,2005,(2):19-23.7王晓勇.FPGA的基本原理及运用J.舰船电子工程,2005,(2):82-85.8彭雪峰,汪临伟,许建平.基于MATLAB与Quartus II的FIR滤波器设计与验证J.电子设计工程,2009,17(11):118-119,124.9Altera.FIR compiler user guide2009-11.http: / ug/ fircompiler_ug. Pdf.10Texas Instrument Inc.TLC5540C,TLC5540 DatasheetEB/OL.2004.http: / focus . Ti. Com /lit/ds/symlink/tlc5540.pdf.11Uwe MB.数字信号处理的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.附 录 1 FIR滤波器的VHDL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_unsigned.all;ENTITY FIR isport( clk,res,clr,set:in std_logic; clk_regbt,clk_reg:buffer std_logic; data_xn:in std_logic_Vector(7 downto 0); data_yn:out std_logic_vector

    注意事项

    本文(基于VHDL的FIR滤波器设计.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开