基于FPGA的FIR滤波器的程序设计
- 格式:docx
- 大小:1.05 MB
- 文档页数:31
基于FPGA的FIR滤波器的程序设计摘要本设计利用MATLAB软件中Matlab FDA tool设计一个FIR低通滤波器,导出所设计滤波器的系数,再利用QuartusⅡ软件,Verilog语言编写程序。
程序设计完成后在quartusII中实现功能仿真。
线性相位是FIR数字滤波器设计中的一个重要条件。
线性相位FIR滤波器的设计方法主要包括时窗函数法、频率采样法、等波纹最佳逼近法。
本文基于MATLAB软件,分别用这三种方法设计FIR低通滤波器,并进行比较分析。
为了验证FIR滤波器的性能,EDA技术的发展和大规模可编程逻辑器件的应用,使得数字信号处理借助于FPGA实现变为可能。
为了实现这一目标,本文讨论了FPGA器件的结构、特点和分布式算法实现FIR滤波器的可行性,然后给出了基于并行分布式算法的FIR滤波器的VHDL描述,最后借助于EDA软件QUARTUSII进行了综合和仿真,并取得了成功。
在现代通信领域中,FIR数字滤波器以其良好的线性特性被广泛使用,属于数字信号处理的基本模块之一。
在实践中,往往要求对信号处理有实时性和灵活性,而已有的一些软件和硬件的实现方式则难以同时到达这两方面的要求。
随着可编程逻辑器件和EDA技术的发展,使用FPGA来实现FIR滤波器,既具有实时性,又兼顾了一定的灵活性,越来越多的电子工程师采用FPGA器件来实现FIR滤波器。
关键词线性相位/分布式算法/DSP Builder /FIR数字滤波器1 绪论1.1 课题的目的和意义在当今的生活中,身边的工程技术领域越来越受到关注。
其中的通信领域所涉及到的各种信号更是重中之重。
如何在较强的背景的噪声下和干扰的信号下有效提炼出真正的有用信号并将其真正运用到实际的工程中,这正是信号处理要解决的问题。
上世纪60年代,数字信号处理在理论层上发展迅猛。
其体系和框架逐渐成熟,如今,数字信号处理已经成为一门完整的学科。
其涉及到许多学科而又广泛应用于许多领域,20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。
而数字滤波器在这门学科中占有很重要的地位。
数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号要求的输出离散时间信号的转换为所特定功能装置)。
应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。
数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。
为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。
数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。
数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。
它涉及到的领域很广,如通信系统,系统控制,生物医学工程,机械振动,遥感遥测,地质勘探,故障检测,电力系统,航空航天,自动化仪器等。
数字滤波器的好坏对相关的众多工程技术领域影响很大,一个好的数字滤波器会有效的推动众多的工程技术领域改造和学科发展。
所以对数字滤波器的工作原理,硬件结构和实现方法进行研究具有一定的意义。
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB (Input Output Block)和内部连线(Interconnect)三个部分。
现场可编程门阵列(FPGA)是可编程器件。
与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA 具有不同的结构,FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了即可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。
FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能, FPGA允许无限次的编程.1.2 FPGA技术的发展及应用FPGA正处于高速发展时期,新型芯片的规模越大,成本也越来越低,低端的FPGA 已逐步取代了传统的数字元件,高端的FPGA将会成为今后竞争的主流。
自1985年问世以来,FPGA从集成电路与系统家族一个不起眼的小角色逐渐成为电子设计领域的重要器件。
它极大地提高了设计灵活性并缩短了产品上市时间,在通信、工业控制、航空领域中广泛应用。
FPGA行业集中度很高,几家美国公司掌握着行业的“制空权”。
特别是在航空航天及军工等特殊领域,美国等少数国家对先进的技术保持封锁。
因此,发展国内FPGA产业不是要不要的问题,而是怎么发展的问题。
国内IC企业介入FPGA的时间并不长,多数公司还处于学习阶段。
Altera公司和Xilinx公司为代表的FPGA厂商,除了在FPGA产品线上不断推陈出新之外,也在不懈地提高开发软件的设计能力,他们的软件产品在很多方面一点也不逊色于专业的EDA厂商,所以从这个角度来说,FPGA厂商也是EDA公司。
这里的代表性产品就是Altera公司的Quartus II开发软件和Xilinx公司的ISE开发软件。
Altera的FPGA开发工具已经经历了四代。
从最初的基于DOS的A+Plus,发展到Max+Plus,1991年推出基于Windows的开发工具Max+Plus II。
Max+Plus II在FPGA 设计工具里是一个划时代的产品,它提供了一种与结构无关的图形化设计环境,功能强大,使用方便。
设计者无须精通器件内部的复杂结构,而只需要使用自己熟悉的设计输入工具(如原理图或者HDL语言)把自己的设计输入到计算机中,Max+Plus II 就会自动把这些设计转换成最终结构所需的格式,用户只要把最后生成的配置数据通过下载电缆下载到芯片中,即完成了所有的工作。
Quartus II是Altera公司在2001年推出的第四代开发工具,是一个集成化的多平台设计环境,能够直接满足特定设计需要,在FPGA和CPLD设计各个阶段都提供了工具支持,并为可编程片上系统(SOPC)提供全面的设计环境,是一个系统级的高效的EDA设计工具。
而且,随着器件结构和性能的不断提高,器件集成度的不断扩大,Altera始终能够同步推出与之相适应的开发工具,满足了设计者的要求,近年来一直保持着一年一个新版本的更新进度。
2 FPGA软件设计工具Quartus IIAltera公司和Xilinx公司为代表的FPGA厂商,除了在FPGA产品线上不断推陈出新之外,也在不懈地提高开发软件的设计能力,他们的软件产品在很多方面一点都不逊色于专业的EDA厂商,所以从这个角度来说,FPGA厂商也是EDA公司。
这里的代表性产品就是Altera公司的Quartus II开发软件和Xilinx公司的ISE开发软件。
Altera的FPGA开发工具已经经历了四代。
从最初的基于DOS的A+Plus,发展到Max+Plus,1991年推出基于Windows的开发工具Max+Plus II。
Max+Plus II在FPGA 设计工具里是一个划时代的产品,它提供了一种和结构无关的图形化的设计环境,功能强大,使用方便。
设计者无需精通器件内部的复杂结构,而只需要使用自己熟悉的设计输入工具把自己的设计输入到计算机中,Max+Plus II就会自动把这些设计转换成最终结构所需的格式,用户只要把最后生成的配置数据通过下载电缆下载到芯片中,即完成了所有的工作。
Quartus II是Altera公司在2001年推出的第四代开发工具,是一个集成化的多平台设计环境,能够直接满足特定的设计需要,在FPGA和CPLD设计各个阶段都提供了工具支持,并为可编程片上系统(SOPC)提供全面的设计环境,是一个系统级的高效的EDA设计工具。
而且,随着器件结构和性能的不断提高,器件集成度的不断扩大,Altera始终能够同步推出与之相适应的开发工具,满足了设计者的要求,近年来一直保持这一年一个新版本的更新进度。
Altera公司的Quartus II软件是一种集编辑,编译,综合,布局布线,仿真与器件编程于一体的集成设计环境。
进行设计仿真时,既可以利用Quartus II软件自己的仿真工具,也可以利用如ModelSim等第三方仿真工具。
还可以与MATLAB和DSP Builder 结合,进行基于FPGA的DSP系统开发;使用内嵌的SOPC Builder设计工具,配合Nios II IDE集成开发环境,进行基于Nios II软核处理器的嵌入式系统开发。
Quartus II软件的设计流程遵循典型的FPGA设计流程,包括设计输入,综合,布局布线,时序分析,仿真验证,编程配置等设计步骤,以及与布局布线有关的功耗分析,调试,工程更改管理,与时序分析和仿真验证有关的时序逼近。
3 FIR数字滤波器设计3.1 FIR数字滤波器数字滤波器在数字信号处理中属于预处理的部分,因而起着基础性的作用,数字滤波器包括IIR和FIR数字滤波器。
数字滤波器具有精度高、稳定性好、灵活性强、不要求阻抗匹配,易于修改等特点。
下面将首先介绍一下数字滤波器,然后重点讨论FIR 数字滤波器的设计原理和结构。
3.1.1 数字滤波器简介一个简单的数字滤波系统如图3-1所示。
图中,x(t)为模拟信号,经过A/D转换器后变为一个有着先后顺序的数字序列x(n)。
然后x(n)通过数字滤波系统H(z),即得到数字滤波器的输出y(n)。
H(z)为该数字滤波系统的单位脉冲响应h(n)的Z变换,即:∑∞-∞=-=n n z n h z H )()( (3-1)若h(n)为无限长序列,则得到的数字滤波器为IIR 数字滤波器,又称递归滤波器;反之,若h(n)为有限长序列,则得到的数字滤波器为FIR 滤波器,也称非递归滤波器。
一个线形时不变因果滤波器可表示为:∑-=-=10)()(N n n z n h z H (3-2)其中N 为h(n)的长度,即滤波器的长度。