基于FPGA的低通数字滤波器设计毕业论文
2020-06-30 21:13:35
摘 要
论文基于MATLAB和FPGA进行FIR数字低通滤波器的设计与实现。主要研究内容如下:
首先,分析了理想滤波器的相关原理。然后对FIR滤波器的原理进行了分析,得知其本质是进行一个乘累加运算,即本设计的任务是基于FPGA设计出这个乘累加运算。接着阐述了数字滤波器的各种结构,并在MATLAB仿真部分确定了所选用的结构;接下来进行了基于MATLAB的设计,对各种可行的方案进行了对比仿真,最后分析得出应该采用的设计方案并进行了功能验证;其次,设计用到了分布式算法(distributed arithmetic,DA)。在阐述了传统结构及其劣势之后阐述了分布式算法及其优势,分布式算法的明显优势是其中的查找表结构可以取代传统算法中的乘法器,并且实现查找表结构也是FPGA的独特功能。
滤波器的系数需要进行一些处理才能被FPGA调用,因此本文利用MATLAB完成了系数的提取与量化使其能被FPGA进行调用。这里对系数放大了512倍并进行取整处理,然后将这些系数导入Quartus以备使用。最后依据模块划分的设计方法,将基于FPGA的设计分成了四个模块,并采用VHDL语言完成了各个模块的设计,然后采用了Quartus软件进行程序设计与仿真。综合以上结果,验证了本设计的可行性。
关键词:FIR滤波器 MATLAB FPGA 分布式算法
Design of digital low pass filter based on FPGA
Abstract
The design and implementation of FIR digital low pass filter based on MATLAB and FPGA is presented in this paper. The main contents are as follows:
Firstly, the principle of ideal filter is analyzed. Then the principle of FIR filter is analyzed, and it is found that the essence is to carry on a multiplication and accumulation operation, that is, the task of this design is to design the multiplicative addition operation based on the FPGA. Then, the various structures of the digital filter are expounded, and the selected structure is determined in the MATLAB simulation part;Then the design based on MATLAB is carried out, and various feasible schemes are compared and simulated. Finally, the design scheme which should be adopted is analyzed and the function verification is carried out;Secondly, distributed arithmetic (DA) is used in design. After expounding the traditional structure and its disadvantages, this paper expounds the distributed algorithm and its advantages. The obvious advantage of the distributed algorithm is that the lookup table structure can replace the multiplier in the traditional algorithm, and the structure of the lookup table is also a unique function of the FPGA.
The coefficient of the filter needs to be processed to be called by the FPGA, so this article uses MATLAB to complete the extraction and quantization of the coefficients so that it can be called by the FPGA. Here the coefficients are magnified 512 times and processed, and these coefficients are imported into Quartus for use. Finally, according to the design method of module division, the design based on FPGA is divided into four modules, and the design of each module is completed with the VHDL language. Then the Quartus software is used to design and simulate the program. Based on the above results, the feasibility of the design is verified.
Keywords: FIR filter, MATLAB FPGA, distributed algorithm
目 录
摘 要……………………………………………………………………………I
Abstract……………………………………………………………………………II
目 录……………………………………………………………………………III
第一章、绪论 1
1.1课题研究背景与意义 1
1.2国内外研究现状 1
1.3 研究内容 2
1.4论文的主要内容和结构安排 2
第二章、 FIR数字滤波器理论研究 4
2.1相关理论知识介绍 4
2.1.1理想低通滤波器 4
2.1.2FIR数字滤波器的原理 4
2.1.3FIR滤波器的各种参数意义 5
2.2常用的滤波器设计方法 5
2.2.1频率采样法 6
2.2.2等波纹最佳逼近法 6
2.2.3窗函数法 7
2.3本章小结 8
第三章、FIR滤波器在MATLAB上的设计 9
3.1 FIR数字滤波器在MATLAB上的设计方法选择 9
3.1.1函数类型选择 9
3.1.2具体函数选择 9
3.2 MATLAB系统仿真 11
3.3滤波器功能验证 12
3.4 本章小结 13
第四章、分布式算法简介 14
4.1 FIR系统的基本网络结构 14
4.2分布式算法 14
4.3查找表结构 15
4.4本章小结 16
第五章、 FIR滤波器在FPGA上的设计 17
5.1滤波器系数确定、提取与量化 17
5.1.1参数确定与提取 17
5.1.2量化的具体过程 17
5.2模块划分 18
5.3输入模块 18
5.3.1模块设计方法 19
5.3.2模块元件图与仿真 19
5.3查找表模块 20
5.3.1模块设计方法 20
5.3.2模块元件图与仿真 21
5.4移位累加模块 22
5.4.1模块设计方法 22
5.4.2模块元件图与仿真 23
5.5控制模块 24
5.6本章小结 25
第六章、总结与展望 26
参考文献 27
致谢 28
附录 29
一、 系统顶层原理图 29
二、 FPGA中全模块代码 29
第一章、绪论
1.1课题研究背景与意义
说到信号人们往往容易与那些有着明显特征,没有任何噪声的波形画上等号。然而实际生活中往往是各种各样的信号杂乱无章的混叠在一起。因此,人们需要一个系统来提取出所需要的信号。数字信号处理系统中的滤波器便是出于这种需求而被发明。滤波器系统可以根据人们设定的不同的需求,来提取出所需时域以及频域特性的信号,并尽量减少干扰信号所占的比重。滤波器分为模拟滤波器与数字滤波器两种,一般来说,数字滤波器的性能要全面优于模拟滤波器,因此本文对数字滤波器展开了研究。通常可以采用乘法器和加法器以及延时单元来完成对整个数字滤波器系统的设计。
设计滤波器有很多平台以供选用,甚至还可以多个平台联合使用。本文用到的MATLAB和FPGA就是这些工具中的其中两个,并且本文利用了MATLAB辅助了FPGA上的设计。滤波器的设计方法也不拘泥于根据原本的乘累加运算设计相应的模块,而是对滤波器的差分方程进行适当的恒等变形,例如分布式算法(Distributed Algorithm,DA)就是这些算法中很突出的一个。基于DA的FPGA滤波器相比传统的设计方法运算速度要快,占用资源要更少,也是当今设计FIR数字滤波器的一种很流行的方法。
相关图片展示: