基于FPGA的FIR数字滤波器的设计.doc
《基于FPGA的FIR数字滤波器的设计.doc》由会员分享,可在线阅读,更多相关《基于FPGA的FIR数字滤波器的设计.doc(51页珍藏版)》请在三一办公上搜索。
1、基于FPGA的FIR数字滤波器的设计The Design Of FIR Digital Filter Based On FPGA系(院)名称:电子信息与电气工程系 QQ 号: 309810851 目 录摘要IAbstractII引言.1第一章 FIR数字滤波器设计.21.1 FIR数字滤波器.21.1.1数字滤波器简介.21.1.2 FIR数字滤波器.31.1.3 FIR数字滤波器的结构41.2 FIR数字滤波器设计方法.61.2.1时窗函数法61.2.2频率采样法81.2.3等波纹最佳逼近法101.2.4三种设计方法的比较.11第二章 基于MATLAB的FIR数字滤波器的设计与仿真122.1
2、 MATLAB软件122.2使用MATLAB函数进行FIR数字滤波器的设计.122.2.1时窗函数设计法.122.2.2频率采样设计法.132.2.3等波纹最佳逼近设计法142.3使用FDATool设计FIR数字滤波器.152.4使用Simulink进行仿真.16第三章 EDA技术与分布式算法.193.1 EDA技术.193.1.1 EDA技术简介.193.1.2 QUARTUS II软件介绍.193.1.3 FPGA介绍.203.2 FPGA设计方法.223.3分布式算法.233.3.1分布式算法基础.233.3.2并行的分布式算法243.3.3串行的分布式算法24第四章 15阶并行FIR数
3、字滤波器的设计与仿真.264.1顶层文件的设计.264.2并行FIR各个模块的设计284.2.1输入数据预处理模块.284.2.3预相加模块.304.2.4查找表模块.324.2.5加法器模块.354.2.6移位累加器模块.374.2.7输出处理模块.384.3顶层综合与仿真.384.4数据误差分析.41结论.43致谢.44参考文献.45基于FPGA的FIR数字滤波器的设计摘要:线性相位是FIR数字滤波器设计中的一个重要条件。线性相位FIR滤波器的设计方法主要包括时窗函数法、频率采样法、等波纹最佳逼近法。本文基于MATLAB软件,分别用这三种方法设计FIR低通滤波器,并进行比较分析。为了验证F
4、IR滤波器的性能,本文使用MATLAB自带的FDATool工具设计等波纹法15阶低通滤波器,在Simulink里进行仿真,最后得到预期的结果。设计好15阶FIR低通滤波器的系数后,本文就FIR低通滤波器的FPGA实现进行了研究。EDA技术的发展和大规模可编程逻辑器件的应用,使得数字信号处理借助于FPGA实现变为可能。为了实现这一目标,本文讨论了FPGA器件的结构、特点和分布式算法实现FIR滤波器的可行性,然后给出了基于并行分布式算法的FIR滤波器的VHDL描述,最后借助于EDA软件QUARTUSII进行了综合和仿真,并取得了成功。关键词:分布式算法 FIR数字滤波器 线性相位 The Desi
5、gn Of FIR Digital Filter Based On FPGAAbstract:Linear phase is one of the important conditions of FIR digital filter design. The design method of the linear phase FIR filter mainly includes window function method, frequency sampling method and the optimal approximation corrugated . This paper based
6、on the MATLAB software with the three methods designs FIR low-pass filters and analysis the results. In order to verify the performance of FIR filter, this paper use FDATool owned by MATLAB software to design low-pass filter of 15 order with corrugated method and convent it into a model for the simu
7、lation later carried out. The final simulation gets the expected results. Finishing design 15 order FIR low-pass filter coefficients, this paper will study FIR low-pass filter on FPGA realizing. With the development of EDA technology and the wide application of large-scale programmable logic devices
8、, the application of digital signal processing on FPGA realizing become possible. In order to achieve this goal, this paper discusses the structure and characteristics of FPGA device and the feasibility of FIR filter design based on distributed algorithm, and propose the VHDL code based on the paral
9、lel distributed FIR filter. Finally we use EDA software called QUARTUSII for the synthesizing and simulation , and achieve a success.Key words:Distributed Algorithm; FIR Digital Filter; Liner Phrase引 言近年来,随着数字信号处理技术的发展和数字集成电路的广泛应用,越来越多的工程领域在将模拟信号转为数字信号后,面临的首要任务即是滤除干扰信号,滤波的好坏直接决定着系统能不能得到有用的信号,因此滤波在数字
10、信号处理中处于基础性的地位。同时,计算机技术的发展为数字滤波器的设计与仿真提供了便利。例如,使用MATLAB软件即可在很短的时间内就能设计性能很高的数字滤波器,并且还可以进行模拟仿真,这使得我们可以在硬件实现以前对系统的性能可以有个初步的感性认识。此外,大规模可编程逻辑器件的应用,为数字滤波器的硬件实现提供了新的方式,在设计合理的情况下,能提高数字滤波器的工作速度,并且还能节省资源和功耗。基于此,本文将充分利用便捷的EDA技术,采用MATLAB进行FIR数字滤波器的设计和仿真,并研究使用VHDL进行硬件描述,然后在FPGA上开发的可行性。通过本文,可以感受到计算机技术带给数字滤波系统设计的快捷
11、与便利。第一章 FIR数字滤波器设计1.1 FIR数字滤波器数字滤波器在数字信号处理中属于预处理的部分,因而起着基础性的作用,数字滤波器包括IIR和FIR数字滤波器。数字滤波器具有精度高、稳定性好、灵活性强、不要求阻抗匹配,易于修改等特点。下面将首先介绍一下数字滤波器,然后重点讨论FIR数字滤波器的设计原理和结构。1.1.1 数字滤波器简介一个简单的数字滤波系统如图1-1所示。图中,x(t)为模拟信号,经过A/D转换器后变为一个有着先后顺序的数字序列x(n)。然后x(n)通过数字滤波系统H(z),即得到数字滤波器的输出y(n)。H(z)为该数字滤波系统的单位脉冲响应h(n)的Z变换,即: (1
12、-1)若h(n)为无限长序列,则得到的数字滤波器为IIR数字滤波器,又称递归滤波器;反之,若h(n)为有限长序列,则得到的数字滤波器为FIR滤波器,也称非递归滤波器。一个线形时不变因果滤波器可表示为: (1-2)其中N为h(n)的长度,即滤波器的长度。滤波器的阶数为N-1。图1-1 数字滤波系统 IIR滤波器主要是基于对模拟滤波器如巴特沃斯滤波器、椭圆滤波器等的幅频响应进行逼近,而其相频响应是非线性的。与IIR滤波器不同,FIR滤波器可以把相位特性设计成线性。这使得FIR数字滤波器在信号无失真传输、数据通信、图像传输与处理、语音信号处理等有线性相位要求的领域应用广泛。FIR滤波器的优点是软硬件
13、实现结构简单,不用考虑系统的稳定性问题;缺点是实现较高性能的频率响应需要较高的滤波器阶数。1.1.2 FIR数字滤波器由于线性相位FIR滤波器的广泛应用,本文将首先讨论一下如何实现线性相位FIR滤波器。由式(1-2)将代入,得到: (1-3)为复数,因此可以表示成如下形式: (1-4)式中,为实函数,称为幅度特性函数,为相位特性函数。 当满足: (1-5)为初始相位,为常数。该滤波器具有广义的线性相位,将(1-5)式变换为: (1-6)由(1-6)式可知, 不为常量。这样,当不同频率的信号通过该滤波器时,便会产生相位的失真。不过通常较小,相比来说小得多,由引起的相位失真可忽略不计。 在(1-5
14、)式中,当时,为常量,这时滤波器有严格的线性相位,即对于不同频率的信号,通过该滤波器都有恒定的延迟,而不产生相位的失真。 将式(1-3),(1-4),(1-5)联立,可得 (1-7a) (1-7b)将(1-7a)式除以(1-7b)式,消去 ,得到: =0 (1-8)当时,式(1-8)变为:=0 (1-9)观察可知,若关于求和区间中心奇对称,则(1-9)式成立。由于关于奇对称,令关于偶对称,则满足关于求和区间中心奇对称的要求,即(1-9)式成立。 当时,式(1-8)变为: (1-10)若关于奇对称,关于偶对称,则(1-10)式成立。 基于的对称不同和长度N的奇偶区别,线性相位FIR数字滤波器的幅
15、度频率特性有所不同,因而所实现的滤波器的功能有所不同,具体如表1-1所示。第三列为能够实现的滤波器的性能。表1-1 四种类型的线性相位滤波器I型N为奇数低通、带通、高通、带阻II型N为偶数低通、带通III型N为奇数带通IV型N为偶数带通、高通1.1.3 FIR数字滤波器的结构 根据FIR数字滤波器实现算法的不同,可以把FIR滤波器的结构划分为直接型、级联型、频率采样型和快速卷积型四种基本形式。本文主要讨论前两种结构。A 直接型结构由式子(1-2)可直接画出FIR数字滤波器的直接型结构,如图1-2所示。对于直接型结构来说,一个长度为N的FIR滤波器,每产生一个输出数据,要经过N次乘法,N-1次加
16、法。对于使用FPGA开发FIR数字滤波器,这样的结果显然不令人满意。图1-2 直接型结构于是本文做了一下改进,这种改进是基于线性相位的FIR数字滤波器的。以严格线性相位,N为偶数的FIR滤波器为例,如图1-3所示。图1-3 直接型的改进由于关于对称,我们可以将经过延时环节的位置关于对称的数据预先相加,然后可以再乘以相应的滤波器系数进行累加得到最终的输出结果。这样,每产生一个输出,经过次乘法,次加法,比原来减少次乘法。B 级联型结构对式子(1-2)进行因式分解,并将零点共轭的因式放在一起,这样产生了若干个一阶子式和二阶子式,将一阶子式看作二阶子式的一个特例,则系统函数可以表示为: (1-11)F
17、IR数字滤波器的级联型结构如图1-4所示。图1-4 级联型结构从图中可以看出,级联型结构每产生一个输出,需要次乘法,次加法。级联型的最大特点是可以分别独立调整每个子系统的零点之值,当需要精确控制滤波器的零点位置时,往往采用这种结构。1.2 FIR数字滤波器设计方法 FIR数字滤波器的设计方法主要有三种:时窗函数法、频率采样法和等波纹设计法。下面将分别讨论一下这三种方法的设计原理,然后给出设计步骤,最后在比较一下这三种方法的优缺点。1.2.1 时窗函数法 一个理想低通滤波器的幅频特性如图1-5所示。的表达式为 (1-11)图1-5 理想低通滤波器频谱图对进行离散时间傅里叶逆变换,得 (1-12)
18、是一个关于对称的无限长序列,是系统的单位脉冲响应,这说明系统是非因果的,在物理上不可实现。为了能够得到一个可实现的系统,可以将截取一部分,并顺序右移,使之成为一个因果的有限长序列。这种方法就好比在时域打开一个窗口一样,因而称为时窗法。可以预见,使用这种方法截取的序列越长,对理想的幅频特性逼近的越好。常见的时窗函数有矩形窗、汉宁窗、汉明窗、布莱克曼窗、凯塞窗等。矩形窗的表达式为:,为整数。当用矩形窗设计FIR滤波器时,所产生的频率响应,与理想滤波器的频率特性相比,在理想特性不连续点处附近形成了过渡带,并在过渡带两侧形成持续时间很长,逐渐衰减的波纹,即通带内产生了波动,而阻带内产生了余振,这种现象
19、称之为吉布斯(Gibbs)效应。吉布斯效应直接影响到滤波器的性能,因为通带内的波动会影响到滤波器的平稳性,阻带内的波动则影响阻带最小衰减。为了克服吉布斯效应,可以从两个方面着手:一是在频域,避免理想滤波器频谱中出现的跃变现象,把它改造成一条连续光滑的曲线,所用的方法是镶边法;二是在时间域,对截尾函数进行改造,也即设计出好的时窗函数。一个好的时窗函数的要求:A.主瓣宽度尽可能地小。B.旁瓣水平(振幅或能量)相对于主瓣来说也尽可能地小。但是这两个标准之间彼此是有矛盾的,即主瓣宽度越大,旁瓣水平才可能越低。因此实际上,我们只能在这两个标准之间作一权衡,针对具体问题,找出一个适当的时窗函数。五种窗函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA FIR 数字滤波器 设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4141502.html