基于FPGA的数字滤波设计毕业论文
2020-04-09 15:24:48
摘 要
本文基于FPGA(Field-Programmable Gate Array,FPGA)对数字滤波进行设计。数字技术在快速发展,滤波器已经成为人们在进行信号处理与通信时不可缺的器件,同时滤波器随着电子工业技术的的高速发展已经从模拟滤波器时代向数字滤波器时代转变。而有限脉冲响应(Finite Impulse Response,FIR)数字滤波器因其可以设计成任意幅频特性,同时保证精确、严格的线性相位特征,而成为数字信号处理系统中最常用、最重要的滤波器之一。
论文主要研究了FPGA的数字滤波设计,从滤波器的原理、参数特性、图形特性等方面,全面了解了滤波器的相关知识。FIR滤波器是数字滤波器中最常见,同时也是使用最为广泛的一种滤波器。本论文设计了32阶的FIR的低通滤波器,首先通过MATLAB 的FDATOOL工具得出滤波器的系统函数、幅频响应、相频响应、冲击响应以及零极点分布图,设计出滤波器的滤波系数,然后通过FPGA相关仿真软件,Quartus II编写程序和原理图,经过RTL Simulation转到Modelsim里仿真,最后达到滤波效果,实现了FIR低通滤波器。
研究结果表明:FIR低通滤波器完成了对高频的杂波的滤除,留下了低频有用的信号。对于图像处理、模式识别有着积极有益的作用。
本文的特色:充分利用MATLAB 及RTL Simulaition的仿真,减少了硬件资源的占用和浪费,对于FIR滤波器的研究有着重要的意义。
关键词: FIR数字滤波器、FPGA器件、MATLAB、Modelsim 仿真
Abstract
This paper designs the digital filter based on FPGA (Field-Programmable Gate Array, FPGA). With the rapid development of digital technology, filters have become an indispensable device for people to perform signal processing and communication. At the same time, filters have changed from the analog filter era to the digital filter era with the rapid development of electronic industry technology. The Finite Impulse Response (FIR) digital filter can be designed as an arbitrary amplitude-frequency characteristic while ensuring accurate and strict linear phase characteristics, and becomes the most commonly used and one of the most important filter in a digital signal processing system.
The paper mainly studies the digital filter design of FPGA, and comprehensively understands the related knowledge of the filter from the aspects of filter principle, parameter characteristics, and graph characteristics. FIR filters are the most common digital filters, and they are also the most widely used ones. In this dissertation, a 32-order FIR low-pass filter is designed. Firstly, the filter's system function, amplitude-frequency response, phase-frequency response, impulse response, and pole-zero distribution diagram are obtained by FDA's FDA TOOL tool. The filtering of the filter is designed. Coefficients, then through FPGA-related simulation software, Quartus II programming procedures and schematics, after RTL Simulation go to Modelsim simulation, and finally achieve the filtering effect, to achieve a FIR low-pass filter.
The result of the research shows that the FIR low-pass filter completes the filtering of the high-frequency clutter, leaving a low-frequency useful signal. For image processing, pattern recognition has a positive and beneficial role.
The characteristics of this paper: Make full use of the simulation of MATLAB and RTL Simulaition to reduce the occupation and waste of hardware resources. It is of great significance to the study of FIR filters.
Keywords: FIR digital filter, FPGA device, MATLAB, Modelsim simulation
目 录
第1章 绪论 1
1.1 本课题研究意义 1
1.2 国内外研究现状 1
1.3 研究思路 2
1.4 应用软件 2
1.4.1 MATLAB 简介 2
1.4.2 FPGA简介 3
1.4.3 Quartus II 简介 4
1.4.4 Modelsim简介 4
第2章 FIR数字滤波器设计原理 6
2.1 滤波器概述 6
2.1.1 滤波器简介 6
2.1.2 数字滤波器的分类 7
2.1.3 滤波器的特征参数 8
2.2 滤波电路设计 9
2.2.1 低通滤波器 9
2.2.2 高通滤波器 10
2.2.3 带通滤波器 12
2.3 FIR 滤波器的理论基础 13
2.4 FIR 滤波器的结构形式 14
2.4.1 直接型 14
2.4.2 级联型 14
2.4.3 线性相位型结构 15
2.4.4 频率采样型 15
2.5 FIR 滤波器的设计方法 16
2.5.1 窗函数法 16
2.5.2 频率取样法 17
2.5.3 最优设计方法 17
第3章 FIR 数字滤波器的设计与仿真 19
3.1 FIR 滤波器的MATLAB 设计 19
3.2 FIR 滤波器的FPGA设计 20
3.2.1 FIR滤波器总体设计 20
3.3 系统综合仿真 23
第4章 综合仿真与对比验证 24
4.1 MATLAB仿真 24
4.1.1 FDATOOL仿真 24
4.1.2 FIR滤波器的系数的提取及量化 26
4.2 Quartus II 设计及Modelsim仿真 27
第5章 总结与展望 30
5.1 论文总结 30
5.2 下一步研究工作 30
参考文献 31
致谢 32
第1章 绪论
1.1 本课题研究意义
随着社会的不断进步,科学技术水平不断提高,几乎所有工程领域都涉及信号,包括电磁、机械、声光、生物等各式各样的信号。而这些信号往往都是交错在一起的,因此就需要从这些重叠信号中提取出有用的信号信息,信号处理系统便实现了这个功能。20世纪60年代以来,数字信号处理(Digital Signal Processing, DSP)得到迅速发展,理论和框架逐渐趋于成熟,到现在已发展成为一门独立的数字信号处理学科。DSP技术已广泛应用于科学技术和生产生活的各个领域中,如语音处理、图像处理、频谱分析等。随着这一技术的不断飞跃,它日益影响人们的日常生活[1]。
数字信号处理系统中的滤波器可以根据所需要的信号的时域和频域特性来判断哪些信号是有用的,哪些信号是干扰信号,然后尽量减少干扰信号在有用信号中的比例。常见的滤波器有模拟滤波器和数字滤波器两类,经过多年实践发现,数字滤波器具有更高的精度和信噪比,其可靠性也不是模拟滤波器可以比拟的。数字滤波器在数字信号处理中占有重要的地位,它涉及的领域也很广[2]。数字滤波器的好坏对工程领域的影响极大,一个优良的数字滤波器对推动工程技术领域的改造和学科发展,因此,对数字滤波器的工作原理、硬件结构和实现方法的研究有一定的价值意义。
从实现的网络结构或者单位脉冲响应来看,数字滤波器可以分成无限脉冲响应(Infinite-Impulse Response, IIR)滤波器和有限脉冲FIR滤波器,二者的根本区别在于两者的系统函数结构不同。两种不同类型的滤波器各有优势,在对不同要求的工程中,可以依照功能对比选取合适的滤波器[3]。相比之下,IIR滤波器因其不具备线性相位使其滤波效果不如FIR滤波器,再考虑到稳定性问题,FIR 滤波器具有可以在设计任何幅频特性的同时,保持严格的线性相位,保证信号在传输过程中不会产生失真的优点,从而被广泛应用于语音图像处理,模式识别等领域中。
1.2 国内外研究现状
在国内外的研究中,设计滤波器所涉及的乘法运算方式有并行乘法、位串行乘法和采用分布式算法的乘法。
研究人员不断对FIR数字滤波器系统进行研究主要是为了提高系统的处理速度、减少硬件资源浪费以及增强系统的稳定性,数字滤波器系统中最重要的一部分就是乘—累加(Multiply- accumulate, MAC)运算。因此,如何对MAC运算进行优化也成为了今后研究的新方向。近年来,国内外学者对该系统进行了深入的研究,通过对大量文献资料的阅读发现,研究人员采取了许多不同的改进措施来提高MAC的运算性能[4]。
近半个世纪以来,滤波器设计的基本理论一直没改变,对现在的技术来说只有一种实现方法,比如无源LCR滤波器、有源RC滤波器、数字滤波器、及开关电容滤波器,从技术指标要求到实际设计的第一步,都站在前辈们的肩膀上。此后,后人们在前背们的基础上提出了多种优化方法。
作为嵌入式系统的基础元件之一,FPGA的面貌正日新月异:逻辑单元不断增加、单位成本和功耗不断降低,而根本的设计灵活性和快速转换能力却始终未变。在变与不变的共同推动下,FPGA的价值发生了变化,它已从纯粹的建模工具发展成为适合中小批量生产的应用器件,而其应用也从早期的嵌入式通信系统扩展到了低成本的消费电子。现在FPGA已经发展到可以利用硬件乘加器、片内储存器、逻辑单元、流水处理技术等特有的硬件结构,高速完成FFT、FIR、复数乘加、卷积、三角函数以及矩阵运算等数字信号处理。这样可以使得设计FIR数字滤波器的技术更加成熟、稳定[5]。
1.3 研究思路
通过对目前数字滤波器的几种实现方法的简单分析,本文认为FPGA的数字滤波器具有线性相位等许多优点,于是选择了基FPGA的数字滤波器作为主要研究内容,通常滤波器在进行数据处理时用到了卷积运算,这也是本文设计的主要思路。设计初期在MATLAB下对滤波器的系数进行了计算和分析包括(量化前后的零极点分析、时域和频域分析等);然后根据FIR数字滤波器的多种理论设计思想和滤波实现方法,在Quartus II上进行具体的设计;最后在FPGA上进行调试、分析、改进,直至系统功能正确。
1.4 应用软件
1.4.1 MATLAB 简介
MAIIAB是由美Matwots公用发布的主要面对科学计算可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran) 的编辑模式,代表了当今国际科学计算软件的先进水平。它在数学类科技应用软件中的数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、链接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域[6]。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C Frtan等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中还加入了对C、Frtan CH、Java等语言的支持。用户可以直接调用,也可以将自己编写的实用程序导入到MATI AB的数库中方使自己以后调用,此外许多的MAIAB爱好者都编写了一些经典的程序,用户可以直接下载就可以使用。
1.4.2 FPGA简介
随着数字集成电路的发展,越来越多的模拟电路逐渐被数字电路取代,同时数字集成电路本身也在不断地进行更新换代。[7] 它由早期的电子管、晶体管、中小规模集成电路发展到超大规模集成电路(Very Large Scale Integrated Circuit, VLSIC),以及许多具有特定功能的专用集成电路(Application Specific Integrated Circuit, ASIC)。 但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。电子工程设计师们更愿意自己设计专用集成电路芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了可编程逻辑器件( Programmable Logic Device, PLD),其中应用最广泛的即为现场可编程门阵列(Field Programmable Gate Array, FPGA)和复杂课编程逻辑器件 (Complex Programmable Logic Device, CPLD)。PLD的主要特点是芯片或器件的功能完全由用户通过特定软件编程控制,并完成相应功能,并且可反复擦写。这样,用户在用PLD设计好印制电路板(Print Circuit Board, PCB)后,只要预先安排好PLD引脚的硬件连接,即可只通过软件编程的方式灵活改变芯片功能,从而达到改变整块PCB功能的目的。这种方法不需对PCB进行任何更改,从而大大了缩短产品的开发周期和成本。也就是说,由于使用了PLD进行设计,硬件设计已部分实现了软件化。随着生产工艺的不断革新,高密度、超大规模FPGA/CPLD器件越来越多地在电子信息类产品设计中得到应用,同时由于DSP (Digital Signal Processing,数字信号处理)、ARM (Advanced RISC Machines)与FPGA技术相互融合,在数字信号处理等领域,已出现了具有较强通用性的硬件平台,核心硬件设计工作正逐渐演变为软件设计[7]。
现代信号处理技术的实现平台主要有ASCI、DSP、CPU及FPGA四种,FPGA可谓高度并行或涉及线性处理的告诉信号处理功能提供的可编程解决方案。
1.4.3 Quartus II 简介
Quartus II 是Altera公司的综合性CPLD/FPGA开发软件,原理图、VHDL、Verilog HDL以及AHDL(Altera Hardware 支持Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器可以完成从设计输入到硬件配置的完整PLD设计流程。
Quartus II可以在Windows、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。
Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在Quartus II 中包含了许多诸如Signal Tap II、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎[8]。
1.4.4 Modelsim简介
Mentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。ModelSim有几种不同的版本:SE、PE、LE和OEM,其中SE是最高级的版本,而集成在 Actel、Atmel、Altera、Xilinx以及Lattice等FPGA厂商设计工具中的均是其OEM版本。
SE版和OEM版在功能和性能方面有较大差别,比如对于大家都关心的仿真速度问题,以Xilinx公司提供的OEM版本ModelSim XE为例,对于代码少于40000行的设计,ModelSim SE 比ModelSim XE要快10倍;对于代码超过40000行的设计,ModelSim SE要比ModelSim XE快近40倍。ModelSim SE支持PC、UNIX和LINUX混合平台;提供全面完善以及高性能的验证功能;全面支持业界广泛的标准;Mentor Graphics公司提供业界最好的技术支持与服务。
第2章 FIR数字滤波器设计原理
2.1 滤波器概述
2.1.1 滤波器简介
滤波器是种用来减少或消除干扰的电气部件,其功能是将输入信号进行过滤处理得到所需的信号。滤波器最常见的用法是对特定频率的频点或该频点以外的频率信号进行有效滤除,从而实现消除干扰、获取某特定频率信号的功能。种更广 泛的定义是将凡是有能力进行信号处理的装置都称为滤波器。在现代电子设备和各类控制系统中,滤被器的应用极为广泛,其性能优劣在很大程度上直接决定了产品的优劣。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: