基于FPGA的FIR滤波器设计资料.pdf
《基于FPGA的FIR滤波器设计资料.pdf》由会员分享,可在线阅读,更多相关《基于FPGA的FIR滤波器设计资料.pdf(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 本科生毕业论文(设计)题目:基于 FPGA 的 FIR 滤波器设计 学 院 电子信息工程学院 学科门类 工 学 专 业 电子信息工程 学 号 姓 名 指导教师 2015 年 05 月 06 日 摘 要 随着数字技术的发展,数字滤波器广泛应用于语音与图像处理、模式识别、雷达信号处理、频谱分析等领域,它具有精度高、灵活性大等突出特点,而现场可编程门阵列器件(FPGA)有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,通过FPGA实现FIR数字滤波具有实时性高、处理速度快、精度高的特点。本文研究的是基于FPGA实现一个16阶的FIR数字低通滤波器的设计。本次设计首先利用MATLA
2、B中滤波器设计工具FDAtool工具设计FIR滤波器系数,再利用Matlab中的Simulink库文件下的DSP Builder库中的各个模块搭建FIR滤波器系统,然后在Simulink里进行了仿真,并编译生成VHDL语言,再通过Quartus II软件对生成的VHDL程序进行编译和仿真,并利用Matlab对仿真结果进行了分析,证明所设计的FIR滤波器功能的正确性,最后通过硬件实现时。本次硬件设计中,采用Altera公司的FPGA器件作为核心器件,此外,由于整个系统的输入输出全部是数字信号,因此需要添加AD(模数)转换模块和DA(数模)转换模块。关键词:FPGA;FIR滤波器;FDAtool;
3、Simulink;VHDL Abstract With the rapid development of digital technology,digital filter had widely used in voice and image processing and model recognizing and radar signal processing and frequency analysis filed and so on.It is very precise and flexible.There are regular logical array and rich wire
4、resource in FPGA.It is very suitable for digital signal processing.And it is very good for designing digital filter by using FPGA.In this paper,this design is the 16 order FIR low-pass filter based on FPGA.First,we use FDAtool to design the value of filter.Then,we build up the filter system by using
5、 DSP Builder.And then we simulate this system to verify it s validity.During the hardware design,what we use core device is from Altera company.In addition,we need add AD and DA model for the system because the input and output of this system is digital signal.Key Words:FPGA;FIR filter;FDAtool;Simul
6、ink;VHDL 目 录 摘要.I Abstract.II 1.引言.1 1.1 研究背景及意义.1 1.2 国内外研究现状.1 1.3 本论文的研究内容及主要工作.2 2.FIR 数字滤波器设计.2 2.1 数字滤波器基础.2 2.1.1 FIR 滤波器简介.2 2.1.2 FIR 数字滤波器的结构.3 2.2 FIR 数字滤波器设计方法.4 2.2.1 窗函数法.4 2.2.2 频率采样法.5 2.2.3 等波纹最佳逼近法.6 3.基于 FPGA 的 FIR 滤波器设计.7 3.1 基于 Matlab 的 FIR 数字低通滤波器抽头系数的提取.7 3.1.1 基于 Matlab 的 FIR
7、 滤波器系数计算.7 3.2 DSP Builder 搭建 FIR 模型.12 3.2.1 DSP Builder 及其设计流程.12 3.2 利用 DSP Builder 设计 FIR 滤波器.12 3.2.1 简单 3 阶常系数 FIR 滤波器的设计.13 3.2.2 16 阶 FIR 滤波器的设计.16 4.FIR 滤波器的硬件实现.19 4.1 系统硬件.19 4.2 硬件调试.23 4.3 数据误差分析.25 5.总结.26 参考文献.27 致谢.28 1.引言 滤波技术是非常重要的一门技术,它在信号的分析和处理过程中都是必不可少的部分。而当今由于数字信号的发展,使得滤波技术更是得到
8、进一步发展,也就产生了数字滤波器,数字滤波器是现代信号处理研究和发展不可或缺的因素,数字滤波器相对模拟滤波器精度高,灵活性大,可靠性好等优点1。此外,由于数字信号的发展,它不仅能够处理数字信号,而且能够处理模拟信号。在处理模拟信号时,可以通过 AD 和 DA 转换,在信号形式上进行匹配,也就达到了数字滤波器对模拟信号的滤波的功能。1.1 研究背景及意义 在现代通信信号处理领域中,随着各种精密计算和快速计算的发展对信号处理的实时性、快速性的要求越来越高。以往的模拟滤波器无法克服电压漂移、温度漂移和噪声等问题,从而带来了许多误差和不稳定因素。而数字滤波器具有稳定性高、精度高、设计灵活、实现方便等突
9、出优点。随着数字技术的发展,数字滤波器广泛应用于语音与图像处理、模式识别、雷达信号处理、频谱分析等领域,它有精度高、灵活性大等突出特点。FPGA 元器件在高速并行处理和数据传输中有独特优势,FPGA 正在前端信号处理中越来越多地代替 ASIC 和 DSP。我们需要的就是这种设计周期短,功能密度高,重组时间短的元器件2。1.2 国内外研究现状 在国内外的研究中,FIR 滤波器设计中的乘法算法有并行乘法、串行乘法和采用分布式算法的乘法3。其中,分布式算法既可以全并行实现,又可以全串行实现,还可以串并行结合实现,因此是当今研究的主要方法。实现 FIR 滤波器,主要有软件实现和硬件两种方法来实现。软件
10、实现方法也就是在计算机上通过编程来实现,这种方式简单,可移植性高。硬件实现即是设计专门的数字滤波硬件来实现滤波,可以使用 DSP 处理器实现,也可以采用固定功能的专用信号处理器来实现。但是在当今,由于大规模集成电路的发展,使可编程的集成电路成为一种新的方案,采用现场可编程门阵列 FPGA 来实现 FIR 数字滤波器,可以利用 FPGA 设计的产品具有规模小、速度快、重量轻、可靠性高、成本低等优点,既能兼顾 ASIC 器件的实时性、又具有 DSP 处理器的灵活性。1.3 本论文的研究内容及主要工作 本论文研究的是 FIR 低通数字滤波器的研究与设计以及硬件实现的方法,具体内容分为五节:第一部分引
11、言主要介绍了本课题的背景及研究意义、国内外现状。第二部分主要介绍了 FIR 数字滤波器的简介以及线性相位 FIR 滤波器的结构和设计方法。第三部分首先介绍如何利用 Matlab 制定设计指标,提取 16 阶 FIR 低通数字滤波器的抽头数并进行量化,然后利用 DSP Builder 设计滤波器模型,最后生成 VHDL 语言并利用Quartus II 软件进行综合系统仿真和验证。第四部分主要介绍 AD(模数)和 DA(数模)转换部分电路和原理,以及如何利用硬件实现 FIR 滤波器。第五部分总结本次设计。2.FIR 数字滤波器设计 2.1 数字滤波器基础 所谓数字滤波器,是指输入、输出均为数字信号
12、,通过数值运算来滤除某些频率成分的数字滤波器件或者程序。数字滤波器按照不同的分类方法有许多种类,但总的可以分为两大类:经典滤波器和现代滤波器。本文做研究的属于经典滤波器范畴,经典滤波器从滤波特性上可分为低通、高通、带通、带阻等滤波器。数字滤波器从实现的网络结构或者从单位脉冲响应长度分类,可以分为无限长单位脉冲响应(IIR)滤波器和有限长单位脉冲响应(FIR)滤波器4。2.1.1 FIR 滤波器简介 FIR 是 Finite Impulse Response 是缩写,是指有限长脉冲响应,也即指经过 FIR 系统的单位脉冲响应是一个有限长的序列,H(z)为该数字滤波系统的单位脉冲响应 h(n)的
13、Z 变换,即:nnznhzH)()((2-1)若 h(n)为无限长序列,则得到的数字滤波器为 IIR 数字滤波器,又称递归滤波器;反之,若 h(n)为有限长序列,则得到的数字滤波器为 FIR 滤波器,也称非递归滤波器。一个线形时不变因果滤波器可表示为:10)()(NnnznhzH (2-2)其中 N 为 h(n)的长度,即滤波器的长度。FIR 滤波器可以把相位特性设计成线性,因此,FIR 数字滤波器在信号无失真传输、数据通信、图像传输与处理、语音信号处理等有线性相位要求的领域应用广泛。2.1.2 FIR 数字滤波器的结构 由于 FIR 数字滤波器实现算法的不同,我们可以把 FIR 滤波器的结构
14、划分为直接型、级联型、频率采样型和快速卷积型四种基本形式6。(1)直接型 按照)(zH或者卷积公式直接可以画出结构图如图 2-1 所示,这种结构我们称之为直接型结构网络或者卷积型结构。这是一种最简单的 FIR 滤波器结构,即方便理解,也方便搭建其模型。h(0)h(1)h(2)h(N-2)h(N-1)1z1z1zy(n)图 2-1 直接型结构(2)级联型 对)(zH进行因式分解,并将共轭成对的零点放在一起,形成一个系数为实数的二阶形式。FIR 数字滤波器的级联型结构如图 2-2 所示。其系统函数)(zH可以表示为:LlzazahzH1212111)1()0()((2-3)x(n)1z1z1z1z
15、1z1z112112221L2Lh(0)y(n)图 2-2 级联型结构 级联型的最大特点是可以分别独立调整每个子系统的零点之值,当需要精确控制滤波器的零点位置时,往往采用这种结构。2.2 FIR 数字滤波器设计方法 FIR 数字滤波器的设计方法主要有三种:窗函数法、频率采样法和等波纹逼近法6。2.2.1 窗函数法 一个理想低通滤波器的幅频特性如图 2-3 所示。)(jwdeH的表达式为:1,()0,cjwdcwwHeww (2-4)w)(jwdeHcwcw 图 2-3 理想低通滤波器频谱图 对)(jwdeH进行离散时间傅里叶逆变换,得:dweeHnhjwnjwdd)(21)(ccwwcjwnn
16、nwdwe)sin(21 (2-5)由于该系统是非因果的,为了能够得到一个可实现的系统,可以将)(nhd截取一部分,并顺序右移,使之成为一个因果的有限长序列。这种方法就好比在时域打开一个窗口一样,因而称为窗函数法。常见的时窗函数有矩形窗、汉宁窗、汉明窗、布莱克曼窗、凯塞窗等7,常见的六种窗函数特性如表 2-1 所示。表 2-1 六种窗函数参数表的比较 窗函数 窗谱性能指标 加窗后滤波器性能指标 旁瓣峰值/db 主瓣宽度/(2/N)过滤宽度/(2/N)阻带最小衰减/db 矩形窗-13 2 0.9-21 巴特列特-25 4 2.1-25 汉宁窗-31 4 3.1-44 海明窗-41 4 3.3-5
17、3 布拉克曼窗-57 6 5.5-74 凯泽窗-57 5-80 2.2.2 频率采样法 频率采样法是一种基于频率域抽样来逼近所要设计的FIR 滤波器的频率特性的一种方法9。频率设计法的基本设计流程如图 2-4 所示。)(jwdeH确定2/()()jNddHeHk()()dh nIDFT Hn()()H zZT h n抽样N点离散傅里叶逆变换 图 2-4 频率设计法流程 为了保证)(zH具有线性相位条件,其单位采样响应)(nh是实序列,且满足条件)1()(nNhnh。对于)(nh偶对称的情况来说,线性相位条件如下:)()()(wjgjwdewHeH (2-6)wNw)1(21)((2-7)令Nk
18、w/2代入式(2-6)、(2-7),得到)()()(kjgdekHkH (2-8)式中,NkwggwHkH/2|)()(,Nkwwk/2|)()(,)()(kNHkHgg,N 为奇数 )()(kNHkHgg,N 为偶数。过渡带的采样点个数m与所设计的滤波器的阻带最小衰减s有关,具体如表2-2所示。此外过渡带的带宽与采样点数 m 之间的关系为:NmB/)1(2 (2-9)表 2-2 过渡带采样点数与阻带最小衰减的关系 m 1 2 3 4 s/dB 20 44-54 65-75 85-95 2.2.3 等波纹最佳逼近法 等波纹最佳逼近法是根据最大误差最小化的设计原则。等波纹逼近法所设计的 FIR
19、滤波器的幅度特性在通带和阻带范围内是等波纹的,且可以分别独立控制通带和阻带的波纹幅度,并且在滤波器长度给定的情况下,加权的幅度波纹误差最小10。定义加权幅度误差函数为:)()()()(wHwHwWwed (2-10)式中)(wW为幅度误差加权函数,用来控制不同频带的幅度逼近误差。一般地,在要求逼近精度高的频带,)(wW取值大,而要求逼近误差精度低的频带,)(wW取值小。对于 FIR数字低通滤波器,常取:wwkwwkwWpp,0,/)(12 (2-11)式中,1和2分别为滤波器设计指标中通带和阻带的振荡波纹幅度,k 为正的系数。滤波器的通带最大衰减p和阻带最小衰减s与通带和阻带的振荡波纹幅度1和
20、2的换算关系为:11011020/20/1pp (2-12)20/210s (2-13)在等波纹逼近法的设计中,如果能够找到滤波器的系数)(nh使得在通带,0pw和阻带 ,sw频带内的最大绝对值幅度误差)(we为最小,就能够很好的实现滤波器的设计,而找到该系数的算法就是基于交替定理的雷米兹交替算法。3.基于 FPGA 的 FIR 滤波器设计 本章为全文的核心内容,首先确定基于 Matlab 的 FIR 数字低通滤波器的指标系数,再利用 DSP Builder 搭建 FIR 滤波器结构,编译生成 VHDL 硬件语言进行仿真,最后实现硬件系统以及硬件测试。使用 FPGA 器件设计数字电路,不仅使得
21、电路简化,而且可以减少所设计系统的体积,增加系统的可靠性,从而较少开发费用。它们无需花费大量时间和精力,避免了投资风险,成为电子器件行业中发展最快的一个系列11。3.1 基于 Matlab 的 FIR 数字低通滤波器抽头系数的提取 FIR 滤波器的系数也即 FIR 滤波器系统的冲击响应系数,想要得到 FIR 滤波器系数可以利用 Matlab 中的 FDAtool 工具进行设计,然后搭建 MatlabFIR 滤波器系统进行仿真。3.1.1 基于 Matlab 的 FIR 滤波器系数计算 在 Matlab 命令编辑窗口输入 FdAtool 指令,再点回车即可打开 Filter Design&Ana
22、lysis Tool 窗口。Fdatoold 的界面有两大部分,一部分是 Design filter,这部分可以设置滤波器的各种参数,另一部分是滤波器的特性区,这部分可以显示滤波器的各种特性图12。Design filter 部分主要分为:(1)Response Type(响应类型)选项:Response Type 选项包括 Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)和特殊的滤波器。在本次设计中,该选项中选择 Lowpass 选项。(2)Design Method(设计方法)选项:Design Method选项包括 IIR 滤波器和 F
23、IR 滤波器,本次设计的是 FIR 滤波器,而设计该滤波器使用方法是窗函数法,因此,我们选择 FIR 滤波器的 Window 窗函数法进行设计。选定窗函数法后,会在右侧出现 Options 区域,这部分区域是用来设置窗函数的相关参数,其中窗函数的类型选择 Kaiser 窗,并设置 Beta 为:0.5。(3)Filter Order(滤波器阶数)选项:Filter Order 选项是定义滤波器的阶数,包括 Specify order 和 Minimum order。Specify order 是指滤波器的阶数(specify ordern-1,n 为滤波器阶数),本次设计是 16 阶滤波器,所
24、以选定 Specify order 并填入 15。(4)Frequency Specifications(频率定义)选项:Frequency Specifications 选项主要包括采样频率 Fs 和通带频率以及截止频率。由于我们所设计的是低通滤波器,因此我们不需要通带频率这个参数,这里的采样频率 Fs 我们填为 80KHz,截止频率填为 Fc=5KHz。图 3-1 FDAtool 工具 上述的参数设计结束后,点击 Design Filter 按钮,就可以把我们所需要的 FIR 滤波器的参数计算出来。并且在 FDAtool 特性区可以看到所设计的滤波器的响应特性,如幅频响应(如图 3-2)、
25、相频响应(如图 3-3)、冲激响应(如图 3-4)等等其他响应特性图。该滤波器各特性图如下:图 3-2 幅频响应曲线 图 3-3 相频响应曲线 图 3-4 冲激响应 然后,我们可以把刚刚设计好的滤波器系数进行导出,我们选择 Export 打开 Export对话框(如图 3-5),然后可将设计好的滤波器系数导出来,我们可以通过 Command Window查看该系数。图 3-5 冲激系数及其输出对话框 在 Command Window 命令编辑区输入 Num 可得到 FDAtool 工具的计算结果,结果如 图 3-6 所示。图 3-6 输出在 Matlab 的冲激系数 由于 FDAtool 工具
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA FIR 滤波器 设计 资料
限制150内