基于FPGA的FIR数字滤波器的设计及仿真毕业设计论文(28页).doc
《基于FPGA的FIR数字滤波器的设计及仿真毕业设计论文(28页).doc》由会员分享,可在线阅读,更多相关《基于FPGA的FIR数字滤波器的设计及仿真毕业设计论文(28页).doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于FPGA的FIR数字滤波器的设计及仿真毕业设计论文-第 27 页1 绪论本章主要论述该课题的研究意义,目前在世界上的发展情况,以及我在这篇论文中所用到的主要的设计方法与设计工作。1.1 课题研究的意义 许多工程领域都涉及到如何能在强背景的噪声信号和干扰信号中提取到真正的信号。如:遥感和遥测系统,通信系统,雷达系统,航天系统等,这就要求有信号的滤波。滤波器的带宽等性能,处理速度的要求随着现在对高速,宽带,实时信号处理的要求越来越高,也随之提高。系统的稳定性和后续信号的处理受滤波器的性能好坏程度影响常大。11.2 国内外研究动态1.2.1 数字信号处理的发展动态一般可以用两类方法来实现FIR
2、滤波器的设计。 一类通过软件来设计实现,使用常见的电脑语言如高层次的C / C + +跟 MATLAB语言。此方法用于教学或算法仿真。但是采用软件的方法不能实现实时性。目前可以通过以下几种方式在硬件中来实现,。一种是使用可编程的主要数学单位是一个乘法累加器(MAC)的通用DSP芯片编程。实时数字信号能够实现高速的处理,是因为 MAC在一台机器时钟周期就能完成乘法累加操作,同时在硬件上还辅助与不同的流水结构和哈佛架构。然而,在应用时受到了限制,是由于硬件结构和流水结构是固定不变的。 一种是使用专用的ASIC数字信号处理芯片。这种方法是芯片尺寸小,高性能,保密性好。其缺点是一个单一功能的芯片,多是
3、针对一定的功能而设计,灵活性不够。 另一种方法是使用可编程逻辑器件(FPGA / CPLD)。 FPGA所具有得可编程逻辑的灵活性突破了流水线结构和并行处理的局限性,可以很好的实现实时信号处理功能。研发过程中它的可移植性更好,可以缩短开发周期。211 1.2.2 FIR数字滤波器的FPGA实现 使用FPGA技术设计的FIR数字滤波器在目前通常采用的是乘法器结构和分布式算法结构。 乘法器结构,有乘累加结构与并行乘法器结构两种形式。乘累加结构是最简单的一种,占用资源少,缺点是处理速度慢;并行乘法器结构比较复杂,但是如果能够加上流水结构,信号就能够实现高速的处理,但是它还是会受到处理速度和数量的限制
4、。分布式算法(DA)的,是将固定系数乘法 - 累加运算转换成了查找表的运算从而巧妙地利用了ROM查找表,避免了乘法的运算。巧妙运用查找表可以在很大程度上提高运算速度和插入流水结构。因为它只是一个简单的加法运算。 分布式算法(DA),可以分为串行分布式算法,并行分布式算法,串行与并行结合的分布式算法。串行分布式算法,它占用的资源很少,结构也相对简单,但就是还不能拥有很高的处理速度;并行的分布式并行算法拥有更加整齐的结构,主要用于需要高速处理的情况;串行与并行结合的分布式算法,占用资源大,也多用于对速度要求高的场合。在不同的情况下,各种算法的处理效果是不同的,要根据对处理速度的不同要求选择不同的算
5、法。 无论是采用哪种算法,都会用到ROM做为查找表的器件。FIR滤波器的阶数增加,就会使得ROM的数目不断的增加,所占用的资源也不断的增加,到目前为止没有一个有效的方式,可以将ROM的数量跟ROM的规模减少。2111.3 本课题研究方法和主要工作首先介绍了数字滤波器的基本概念,然后介绍了FIR滤波器的相关理论。最后从实际应用设计出发提出一个FIR滤波器设计流程,包括滤波器结构的选择、滤波器的系数计算、系数的量化等,按照此流程即能设计出满足实际性能需求的数字滤波器。根据FIR滤波器的功能模块的划分,描述了各个功能模块的具体设计,给出其仿真波形,并通过Quartus进行了仿真验证。(1) 采用8输
6、入查找表进行分布式算法,设计了一个输入8位,输出8位的256阶线性相位FIR滤波器,简化了传统的MAC设计。(2) 各模块参数独立于滤波器的结构,有较强的通用性,适于模块化设计。(3) 利用VHDL设计,可重复配置FPGA,系统易于维护和扩展。2 FPGA技术以及Xilinx Virtex IIFPGA芯片2.1 FPGA发展基本概况现场可编程门阵列FPGA是一种广泛使用的高密度可编程逻辑器件。20世纪80年代赛灵思公司推出了第一个FPGA,除了赛灵思外,Actel,Altera公司,QuickLogic公司和其他公司也生产FPGA产品。FPGA布线由单位的可编程逻辑阵列构成,用可编程I /
7、O单元阵列包围,分隔的资源构成了整个芯片。逻辑单元阵列布线通道连结在一起,以达到一定的逻辑功能。一个FPGA由丰富的快速逻辑门结构,寄存器和I / O组成。按照编程功能,有反熔丝的一次性可编程的静态存储器(SRAM)结构。赛灵思的FPGA基于静态存储单元,SRAM的查找表类型,在互连关系的模式下,也可以再次在设备中加载和修改。电源掉电后,存储的程序可能会丢失,因此每次你都要把程序配置到芯片中去。 Actel的ACT系列和QuickLogic为一次性可编程熔丝类型的PASIC系列FPGA。自1985年以来,赛灵思公司推出了第一片现场可编程逻辑器件后的有近20多年的发展过程中,FPGA的集成技术已
8、经取得了令人瞩目的发展:现场可编程逻辑器件从最初的可用的1200个门发展到25万个,再在20世纪90年代发展到几十万,甚至数百万的单FPGA芯片,现场可编程器件集成达到了一个新的水平。 2001年,赛灵思Virtex II,其容量可高达800万个系统逻辑。赛灵思Virtex II系列FPGA的Virtex,Spartan的Virtex-E,在Spartan-2后的LUT(查找表)的高端平台FPGA系列芯片,该芯片的选择RAM块的内部整合,采用18位x 18位乘法器和其他硬件资源。时钟DLL控制DCM的技术,频率高达420MHz。支持的LVDS,PCI,TTL,AGP,CMOS和其它IO接口标准
9、。后续又推出了以IBM PowerPC为基础的Virtex II结构,低端的900纳米工艺的Spartan-3,和即将推出的Virtex-4系列的具有嵌入式DSP功能的Virtex II Pro。12.2 Virtex II系列FPGA结构及特点2.2.1 Virtex-II系列FPGA概述 Virtex II FPGA是第一个基于FPGA,具有 IP浸入式结构的平台。它具有400008000000个系统逻辑门而且它的I / O带宽高达840Mb / s,它的内部时钟高达420MHz。设计人员可以更加容易地集成软件和硬件IP核;Virtex-II器件包含多达12个时钟管理器(数字时钟管理器DC
10、M),可以在允许范围内的任何频率的时钟信号产生,并提高时钟边沿配置(时钟边沿位置)的准确性,因此,下降到百分之一的错误。此外,高性能时钟管理电路,每个Virtex-II器件有16个预先设计的低偏移时钟网络(低偏移时钟网络),省去了复杂的高性能设计的时钟树分析的需要。此外,赛灵思可控阻抗技术(XCITE)使用两个外部参考电阻保持数百个I / O引脚的输入和输出阻抗匹配,不仅可以减少电路板上的电阻数量,大大降低了系统成本,还能减少的概率电路板重新绕组(重不同自旋),简化电路板布局,提高了系统的稳定性。Virtex-II还支持片上和片外时钟同步,并维持精确的50/50占空比。DCI技术的应用,可避免
11、不同的驱动力,温度,电压波动造成的差异,仍然保持一个稳定的阻抗。有加密功能,以充分保护的安全设计。应用安全三重数据加密标准(DES)算法编码加密密钥加密算法,此功能,可以提高安全性的设计,以避免设计被窃取。灵活的逻辑资源。高性能的外部存储器接口,支持CAM,QDR RAM,FCRAM,SDR / DDR等存储方式。有168个专用的18位x 18位乘法器和快速进位逻辑链。支持多输入功能,有一个内部三态总线,拥有的SelectIO技术,支持多种IO标准,支持多种编程模型。支持并口,串口。具有灵活的开发环境。211 2.2.2的Virtex-IIFPGA结构各种可编程的单位,主要用于高密度和高性能的
12、逻辑设计,Virtex-II系列FPGA可编程逻辑块(可配置逻辑块CLB)的组成,如图3-1所示,由SelectRAM块,乘法器,全局时钟缓冲器和一个可编程的IOB组成。图2-1 Virtex II系列FPGA结构图2.2.2.1 Virtex-II FPGA的可编程逻辑模块CLB每一个可编程逻辑块由四片三态缓冲器组成。每片包含多个算术逻辑门,2个存储单元,两个函数发生器(FG公司),超快速前进位链。函数发生器(FG公司)为一个十六位分布式SelectRAM存储器编程,或四输入查找表或十六位的移位寄存器。两个存储单元可以编程为电平触发锁存或边沿触发的D触发器。基本结构如图2-2所示。图2-2
13、CLB内部结构图2.2.2.2 Virtex II FPGA的时钟资源Virtex II FPGA具有十六个时钟输入引脚,底部有八个,另外八个在位于中间的逻辑阵列芯片上的顶部。适当的配备与之相对应的十六个全局时钟复用器缓冲区。分配给每个全局时钟缓冲器时钟引脚时钟信号,可由全局时钟缓冲器来支持差分对驱动程序,直接驱动到每个设备。与此同时,也可由DCM的驱动器分配到每个设备的时钟信号。具体如下图所示:图2-3 时钟分配结构图数字时钟管理器有一个强大的功能叫时钟管理功能,具有频率合成器,相移等特性。无偏的相位输出时钟和输入时钟信号,可以消除时钟分配延迟。频率合成器,可以得到高精度相移输出的相移。21
14、12.3 本章小结本章详细的说明了Virtex II系列FPGA的结构和特点,并简要介绍了FPGA技术的发展。通过对本章知识的掌握,对基于FPGA技术的下一个过滤器设计奠定了坚实的基础。3 FIR数字滤波器设计3.1 FIR数字滤波器概述信号中一般都包含噪声或者说其中有很多能量在感兴趣的最高频率之外,因此我们要用滤波电路将感兴趣的带宽之外的信号和噪声移去。数字滤波器是数字信号处理中使用最广泛的一种线性系统环节,图3.1给出了一个具有模拟输入信号和输出信号的实时数字滤波器的简化框图。这个模拟信号被周期地抽样,且转化成一系列数字x(n)(n=0,1,)。数字滤波器依据滤波器的计算算法,执行滤波运算
15、、把输入系列x(n)映射到输出系列y(n)。DAC把数字滤波后的输出转化成模拟值,这些模拟值接着被模拟滤波器平滑,并且消去不需要的高频分量。图3.1实时数字滤波器的简化框图在信号处理中,为了防止采样过程中的混叠现象,必须在A/D转换之前使用低通滤波器,把1/2采样频率以上的信号衰减掉。如图3.2 所示,在A/D转换前,加入一个低通滤波器,这样,经过户A/D转换之后,有效地避免了混叠现象的发生,从而保证了后续数字处理的正常进行。图3.2 抗混叠滤波器的作用3.2 FIR数字滤波器理论FIR滤波器的数学表达式可用K阶卷积来表示: ( 31)其中:K:FIR滤波器的抽头数;:第k级抽头系数(单位脉冲
16、响应);:延时k个抽头的输入信号。卷积是DSP使用最频繁的一种运算,描述系统的输入如何与系统相互作用产生输出,通常来说,系统的输出将是输入的延迟、衰减或者放大。上图描述的两个序列卷积的例子。其中,x(n)是输入序列,h(n)是单位脉冲响应,y(n)是系统对输入序列x(n)的响应,卷积的数值即y(n)只可以由式只算得到。3.3 FIR数字滤波器的具体设计内容滤波器的实现主要包括两方面的内容,首先选择一个合理的结构,然后利用有限精度的数值来实现它。之所以要利用有限精度数值实现滤波器,是因为实际的滤波器系数只能用有限的二进制位数来表示,就涉及到系数的字长问题。3.3.1滤波器的结构FIR滤波器的单位
17、脉冲响应h(k)均为实数,在幅度上只要满足下列两个条件之一,就能构成线性相位FIR滤波器。式( 32)称为第一类线性相位的幅度条件(偶对称),式( 33)称为第二类线性相位的幅度条件(奇对称)。 ( 32) ( 33)FIR滤波器最基本的结构是直接型,如图3.3所示。可以看出,FIR滤波器是由一个“抽头延迟线”的加法器和乘法器的集合构成,每个乘法器的操作数就是一个FIR系数。对于每次采样,只y(n)都要进行K次连续的乘法和(K-1)次加法操作。图3.3直接型FIR滤波器结构图由于FIR滤波器具有线性相位的对称属性,因此可以只采用一半的系数降低所需要乘法器的数量,如图3.4所示(图(a)为偶对称
18、,图(b)为偶对称)。可以看出“对称”结构的乘法器是直接结构(图3.3)的一半(K/2),得到了优化,但加法器的数量保持不变,还是(K-1)个。图3.4(a)简化乘法器数量的线性相位偶对称FIR滤波器结构图图3.4(b)简化乘法器数量的线性相位奇对称FIR滤波器结构图此外,FIR滤波器的结构还有级联型和格型,这两种结构可以获得较高的灵敏度,但较少采用,主要原因是:第一,对大多数线性相位FIR滤波器来说,由于零点在Z平面内或多或少是均匀铺开的,从而使滤波器对系数量化误差的灵敏度很低;第二,无论系数量化误差多大,采用直接型结构都能获得准确的线性相位。因此,本设计选用直接型结构,这种结构实现简单,要
19、求的器件少,数据存储不复杂,且充分利用FIR滤波器的脉冲响应系数对称性的优点来降低滤波器实现的计算复杂性。3.3.2 滤波器系数的计算目前,FIR滤波器的主要设计方法是建立在对理想滤波器频率特性做某种近似的基础上的,这些近似方法有窗函数法、频率抽样法和最佳一致法。其中,窗函数法是一种基本的设计方法,其设计方法较为成熟,本设计即采用窗函数法,下面先简要介绍其设计思想。窗函数设计的基本原理是:从所要求的理想滤波器的频率响应Hd(ejw)出发,经过反傅立叶变换导出hd(n) ( 34)由于hd(n)的无限长,所以要对其进行加窗处理,以得到满足要求的单位脉冲响应h(n) ( 35)已经认可并发表的窗函
20、数的数量非常多,最常用的窗函数(用w(n)表示)基本参数如表3.1所示10。表 3.1四种窗函数基本参数名称窗函数过渡带宽最小阻带衰减(db)矩形窗14/N-21三角窗2n/N8/N-25汉宁窗8/N-44海明窗8/N-53从表 3.1可以看出,一旦窗函数选定,过渡带宽和最小阻带衰减也随着确定,不可改变,究竟选择哪一种窗函数来实现本设计呢?本人参考了以下选择原则:(1)具有较低的旁瓣幅度,尤其是第一旁瓣幅度;(2)旁瓣幅度下降速度要大,以利增加阻带衰减;通常以上两点很难同时满足。当选择主瓣宽度较窄时,虽然得到较陡的过渡带,但通带和阻带的波动明显增加;当选用最小的旁瓣幅度时,虽能得到均匀光滑的幅
21、度响应和较小阻带波动,但过渡带加宽。因此,实际选用的窗函数往往是它们的折中。在保证主瓣宽度达到一定要求的条件下,适当牺牲主瓣宽度来换取旁瓣波动的减少。本设计采用的设计方案是:设计一个输入8位,输出8位的256阶线性相位FIR滤波器,Fs为44kHz,Fc为10.4kHz,采用直接型、奇对称结构方式,选择海明窗完成,其输入信号范围为:99,0,0,0, 70,0,0,0, 99,0,0,0, 70,利用MATLAB设计计算滤波器系数如下:FIR滤波器参数设置,因为是256阶,所以Specify order处填255,h(0)=0,如图3.5所示。图3.5 FIR滤波器参数设置FIR滤波器系数如下
22、图3.6所示。图3.6FIR滤波器系数经过计算,得到附录图B(a)为脉冲响应波形图,图附录图B(b)为其幅频特性曲线,图附录图B(c)为相频特性曲线。从幅频特性曲线中可以看出该滤波器的性能参数达到了要求;从相频特性曲线来看,曲线通过原点处为一条直线,说明具有线性相位特性。3.3.3滤波器系数量化本系统将采用FPGA实现,但FPGA只适合处理二进制的整数,因此就存在一个将小数转换为有限位二进制整数的问题,即有限字长问题,用有限字长来表示输入和输出信号、滤波器系数以及算术运算的结果。在这种情况下,需要分析量化对滤波器性能的影响。本系统为硬件实现,仅分析量化后单位脉冲响应系数的有限字长对性能的影响。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA FIR 数字滤波器 设计 仿真 毕业设计 论文 28
限制150内