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

    毕业设计论文基于FPGA的FIR数字滤波器的设计.doc

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

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

    毕业设计论文基于FPGA的FIR数字滤波器的设计.doc

    毕业设计(论文)任务书毕业设计(论文)题目:基于FPGA的FIR数字滤波器的设计设计(论文)的基本内容:根据数字滤波器的原理和结构,利用分布式算法和OBC编码原理,将数字滤波器分成四个模块来设计,即控制模块,输入模块,乘累加模块,以及锁存模块,各模块的设计是通过VHDL语言和电路来实现,并通过软件QuartusII进行仿真和综合。毕业设计(论文)专题部分:题目:设计或论文专题的基本内容:学生接受毕业设计(论文)题目日期第 周指导教师签字:年 月 日- V -基于FPGA的FIR数字滤波器的设计摘要在现代电子系统中,FIR数字滤波器以其良好的线性特性被广泛使用,属于数字信号处理的基本模块之一。在工程实践中,往往要求对信号处理要有实时性和灵活性,而己有的一些软件和硬件实现方式则难以同时达到这两方面的要求。随着可编程逻辑器件和FDA技术的发展,使用FPGA来实现FIR滤波器,既具有实时性,又兼顾了一定的灵活性,越来越多的电子工程师采用FPGA器件来实现FIR滤波器。本文对基于FPGA的FIR数字滤波器实现进行了研究。主要工作如下:(1)以FIR数字滤波器的基本理论为依据,使用分布式算法为滤波器的硬件实现算法,并对其进行了详细的讨论。针对分布式算法中查找表规模过大的缺点,采用多块查找表和OBC编码方式使得硬件规模极大的减小。(2)在设计中采用了层次化、模块化的设计思想,将整个滤波器划分为多个功能模块,利用VHDL语言和原理图输入两种设计技术进行了各个功能模块的设计,最终完成了FIR数字滤波器的系统设计。(3)最后给出了采用FLEX10K系列器件实现一个16阶的FIR低通滤波器的设计实例,用QuartusII软件进行了仿真,并对仿真结果进行了分析,证明所设计的FIR数字滤波器功能正确。仿真结果表明,本论文设计的滤波器硬件规模较小,采样率达到了8.8MHz。同时只要将查找表进行相应的改动,就能分别实现低通、高通、带通FIR滤波器,体现了设计的灵活性。关键词:FIR数字滤波器;FPGA;分布式算法;OBC编码;查找表Design of the FIR Digital Filter Based on FPGA AbstractIn the modern electrical system,the FIR digital filter is used form any practical applications for its good linear phase character, and it provide an important function in digital signal processing design. In engineering practice, there is always a real-time and flexible requirement for signal processing. However, software and hardware techniques available for implementation are difficult to meet the demand for the two aspects in the same time. Along with the development of PLD device and EDA technology, more and more electrical engineers use FPGA to implement FIR filter, as it not only meet the real-time requirement, but also has some flexibility.In this paper, a method to implement the FIR filter using FPGA is proposed. The work mainly as follow:(1) According to the basic theory of FIR filters, a scheme of hardware implementation is worked out using distributed arithmetic algorithm. As the scale of the LUT in the distributed arithmetic algorithm is so large, the thesis reduces it with the use of multiple coefficient memory banks.(2) From the clew of implementing a top-down stratified, modular design, the thesis describes the hard ware design of all functional modules and the FIR system with the VHDL and schematic diagram design methods.(3) At last, a sixteen-tapped low-pass FIR filter is taken as an example, and the simulation design carried out using QuartusII. And analyzed the result, and it proved that the function of the design is correct.The result of the simulation indicates that the scale of the design is small, and the sample rate of the FIR filter can reach 8.8MHZ.Modifying the LUT can realize the low-pass, high-pass and band-pass FIR filters respectively, and incarnates the flexibility of the design.Key words:FIR digital filter;FPGA;Distributed Arithmetic;Offset-Binary Coding;LUT目录毕业设计(论文)任务书I摘要IIAbstractIII第1章 绪论11.1 本课题的研究意义和应用背景11.2 国内外的研究现状11.3 研究思路31.4 本论文的主要内容和主要工作4第2章 FIR数字滤波器简介52.1 FIR数字滤波器52.1.1 数字滤波器的概述52.1.2 FIR滤波器的原理62.1.3 FIR滤波器的基本结构72.1.4 线性相位FIR数字滤波器的系统结构72.1.5 FIR数字滤波器的设计方法82.2 实现FIR数字滤波器的硬件算法分布式算法92.2.1 分布式算法92.2.2 分布式算法的优化12第3章 EDA技术和可编程逻辑器件173.1 EDA技术183.2 EDA技术的主要内容183.2.1 大规模可编程器件183.2.2 硬件描述语言VHDL193.3 基于EDA技术的“自顶向下”的设计方法213.4 基于EDA技术的电子电路设计流程213.5 可编程逻辑器件233.5.1 可编程逻辑器件简介233.5.2 使用FPGA器件进行开发的优点243.5.3 FPGA设计的开发流程253.6 FLEX10K系列芯片介绍263.6.1 FLEX10k的结构273.6.2 FLEX10K系列器件的特点283.7 开发工具QuartusII介绍28第4章 FIR滤波器的设计与仿真294.1 FIR滤波器的模块划分294.1.1 滤波器模块的划分294.1.2 方案确定294.2 FIR滤波器各模块功能的实现304.2.1 控制模块304.2.2 输入模块314.2.3 乘累加模块334.2.4 锁存模块354.2.5 顶层设计354.3 FIR数字滤波器的系统设计364.4 FIR滤波器的综合394.4.1 数字系统综合概述394.4.2 本设计的综合394.5 FIR滤波器各模块的仿真414.5.1 控制模块的仿真414.5.2 输入模块时序仿真424.5.3 乘累加模块时序仿真454.5.4 锁存模块时序仿真48第5章 结束语515.1 总结515.2 展望51参考文献53致谢55附录I第1章 绪论1.1 本课题的研究意义和应用背景 几乎在所有的工程技术领域中都会涉及到信号的处理问题,其信号表现形式有电、磁、机械以及热、光、声等。信号处理的目的一般是对信号进行分析、变换、综合、估值与识别等。如何在较强的噪声背景下提取出真正的信号或信号的特征,并将其应用于工程实际是信号处理的首要任务。根据 处 理 对象的不同,信号处理技术分为模拟信号处理系统和数字信号处理系统。数字信号处理(Digital signal Processing,DSP)与模拟信号处理相比有许多优点,如相对于温度和工艺的变化数字信号要比模拟信号更稳健,在数字表示中,精度可以通过改变信号的字长来更好地控制,所以DSP技术可以在放大信号的同时去除噪声和干扰,而在模拟信号中信号和噪声同时被放大,数字信号还可以不带误差地被存储和恢复、发送和接收、处理和操纵。许多复杂的系统可以用高精度、大信噪比和可重构的数字技术来实现1。目前,数字信号处理已经发展成为一项成熟的技术,并且在许多应用领域逐步代替了传统的模拟信号处理系统,如通讯、系统控制、电力系统、故障检测、语音、图像、自动化仪器、航空航天、铁路、生物医学工程、雷达、声纳、遥感遥测等。数字信号处理中一个非常重要且应用普遍的技术就是数字滤波。所谓数字滤波,是指其输入、输出均为数字信号,通过一定的运算关系改变输入信号所含的频率成分的相对比例或滤除某些频率成分,达到提取和加强信号中的有用成份,消弱无用的干扰成份的目的。数字滤波与模拟滤波相比,有精度高、可靠性高、灵活性好等突出优点,可以满足对幅度和相位的严格要求,还能降低开发费用,缩短研制到应用的时间,在很多领域逐步代替了传统的模拟信号系统1。1.2 国内外的研究现状数字信号处理器具有灵活性、高稳定性、可靠性、集成度高等优点,促使科研人员不断对它进行研究和开发。但数字信号处理目前仍存在的缺点是:在一些重要研究领域,数字信号处理的速度还达不到实时处理的要求,例如超高频的习A/D转换器。数信号处理可以采用两种方法实现:软件实现和硬件实现。软件实现是在通用计算机上执行数字信号处理程序。这种方法灵活,但实现方法较慢,一般不能实时处理,主要用于教学和科研。国内外的研究机构、公司己经推出了不同语言的信号处理软件包。硬件主要采用MCU(单片机)、DSP (数字信号处理器)和ASIC(专用集成电路)来实现。其中,单片机速度较慢;ASIC虽然性能良好,但通常是为专门限定的某一或某几个特定功能而设计,灵活性差;软件编程的通用数字信号处理器(Digital signal Processor)芯片(如TMs32ocxx)是目前应用较广的一种方法。DSP处理器实质上是一种适用于数字信号处理的单片微处理器,其主要特点是灵活性大,适应性强,具有可编程功能,且处理速度较高。近年来由于多媒体技术和无线通信的发展对DSP应用的要求不断地增长,这些应用对信号处理要求高,需要采用处理速度高的硬件来实现DSP,所以,随着CMOS工艺的线宽不断缩小,从研制高性能的DSP专用芯片 DSP处理器,直到近年来可以在单片上集成DSP的应用,持续地推动了VLSIDSP这一领域的发展。但是,采用DSP处理器的解决方案日益面临着不断增加的巨大挑战,而自身的技术瓶颈(如运行速度、吞吐量、总线结构的可变性、系统的可重构配置性、硬件可升级性等等)致使这种解决方案在DSP的许多新的应用领域中的道路越走越窄。例如,软件无线电的概念在10年前就已经提出,并付诸研究和实现,仅其领域中的数字信号处理的等效速度也需达50GIPS。然而到目前为止,最快的DSP处理器,如TI的C6X系列也没能超过SGIPS,至于现在最常用的TMS32OC54X系列,也只有0.IGIPS。不言而喻,在许多应用领域,以DSP处理器为核心的DSP系统具有很大的局限性2。现场可编程门阵列(Field Programmable Gate Array,FPGA)在器件密度、处理速度等达到片上系统的要求后,它所具有的系统内可重构的特性成为实现DSP应用的优选方案之一。在许多诸如实时图像处理、联合战术无线电通信系统、3G移动通信基站、实时工控系统、卫星导航设备等领域中,FPGA的DSP解决方案为数字信号处理开创了新的领域,使得构造的数字信号处理系统能够保持基于软件解决方案的灵活性又能接近ASIC的性能2。国外有许多院校和科研机构在研究基于FPGA的DSP应用,比较突出的有Denmark大学的研究小组正在从事FPGA实现数字滤波器的研究。由于FPGA实现乘法器有困难,因此他们重点研究开发无乘法的滤波器算法。加州大学洛杉矶分校的研究小组采用运行时重构技术开发了一种视频通讯系统,该系统用一片FPGA可每帧重构四次完成视频图像压缩和传送的操作。此外,他们还在进行Mojave项目的开发工作,力图采用运行时重构技术来实现自动目标识别应用。我国在DSP技术起步较早,产品的研究开发成绩斐然,基本上与国外同步发展,而在FPGA方面起步较晚。全国有100来所高等院校从事DSP&FPGA的教学和科研,除了一部分DSP芯片需要从国外进口外,在信号处理理论和算法方面,与国外处于同等水平.而在FPGA信号处理和系统方面,有了喜人的进展,正在进行与世界先进国家同样的研究。如,西北工业大学和国防科学技术大学的ATR实验室采用了FPGA可重构计算系统进行机载图像处理和自动目标识别,主要是利用该系统进行复杂的卷积运算,同时利用它的可变柔性来达到自适应的目的。北京理工大学研究利用FPGA提高加解密运算的速度,等等。现在,可编程逻辑器件在密度、性能和功耗上都有显著的进步,为数字信号处理开创了新的领域,使得构造的数字信号处理系统能够保持基于软件的解决方案的灵活性,又能够接近ASIC的性能。FPGA内部的功能块中的SRAM查找表(Look Up Table,LUT)构成函数发生器,这种结构特别适用于并行处理结构,如分布式算法(Distributed Arithmetic,DA)。相对于串行运算为主导的通用DSP芯片来说,其并行度和可扩展性都很好,它逐渐成为构造可编程的高性能算法结构的新的选择。据分析,在未来,数字信号处理器将会主宰需要复杂算法的应用领域,而FPGA将会统治更多前端的应用,如FIR滤波器、CORDIC算法或FFT3。1.3 研究思路(1)要研究基于FPGA实现的FIR数字滤波器,首先要选定FPGA器件。ALTERA公司的FLEXIOK系列器件芯片密度大,使用频率高,是目前大规模数字逻辑设计的发展趋势,是用户专用数字滤波器设计的理想载体,并且它的设计软件方便易用,有现成的硬件开发板,所以选用它进行设计。(2)对FIR数字滤波器的结构和设计方法要有一定的了解,选定合适的方法,本文采用模块化设计的思想,将滤波器划分为几个模块分别进行设计,最后综合起来。 (3)设计数字系统,有多种方法,可以采用传统的数字系统设计方法,也可以采用使用硬件描述语言的数字系统设计方法。传统的设计方法不适合大规模系统的设计,所以采用使用硬件描述语言的数字系统设计方法。这就要求学会自顶向下的系统设计方法、硬件描述语言VHDL(Very High Speed Integrated Circuit Hardware Description Language),综合工具、仿真工具等。(4)采用分布式算法实现FIR数字滤波器,对分布式算法要有深刻的理解,得出用它来实现FIR滤波器的硬件结构。针对当滤波器阶数过大时,查找表的规模过大的缺点,用将大的查找表分化为2块小表及OBC(Offset Binary Coding)编码方式将查找表的规模减小。最后利用FPGA 器件实现FIR 数字滤波器的硬件电路,并用MATLAB对结果进行仿真、分析。1.4 本论文的主要内容和主要工作本论文讨论了利用FPGA器件实现FIR滤波器的研究过程。其主要内容以及所做的主要工作如下:(1)研究了采用分布式算法实现FIR数字滤波器的设计方法,分析了其不足之处,针对以速度快为最终目标和以硬件规模小为最终目标这两种情况,对各种方案进行了比较,得出速度与规模折衷考虑时最优化的方案,并对其进行了进一步的改进,减小了查找表的规模。(2)采用了应用硬件描述语言和自顶向下的数字系统设计方法,对传统的数字系统设计方法和以使用硬件描述语言的数字系统设计方法以及自底向上和自顶向下的数字系统设计方法进行了比较,指出采用硬件描述语言和自顶向下方法设计数字系统的优势,并给出了利用FPGA器件进行数字系统设计的设计流程。(3)利用硬件描述语言采用自顶向下的数字系统设计方法,给出有限脉冲响应(FIR)数字滤波器的各模块结构,对其进行可综合的寄存器传输级描述。作者将FLEXIOK系列的结构、功能和特点进行了介绍,并利用Altera公司的FLEXIOK系列器件和QuartusII软件对设计进了综合和仿真,并将实验结果和用MATLAB软件计算的结果进行了比较。(4)对此次设计作了小结,并提出了进一步对设计进行改进的方法。随着大规模可编程逻辑器件在数字硬件系统设计中的应用,用VHDL语言设计数字系统,逻辑综合和仿真等EDA技术将成为对电子工程师的基本要求。- 54 -第2章 FIR数字滤波器简介2.1 FIR数字滤波器2.1.1 数字滤波器的概述 信号中一般都包含噪声或者说其中有很多能量在感兴趣的最高频率之外,因此我们要用滤波电路将感兴趣的带宽之外的信号和噪声移去。数字滤波器是数字信号处理中使用最广泛的一种线性系统环节,图2.1给出了一个具有模拟输入信号和输出信号的实时数字滤波器的简化框图。这个模拟信号被周期地抽样,且转化成一系列数字x(n)(n=0,1,)。数字滤波器依据滤波器的计算算法,执行滤波运算、把输入系列x(n)映射到输出系列y(n)。DAC把数字滤波后的输出转化成模拟值,这些模拟值接着被模拟滤波器平滑,并且消去不需要的高频分量4。图2.1 实时数字滤波器的简化框图 在信号处理中,为了防止采样过程中的混叠现象,必须在A/D 转换之前使用低通滤波器,把1/2采样频率以上的信号衰减掉。如图2.2所示,在A/D转换前,加入一个低通滤波器,这样,经过A/D转换之后,有效地避免了混叠现象的发生,从而保证了后续数字处理的正常进行。图2.2 抗混叠滤波器的作用在实时数字处理系统中,要根据实际情况设定不同的分析频率,即信号分析频率可由用户设定,那么抗混叠滤波的截止频率也要发生变化:fc =Fs/2。可以想象,信号分析系统需要多少档分析频率,就需要多少只抗混叠滤波器,这样导致模拟电路的设计十分繁琐,而且要保证每个滤波器参数一致、高精度、线性等较为困难4。 随着DSP技术广泛应用,现在逐步采用的技术是:在经过A/D转换后,采用数字滤波技术满足不同分析频率下信号分析的需要。相应地,A/D转换保持最高转换频率不变,只需要一个模拟抗混叠滤波器,而通过调节数字滤波器参数改变数字滤波器的输出,相当于改变不同的A/D转换频率。如图2.3所示,A/D转换前端时域参数固定的模拟抗混叠滤波器,在A/D转换后使用参数可调的数字滤波器。这样的设计简化了模拟抗混叠滤波器的设计,提高了系统的稳定性和抗干扰性能。图2.3 抗混叠数字滤波器的作用2.1.2 FIR滤波器的原理一个数字滤波器可以用系统函数、单位脉冲响应和差分方程进行描述。其中系统函数和表示输入输出关系的常系数线性差分方程为: (2.1)直接由H(z)得出表示输入输出关系的常系数线性差分方程为: (2.2)可以看出,数字滤波器是把输入序列经过一定的运算(如式2-2所示)变换成输出序列。大多数普通的数字滤波器是线性非时变的(linear time-invariant, LTI)滤波器。对因果的FIR系统,其系统函数仅有零点(除z=0的极点外),并且因为系数a、全为零,所以(2-2)式的差分方程就简化为 (2.3)式(2.3)可以认为是x(n)与单位脉冲响应h(n)的直接卷积。 数字滤波器的根据单位脉冲响应h(n)的时间特性可分为无限长单位脉冲响应(IIR, infinite impulse response)数字滤波器和有限长单位脉冲响应(FIR, finite impulse response)滤波器两种。从离散时间域来看,若系统的单位取样响应延伸到无穷之长,称之为IIR系,若系统的单位取样响应是一个有限长序列,则称之为FIR系统。FIR数字滤波器是指滤波器的单位脉冲响应h(n)是有限长序列,N-1阶FIR数字滤波器的系统函数H(z)可表示为4: (2.4)H(z)是的N-1阶多项式,在z平面上有N-1个零点,而它的N-1个极点均位于z平面的原点z=0。FIR滤波器相对于IIR滤波器有许多独特的优越性,在保证满足滤波器幅频响应要求的同时还可获得严格的线性相位特性,从而保持稳定。对非线性相位的FIR滤波器一般可以用IIR滤波器来代替。由于在数据通信、语音信号处理、图像处理以及自适应处理等领域往往要求信号在传输过程中不可能有明显的相位失真,而IIR存在频率色散的问题,所以FIR滤波器获得了更广泛的应用。正因如此,本文对FIR滤波器进行相关讨论。2.1.3 FIR滤波器的基本结构 FIR滤波器有直接型、级联型和频率抽样型三种基本结构,其中直接型是最常见的结构,如图2.4所示。由于本次设计采用的是直接型数字滤波器结构,所以只对直接型结构作讨论。图2.4 直接型结构这种结构也称为抽头延迟线结构,或称横向滤波器结构。从图2.4可以看出,沿着这条链每一抽头的信号被适当的系数(脉冲响应)加权,然后将所得乘积相加就得到输出y(n)。这种结构也称为抽头延迟线结构,或称横向滤波器结构。从上图可以看出,沿着这条链每一抽头的信号被适当的系数(脉冲响应)加权,然后将所得乘积相加就输出y(n)。2.1.4 线性相位FIR数字滤波器的系统结构 在许多应用领域,例如通信和图像处理中,在一定的频率范围内维持相位的完整性是一个期望的系统属性。可以证明,如果FIR滤波器的单位取样响应h(n)为实数,而且满足线性相位条件,则滤波器的单位取样响应h(n)满足以下两个条件之一:偶对称 h(n)=h(N-1-n);奇对称 h(n)=-h(N-1-n),其对称中心在处。所谓线性特性相位是指滤波器对不同频率的正弦波所产生的相移和正弦波的频率成直线关系。图2.5 线性相位FIR滤波器结构图2.5显示了线性相位FIR滤波器的结构。可以看出,线性相位FIR滤波器的固有对称属性可以降低所需要的乘法器的数量,它使得乘法器的数量降低了一半,而加法器的数量则保持不变。2.1.5 FIR数字滤波器的设计方法FIR滤波器设计方法以直接逼近所需离散时间系统的频率响应为基础。设计方法包括窗函数法和最优化方法(等同波纹法)。其中窗函数方法是设计FIR数字滤波器最简单的方法,也是最常用的方法之一。本文也采用的窗函数设计法。窗函数设计的基本原理是:从所要求的理想滤波器的频率响应产出发,经过反傅立叶变换导出为: (2.5)由于的无限长,所以要对其进行加窗处理,以得到满足要求的单位脉冲响应h(n)为: (2.6)设计 FIR 滤波器常用的窗函数有:矩形窗函数、三角(Bartlett)窗函数、汉宁(Hanning)窗函数、汉明(Hamming)窗函数、布拉克曼(Blackman)窗函数和凯塞(Kaiser)窗函数。具体指标可参看表2.14。表2.1 6种窗函数的主要参数窗函数类型主瓣宽度/dB旁瓣电平/dB过渡带宽度/rad阻带最小衰减/dB矩形窗-1321三角窗-2525 汉宁窗-3144汉明窗 -4153布莱克曼窗-5774凯塞窗=7.865-5780窗函数的选择原则是:(1)具有较低的旁瓣幅度,尤其是第一旁瓣幅度。(2)旁瓣幅度下降速度要快,以利增加阻带衰减。(3)主瓣的宽度要窄,以获得较陡的过渡带。通常上述几点很难同时满足。当选用主瓣宽度较窄时,虽然得到较陡的过渡带,但通带和阻带的波动明显增加:当选用最小的旁瓣幅度时,虽然能得到匀滑的幅度响应和较小的阻带波动,但是过渡带加宽。因此,实际选用的窗函数往往是它们的折中。在保证主瓣宽度达到一定要求的条件下,适当牺牲主瓣宽度来换取旁瓣波动的减少。FIR数字滤波器的窗函数法设计过程如图2.6所示。图2.6 窗函数法设计过程近似的理想滤波器的频率响应,是w的连续函数;是理想滤波器的单位脉冲响应,是无限长的序列:为了获得实际应用的FIR滤波器,需将截断,即把无限长的序列截取为有限长的序h(k)来近似表示,但直接的截断产生了吉布斯现象,使用窗函数法可以避免之,即,最后得出实际应用的FIR滤波器的频率响应。窗函数是有限长序列,长度为0至N。2.2 实现FIR数字滤波器的硬件算法分布式算法2.2.1 分布式算法分布式算法(Distributed Arithmetic),简称DA,在1973年前后由Croisier首次提出,但直到Xilinx发明了FPGA的查找表结构以后,分布式算法才在20世纪90年代初重新受到重视,并被有效地应用在FIR滤波器的设计中。本文采用分布式算法设计FIR滤波器。DA算法是一种以实现乘加运算为目的的运算方法。它与传统算法实现乘累加运算的不同在于执行部分积运算的先后顺序不同。DA算法在实现乘累加功能时,是通过将各输入数据的每一对应位产生的部分积预先进行相加形成相应的部分积,然后再对各个部分积累加,并形成最终结果的。而传统算法是等到所有乘积已经产生之后,再来相加,才完成乘累加运算的。与传统算法相比,DA算法可以极大地减少了硬件电路的规模,提高电路了的执行速度。在FIR滤波器的设计过程中,滤波器的系数是可以通过MATLAB计算得到, 那么h(i)x(n-i)也就成为常数乘法,这在技术上就不需要通用的乘法算法,仅是对输入序列的缩放,这是个重要特征,也是DA算法的先决条件。(1)分布式算法简介 一个线性时不变网络的输出可以用下式表示: (2.7)进一步假设系数是己知常数,是位二进制补码表示的变量。有符号DA系统假设变量的表达式如下: (2.8)其中表示的第w-1位,而也就是x的第i次采样,而内积y可以表示成为: (2.9)重新分别求和(也就是“分布式算法的由来”),其结果如下: (2.10)从式(2.10)可以看出分布式算法是一种以实现乘累加运算为目的的运算方法。它与传统算法实现乘累加运算的不同在于执行部分积运算的先后顺序不同。分布式算法在完成乘累加功能时是通过将各输入数据每一对应位产生的部分积预先进行相加形成相应的部分积,然后再对各个部分积累加形成最终结果,而传统算法是等到所有乘积己经产生之后再来相加来完成乘累加运算的。(2)全串行形式的分布式算法当对系统速度的要求不太高时,可以采用全串行的设计方法,即一个DA查找表,一个并行运算的可控加减法器,以及简单少量的寄存器就可达到目的。这样可以节省大量的FPGA资源。串行式方法,顾名思义就是输入数据是以串行的方式输入。先从最低位开始,用所有N个输入量的最低位对DA查找表进行寻址,得到了一个部分积,将其右移一位即将其乘以,后,放到寄存器当中,同时,N 个输入量的次低位己经开始对DA查找表寻址得到另一个部分积,与右移一位后的上一个部分积相加,再重复上一步,直到所有的位数都己经寻址一遍。特别要注意,在最高位寻址得到的值不是与上一个右移一位后的部分积相加,而是相减。这样最后得到的值就是我们需要的结果,由此可以得到全串行DA模式。由上可知,完成一次运算需要w个时钟周期。它的实现框图如图2.7所示,其中虚线为流水线寄存器。(3)全并行实现方法将式 2.10中每个括一号之间的加法并行执行,即将每个DA查找表的输出采用并行的加法,就得到了全并行结构。现将式(2-12)中的侮个括号内容改写成式(2.13)。图2.7 全串行DA模式并缩写为sum: (2.11)同理,则 (2.12)则式2.10可以改写为 (2.13)利用式(2.13)可得一种直观的加法器树。一个N阶系数,采样值为4位的FIR滤波器的全并行实现如图2-5所示,虚线为流水线寄存器。流水线技术在数字电路设计中是为了提高系统的工作时钟频率而采用的一种特殊的设计方法。全并行实现方法可以利用流水线技术,将复杂的数字逻辑电路分级实现。这样,每一级的电路结构得到简化,从而减少输入到输出间的电路延时,在较小的时钟周期内就能够完成这一级的电路功能。在下一个时钟周期到来的时候,将前一级的结果锁存为该级电路的输入,这样逐级锁存, 由最后一级完成最终结果的输出。在这个过程当中,数据就好像流过了一根数据管道,流水线技术由此得名。也就是说流水线技术是将待处理的任务分解为相互有关而又相互独立的、可以顺序执行的子任务来逐步实现。在流水线技术中,由于算法分解后,数据逐级锁存,输出不是实时的,电路中有几级流水线,输出相对于输入就会延迟相应的时钟周期。另外,在每一级都要用寄存器将上一级的结果寄存,所以,当电路中位数增多时,电路的规模就会迅速增加。这是流水线技术为了得到较高工作速率而增加的额外开销。虽然如此,但是如果我们把系数的个数限制在4个或是8个的时候,再加上流水线寄存器,这个代价还是值得的。2.2.2 分布式算法的优化这次设计的滤波器主要采用的是串行分布式算法,即SDA(Serial Distributed Arithmetic)。由于采用的是用一个移位累加器的实现方法,查找表的大小占硬件规模的主要部分,所以可以将查找表的大小看作是硬件规模的近图2.8 全并行DA结构似。又由于假设查找表的输出被锁存了,所以查找表结果的读出和相加可以看作是并行执行的,则加法的次数可以用来进行速度大小的比较。在比较中,假设一个相同的滤波器,它的每个采样值有w位,而阶数有N阶。(1)串并行相结合的实现方法在全串行的实现方法中,一次输入每一个采样值的一位。这样,查找表的地址总线就有N位,所以查找表中有种可能的值,查找表的规模可以看作是。而由于数据是一位一位输入的,所以结果要在w个时钟周期后才能得到,用到了(w-1)次加法。这种方法有时又被称为IBBAT(one bit at a time)。如果采用串并结合的方法,比如说,一次输入每个采样值的两位(2BAAT,two bit at a time),则加法的次数可以减少到(w/2-1)次。如果输入采样值的位数w不是偶数,在使用2BAAT方法之前必须对采样值进行符号扩展,使其达到偶数位。符号扩展也就是在二进制补码之前补1或0,对负数补1,对正数补0。由图2.9可知,查找表的规模随着阶数的增加成指数增长。在一次输入两位的情况下,查找表的规模是串行方法规模的平方倍,即个字。如果N为16,则查找表的规模为个字,实在是太大了。所以我们要想办法减小表的规模。LUT的输入位宽度就是系数的数量,如果系数N过多,则LUT表的规模将十分庞大,这是因为LUT的规模随着地址空间(也就是N) 的增加而呈指数增加。造成硬件资源趋于紧张,甚至难能实现。为缩小LUT,对LUT的地址进行电路分割,可以制作部分表,然后将结果相加。如果加上流水线寄存器,这一改进并没有降低速度,却极大地减少了设计硬件的规模。例如,对于N=15的FIR滤波器,LUT地址是16位,即便是考虑了它的系数图2.9 一次输入两位的2阶FIR滤波器对称性,地址也是8位,字数。但是FLEXIOK系列芯片只能提供4输入的LUT,所以要对LUT的地址进行分割。将8位地址线分为高4位和低4位,分别做成2个4位地址输入的LUT,可以成指数倍地节省了硬件资源5-7。如图2.10所示。图2.10 部分表求和缩小LUT规模的DA算法(3)用OBC编码方式减小LUT规模使用OBC编码方式进一步减小LUT的规模的OBC编码方式的原理如下。假设一个FIR滤波器有N阶系数,且其卷积和为: (2.14)其中是w位的二进制补码数。第i次采样值可以分解为下式: (2.15)其中,这个时候,定义 for ; for ;而且,这样,式2.15可以重写为: (2.16)则式2.16可以重写为: (2.17)定义 for 得到 (2.18)表2.2显示了采用OBC编码方式时,LUT表的内容。本文的设计采用了并行DA算法,旨在提高工作速度;将LUT分割成2个小LUT,旨在减少硬件规模。表2.2 采用OBC编码时LUT内容 ROM表内容0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开