基于FPGA的FIR滤波器设计与实现
- 格式:doc
- 大小:905.59 KB
- 文档页数:36
目录
引 言 ................................... 错误!未定义书签。
第一章 FPGA的设计流程 ................... 错误!未定义书签。
1.1 FPGA概述 ................................... 错误!未定义书签。
1.2 FPGA设计流程 ................................. 错误!未定义书签。
1.3硬件描述语言HDL(Hardware Description Language) 错误!未定义书签。
1.4 FPGA开发工具Quartus Ⅱ软件设计流程 ......... 错误!未定义书签。
第二章 有限冲激响应(FIR)滤波器的原理及设计 .... 错误!未定义书签。
2.1数字信号处理基础原理 .......................... 错误!未定义书签。
2.2 FIR滤波器背影知识 ........................... 错误!未定义书签。
2.3 FIR数字滤波器原理 ............................ 错误!未定义书签。
2.4 利用窗函数法设计FIR滤波器 ................... 错误!未定义书签。
第三章 FIR 数字滤波器的FPGA实现........... 错误!未定义书签。
3.1串行FIR滤波器原理 ............................ 错误!未定义书签。
3.2分布式算法基础 ................................ 错误!未定义书签。
3.3直接型FIR滤波器的原理结构图 .................. 错误!未定义书签。
3.4具有转置结构的FIR滤波器 ...................... 错误!未定义书签。
第四章 结论与总结 ......................... 错误!未定义书签。
谢 辞 ................................... 错误!未定义书签。
参考文献 ................................ 错误!未定义书签。
摘要:本论文课题是《基于FPGA的FIR滤波器设计与实现》 。数字滤波器是语音与图象处理、模式识别、雷达信号处理、频谱分析等应用中的一种基本的处理部件,它能满足滤波器对幅度和线性相位的严格要求,避免模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。有限冲激响应(FIR)滤波器能在设计任意幅频特性的同时保证严格的线性相位特性。因此在许多应用领域都显示了强大的生命力,具有重要应用意义。本文介绍了用VHDL实现线性相位FIR(有限长单位冲激响应)滤波器。提出了一种基于FPGA的FIR滤波器设计方案。介绍了基于FPGA的FIR滤波器的数字信号处理的算法设计,采用直接型和转置型的基本结构来设计,其运算效率明显提高,并结合先进的EDA软件进行高效的设计和实现,并给出了用Quartus Ⅱ运行的仿真结果。该设计对FPGA硬件资源的利用高效合理,用VHDL编程,在PFGA中实现了高采样率的FIR滤波器。
关键字:FIR滤波器;FPGA;VHDL;MATLAB;Quartus Ⅱ
Abstract: Digital filter is a fundamental device used in pronunciation
&pattern process, pattern-recognition, radar signal process
and spectral analysis. It can meet the high needs to range and
phase, and can avoid such problems as voltage drifting,
temperature drifting and noise that analogue filters cannot
overcome. FIR filter can assure a strict linear phase identity
while designing any range and frequency. Therefore, FIR filter
has shown its strong vitality in many fields and its importance
in using. In the paper, the way to use VHDL to design linear
phase FIR filter is introduced and its importance in using. In
the paper, the way to use VHDL to design linear phase FIR filter
is introduced and its designing thoughts are expounded. This
paper introduces the design scheme of FIR filter based on FPGA,
introduces that the design technology of FIR filter based on
FPGA about digital system processing arithmetic. FIR filter
adopts the basic structure of direct type, the result are
shifting and adding. Integrating advanced software of EDA to
design and achieve, and giving some emulator results. This
design makes high use of hardware resource about FPGA,
programming with VHDL language, achieving FIR filter with high
sampling level based on PDGA.
Keywords: Finite Impulse Response Digital Filter(FIR)、Field
Programmable Gate、 Array(FPGA)、VHDL、Quartus Ⅱ
引 言
在数字信号处理技术不断发展的今天,数字滤波器正在迅速地代替传统的模拟滤波器,所以有越来越多的人们在研究数字滤波器的结构以及其实现。在数字滤波器中,有限冲激响应(FIR)滤波器具有无限冲激响应(IIR)滤波器所没有的线性相位,所以本课题研究的就是FIR数字滤波器,主要讨论了它的结构以及实现的方法。
目前FIR滤波器的实现方法有3种:利用单片通用数字滤波器集成电路、DSP器件和可编程逻辑器件实现。单片通用数字滤波器使用方便,但由于字长和阶数的规格较少,不能完全满足实际需要;使用DSP器件实现虽然简单,但由于程序顺序执行,执行速度较慢。FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说,其并行性和可扩展性更好。本人毕业设计就是基于FPGA运用VHDL设计实现FIR 滤波器。
众所周知,Quartus Ⅱ是美国ALTERA公司自行开发的一种针对其公司生产的系列FPGA的设计、仿真、编程的工具软件,Quartus Ⅱ是FPGA应用软件中比较典型和常见的一种工具,在我国应用较为普遍。本设计就是用Quartus Ⅱ所支持的一种很常用的硬件描述语言(VHDL)来编程,并在Quartus Ⅱ上编译与仿真。
1 FPGA的设计流程
可编程逻辑器件(PLD, Programmable Logic Device)是厂家作为一种通用型器件生产的半定制电路,用户可以通过对器件编程实现使之实现所需要的逻辑功能.它的应用和发展不仅简化了电路设计,降低了成本,提高了系统的可靠性,而且给数字系统的设计方式带来了革命性的变化。
1.1 FPGA概述
1 简单PLD的基本结构
简单PLD包括PROM, PLA, PAL和GAL。其结构特点是由与阵列和或阵列组成,能有效地实现“积之和”形式的布尔逻辑函数。简单PLD的基本结构图如图2.1所示。图中与阵列和或阵列是电路的主体,主要用来实现组合逻辑函数。输入由缓冲器组成,它使输入信号具有足够的驱动能力并产生互补输入信号。输出电路可以提供不同的输出方式。
图1.1简单PLD的基本结构
2 现场可编程门阵列
FPGA是现场可编程门阵列(Field Programmable Gate Array)的简称,是20世纪80年代中期出现的高密度可编程逻辑器件。FPGA的出现是超大规模集成电路技术和计算机辅助设计技术发展的结果。FPGA器件集成度高、体积小,具有通过用户编程实现专门应用的功能。它允许电路设计者利用基于计算机的开发平台,经过设计输入、仿真、测试和校验,直到达到预期的结果。使用FPGA器件可以大大缩短系统的研制周期,减少资金投入。更为可贵的是,采用FPGA器件可以将原来的电路板级产品集成为芯片级产品,从而降低了功耗,提高了可靠性,同时还可以很方便地对设计进行在线修改。
FPGA一般由三种可编程电路和一个用于存放编程数据的SRAM组成,这三种可编程电路是:可编程逻辑块CLB、输入输出模块IOB和互连资源IR,其基本结构如图2.2所示。可编程逻辑块是实现逻辑功能的基本单元,它们通常规则地排列成一个阵列,散布于整个芯片;可编程输入/输出模块主要完成芯片上逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度的连线线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路。
FPGA的功能由逻辑结构的配置数据决定。工作时,这些配置数据存放在片内的SRAM或熔丝图上。基于SRAM的FPGA器件,在工作前需要从芯片外部加载配置数据,配置数据可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场编程。
1、可编程逻辑块(CLB)
CLB是FPGA的主要组成部分,是实现逻辑功能的基本单元。它主要由逻辑函数发生器、触发器、数据选择器等电路组成。CLB中有许多不同规格的数据选择器,分别用来选择触发器激励输入信号、时钟有效边沿、时钟能使信号以及输出信号。这些数据选择器的地址控制信号均由编程信息提供,从而实现所需的电路结构。
CLB中的逻辑函数发生器均为查找表结构,其工作原理类似于ROM。
2、输入/输出模块(IOB)
IOB提供了器件引脚和内部逻辑功能阵列之间的连接。它主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成,每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能。