基于Matlab和FPGA的FIR数字滤波器的设计.doc
《基于Matlab和FPGA的FIR数字滤波器的设计.doc》由会员分享,可在线阅读,更多相关《基于Matlab和FPGA的FIR数字滤波器的设计.doc(24页珍藏版)》请在三一办公上搜索。
1、湖南文理学院课程设计报告课程名称: 专 业 课 程 设 计 系 部: 电气与信息工程学院 专业班级: 通信工程08102班 学生姓名: 赵 瑞 娇 学生学号: 200816020246 指导教师: 叶 华 完成时间: 2011年6月22日 报告成绩:评阅意见: 评阅教师 日期 目 录一引言3二、设计目的:3三FIR滤波器基本原理及结构:31.FIR滤波器简介32.FPGA简介43 数字滤波器的类型和设计指标54.FIR滤波器基本原理5四数字滤波器的设计与分析61. 窗函数设计的基本思想和常用窗函数6十六阶FIR低通数字滤波器硬件电路设计8五FIR滤波器设计的仿真实现111. 用程序设计法对FI
2、R 滤波器的仿真122. 用窗函数设计法对FIR滤波器的仿真133. 滤波器的FPGA实现及仿真:17六心得体会24七参考文献24基于Matlab和FPGA的FIR数字滤波器的设计一引言数字滤波器是数字信号处理的一个重要的技术分支。利用它可以在形形色色的信号中提取所需要的信号,抑制不需要的干扰或噪声。数字滤波器根据其单位冲激响应函数的时域特性分为两种:无限长冲激响应(IIR)滤波器和有限长冲激响应(nR)滤波器。IIR滤波器保留了模拟滤波器较好的幅度特性,设计简单有效。但这些特性是以牺牲相位特性为代价而获得的,然而现在许多数据传输、图像处理系统都越来越多的要求系统具有线性相位特性“1。在这方面
3、,FIR滤波器具有独特的优点,它可以保持严格的线性相位特性,因此越来越受到广泛的重视。FIR滤波器的设计方法有许多中,如窗函数设计法、频率取样法和最优化设计法等等。而而随着MATLAB 软件尤其是MATLAB 的信号处理工具箱和Simulink仿真工具的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计法达到最优化。二设计目的1.掌握FIR数字滤波器的步骤。2.掌握MATLAB和FPGA( FieldProgrammable Gate Array)的综合应用。3.设计并实现基于MATLAB和FPGA的FIR数字滤波器。三FIR滤波器基本原理及结构1. FIR滤波器简介根据冲激响
4、应的时域特性, 数字滤波器可分为无限长冲激响应滤波器( IIR) 和有限长冲激响应滤波器( FIR) 。相比于IIR滤波器,FIR 的突出优点是: (1).具有精确的线性相位(2).总是稳定的(3).硬件容易实现(4).滤波器的过渡过程具有有限区间但其在满足同样阻带衰减的情况下需要的阶数较高。滤波器的阶数越高, 占用的运算时间越多, 因此在满足指标要求的情况下应尽量减少滤波器的阶数。FIR 滤波器的基本结构可以理解为一个分节的延时线, 把每一节的输出加权累加, 可得到滤波器的输出。FIR 滤波器的冲激响应h (n) 是有限长的, 数学上M阶FIR滤波器可以表示为:其系统函数为:由于FIR滤波器
5、的单位冲激响应h(n)是一个有限长序列,系统函数H(Z)是Z-1的(N-1)次多项式,它在Z平面有(N-1)个零点,同时在原点有(N-1)阶重极点。因此,H(Z)永远稳定。2.FPGA简介自20世纪70年代初期可编程只读存贮器( PROM)问世以来, PLD有了长足的发展。早期的可编程逻辑器件只有编程只读存贮器( ( PROM ) 、紫外线可擦除只读存贮器( EPROM)和电可擦除只读存贮器( EEPROM)三种。由于受结构的限制, 它们只能完成简单的数字逻辑。70年代中期出现了可编程逻辑阵列PLA, 70年代末期出现了可编程阵列逻辑PAL, 80年代中期又推出了通用阵列逻辑GAL, 这些PL
6、D器件的一个共同特点是可以实现速度特性较好的逻辑功能, 但其过于简单的结构也使它们只能实现规模较小的电路。为了弥补这一缺陷, 近几年又推出了与PAL 结构类似的标准门阵列可编程逻辑器件FPGA ( FieldProgrammable Gate Array) 。它具有体系结构和逻辑单元灵活、集成度高以及适用范围广等特点。这种器件兼容了PLD和通用门阵列的优点, 可实现较大规模的电路, 编程也很灵活。与门阵列等其它ASIC相比, 它又具有设计开发周期短、设计制造成本低、开发先进、标准产品无需测试、质量稳定以及可实时在线检验等优点。因而被广泛应用于产品的原型设计和产品生产(一般在5000件以下)之中
7、。几乎在所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA器件。这里利用FPGA 来实现FIR 数字滤波器, 事实证明,达到了预期效果。3. 数字滤波器的类型和设计指标数字滤波是由乘法器、加法器和单位延时器组成的一种运算过程,它对输入的离散信号进行运算处理,以达到改变信号频谱的目的数字滤波器根据时域特性可分为无限脉冲响应IIR 滤波器和有限脉冲响应FIR滤波器,两者各有优缺点:IIR 滤波器能以较低的阶次获得相同的幅度滤波性能,但一般为非线性相位;FIR滤波器单位脉冲响应是有限长的,系统必定稳定,且可以做成严格的线性相位,故在图像处理、数据传输等需要信道具有线性相位特性的场
8、合应用广泛FIR 数字滤波器就是要根据给定的技术指标,确定系统单位脉冲响应h(n),使系统的相位特性线性、幅度特性逼近给定的技术指标如果h(n)是实数序列,且满足偶对称或奇对称条件,则滤波器就具有严格的线性相位特性对幅度特性的逼近,常用最小平方逼近、插值逼近和最佳一致逼近等方法。4.FIR滤波器基本原理FIR数字滤波器的冲击响应h(n)为实序列时,频率响应: 若要求线性相位,则需: 因而h(n)如果满足对称或反对称的条件,就具有线性相位特性,即:数字滤波器结构有很多种,偶对称FIR滤波器的直接型结构如图1所示。 其中x(n),y(n)分别为输入输出时间序列。容易得到32阶偶对称FIR滤波器的输
9、入输出关系,如式(4)所示: 根据以上分析,可以把对称结构的FIR数字滤波器分成“移位相加单元、乘法器、输出相加及截位输出”四块,如图2所示。 对于长度为2M的滤波器,其运算次数只有M量级,减少了乘法次数,也提高了运算速度。在用FPGA实现时可以节约不少资源。四数字滤波器的设计与分析1. 窗函数设计的基本思想和常用窗函数FIR数字滤波器的设计方法有窗函数设计法、频率抽样设计法和最优设计法等,其中窗函数设计是FIR滤波器设计的主要方法之一,由于其运算简便,物理意义直观,已成为工程实际中应用最广泛的方法,窗函数设计滤波器的基本思想,就是根据给定的滤波器技术指标,选择滤波器的阶数N 和合适的窗函数w
10、(n)。即用一个有限长度的窗口函数序列w(n)来截取一个无限长的序列 获得一个有限长序列h(n),即h(n)= * w(n)。这样我们用一个有限长的序列h(n)去代替,肯定会引起误差,表现在频域就是通常所说的吉布斯(Gibbs)效应。该效应引起通带内和阻带内的波动性,尤其使阻带的衰减小,影响滤波器的性能。为了减小吉布斯效应,从原理上来说可以通过加大N。但实验表明,加大N 虽然可以使H(w)过渡带变窄,但对带内波动以及阻带衰减并没有多大的影响。因此,我们希望能找到不同的窗函数,使其主瓣包含更多的能量,同时旁瓣幅度减小,从而使通带、阻带波动减小,加大阻带衰减。窗函数方法不仅在数字滤波器的设计中占有
11、重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。工程实际中常用的窗函数有6 种,即矩形窗、三角形窗、汉宁(Hanning) 窗、海明(Hamming) 窗、布莱克曼(Blackman)窗和凯泽( Kaiser)窗。不同窗函数的过渡带和阻带衰减特性有所不同。表1.六种窗函数性能比较窗类型旁瓣峰值主瓣峰值最小阻带衰减矩形窗13dB4/M21dB三角窗25dB8/M25dB汉宁窗31dB8/M44dB海明窗41dB8/M53dB布莱克曼窗57dB10/M74dB凯泽窗(=5.658)53dB7.8/M60dB窗函数设计FI
12、R 滤波器的步骤如下:(1) 根据技术要求确定单位取样响应,如果已知,则可由下式确定单位取样响应: (2) 根据对过渡带和阻带衰减的要求,选择窗函数的形式,并估计窗口长度N。选择窗函数的时候,原则上在保证阻带衰减的情况下,尽量选择主瓣窄的窗函数,减小带宽。(3) 由选择好的窗函数形式w(n)确定单位取样响应h(n),公式如下:h(n)= * w(n)如果要求线性相位,则同时要保证对(N-1)/2 对称。(4) 重复上述步骤反复验证技术指标是否达到。可用FFT 快速算法计算设计出的滤波器频率响应,公式如下: 十六阶FIR低通数字滤波器硬件电路设计下面以一个十六阶FIR低通滤波器为例说明硬件电路的
13、设计方法和过程。(1).设计指标。截止频率:37.5kHz类 型:低通 输入数据宽度:8位 阶 数:16阶 输出数据宽度:16位(2).参数提取.符合设计指标的线性相位16阶FIR数字低通滤波器的特性参数如下:h0=h15=0.000000 h1=h14=0.001992h2=h13=0.008241 h3=h12=0.018332h4=h11=0.030784 h5=h10=0.043353h6=h9=0.053550 h=7=h8=0.059257(3)单元电路设计FIR低通数字滤波器电路分为数据位扩展、并串转换器、移位寄存器组、前加单元、中间处理单元、后处理单元以及控制单元等部分。a.
14、数据位扩展这里所设计的FIR数字滤波器输入是8位宽的,为了防止溢出,保证电路的正常工作,这里采用符号位扩展方法,经过符号位扩展,总的输入数据宽度为9位。b. 并串转换器并串转换器由9个2选1选择器和9个D触发器组成,结构十分简单,在此不再对其电路结构赘述。其工作过程为:并串转换器以采样速率周期地采入8位样点数据,并输出1位数据流给后级的移位寄存器。c. 移位寄存器组寄存器组主要完成移位功能。d. 前加单元前加单元的主要功能是将移位寄存器输出的1位串行数据流进行预相加,它由一位串行加法器构成。XC4000系列芯片具有以下两个特点:(a)内部基本单元CLB(可配置逻辑模块)包括三个函数发生器,分别
15、以F、G和H标记。其中两个第一级的函数发生器F和G,每个可实现4输入的任何函数,同时它们也可以与H函数发生器组合生成五输入的任何函数。此外,CLB还具有CLB内部连线比外部连线延时小的特点。(b)XC4000系列提供了快速进位逻辑(Carry Logic)用来加速加法器和计数器的进位通道。利用快速进位逻辑、加法器和计数器,在占用最小数量CLB的情况下,却具有极快的工作速度。且该进位逻辑可以进行灵活配置,以实现任意长度的计数器和减法器。因此,从提高芯片利用率、布线率,减小电路延时等方面考虑,必须充分利用XC4000系列芯片的特点,对电路中的位全加器作适合于FPGA特点的特殊设计。图3电路为本文所
16、采用的经优化后的包括快速进位逻辑的位全加器电路,其中FMAP为函数映射,可将特定电路映射到CLB的F、G或H函数发生器中;CY4为快速进位逻辑宏单元。图3 一位串行加法器e. 中间处理单元在FIR数字滤波器中,中间处理单元主要实现对来自前加单元的位串行输出数据的相乘和累加功能。这里采用基于ROM查表法的分布式算法进行中间处理单元的电路设计。如前所述,本文仅考虑冲激响应对称的情况,即滤波器的系数是对称的,所以独立系数的数目应等于1/2的阶数。对于16阶的FIR滤波器来说,其独立系数的个数为8个。f. 后处理单元后处理单元的主要功能是对数据进行四舍五入和从数据流中取出需要的数据。完成四舍五入功能需
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Matlab FPGA FIR 数字滤波器 设计

链接地址:https://www.31ppt.com/p-4141592.html