基于fpga的fir滤波器设计与仿真

上传人:xins****2008 文档编号:109975737 上传时间:2019-10-28 格式:DOC 页数:6 大小:185KB
返回 下载 相关 举报
基于fpga的fir滤波器设计与仿真_第1页
第1页 / 共6页
基于fpga的fir滤波器设计与仿真_第2页
第2页 / 共6页
基于fpga的fir滤波器设计与仿真_第3页
第3页 / 共6页
基于fpga的fir滤波器设计与仿真_第4页
第4页 / 共6页
基于fpga的fir滤波器设计与仿真_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《基于fpga的fir滤波器设计与仿真》由会员分享,可在线阅读,更多相关《基于fpga的fir滤波器设计与仿真(6页珍藏版)》请在金锄头文库上搜索。

1、基于FPGA的FIR滤波器设计与仿真宋承文,魏选平,刘浩淼(第二炮兵工程学院,西安 710025)摘 要:FIR数字滤波器以其良好的线性相位特性被广泛使用,属于数字信号处理的基本模块之一。FPGA具有的灵活的可编程逻辑可以方便的实现高速数字信号处理。为了提高实时数组信号处理的速度,利用FPGA芯片内部的ROM实现一种查找表结构的FIR数字滤波器。并用MATLAB对实验结果进行仿真和分析,证明了设计的可行性。关键词:FIR滤波器,硬件描述语言,查找表,FPGADesign and Simulate of FIR digital filter based on FPGASong cheng-wen

2、, Wei xuan-ping, Liu hao-miao(The Second Artillery Engineering College, XIAN 710025)Abstract: The FIR digital filter is commonly used for digital signal processing because of the good linear phase character .It is a basic model of digital signal processing. FPGA (field programmable gate array) has f

3、lexible programmable logic which can realize high speed digital processing conveniently. In order to improve the real-time digital signal processings speed, using FPGA chip insides ROM construct a LUT (look-up-date), actualize FIR digital filter design. The result of the experiment is simulated and

4、analyzed based on MATLAB. It proves the feasibility of this design.Key Words: FIR digital filter, VHDL, LUT, FPGA 0引言数字滤波器是数字信号处理的重要组成部分,其作用是从接收信号中提取出需要的信息同时抑制干扰,由于FIR滤波器的冲激响应是有限长的,因而有可能做成具有严格线性相位的。通常用以下两种方法来实现数字滤波器:一种方法是把滤波器所要完成的运算编成程序并让计算机执行,也就是采用计算机软件实现;另一种方法是设计专用的数字硬件、专用的数字信号处理器或采用通用的数字信号处理器来实现1

5、 程佩青. 数字信号处理教程M. 北京:清华大学出版社. 2004:2021。常用的实时数字信号处理的器件有可编程的数字信号处理(DSP)芯片、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。在工程实践中,往往要求对信号处理要有高速性、实时性和灵活性,而已有的一些软件和硬件实现方式则难以同时达到这几方面的要求。随着电子信息技术的快速发展,很多信号处理器件开始用FPGA来取代传统的实现方法。与传统的实现方法相比,FPGA的显著优点是它的并行处理特性,可以显著提高滤波器的数据吞吐率2 刘凡. 基于FPGA的数字滤波器设计与实现滤波器自动生成系统设计D. 江南大学学位论文. 2009:12

6、。随着可编程逻辑器件和EDA技术的发展,使用FPGA来实现数字信号处理,既具有实时性,又兼顾了一定的灵活性。FPGA具有的灵活的可编程逻辑可以方便的实现高速数字信号处理,突破了并行处理、流水级数的限制,有效地利用了片上资源,加上反复的可编程能力,越来越受到国内外从事数字信号处理的研究者所的青睐3 李文刚. 基于FPGA的高速高阶FIR滤波器设计D. 电子科技大学学位论文. 2005:13。1.FIR滤波器的结构特点数字滤波器通常分为有限脉冲响应(finite impulse response, FIR)和无限脉冲响(infinite impulse response, IIR)两大类。FIR滤

7、波器由以下几个特点:(1)系统的单位冲击响应h(n)在有限个n值处不为零;(2)系统函数H(Z)在处|Z|0收敛,在|Z|0处只有零点,有限平面只有零点,而全部极点都在Z=0处(因果系统);(3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构(例如抽样频率结构)也包含有反馈的部分;设FIR滤波器的单位冲击响应h(n)为一个点序列,则滤波器的系统函数为:(1-1)就是说他有N-1阶极点在z=0处,有个N-1零点位于有限z平面的任何位置。FIR滤波器有以下几种基本结构:一、横截型(卷积型、直接型);二级联型;三、频率抽样型。在这里,我们主要讨论直接型FIR滤波器的实现。(1)式的系统的差

8、分方程表达式为:(1-2)很明显,这就是线性移不变系统的卷积和公式,也是x(n)的延时链的横向结构。2.FPGA概述及特点FPGA(Field Programmable Gate Array)即现场可编程门阵列。FPGA是20世纪90年代发展起来的。大部分FPGA采用基于SRAM的查找表(look up table, LUT)结构,也有一些军品和宇航级FPGA采用FLASH或者反熔丝工艺的查找表结构以提高可靠性4云创作室 詹仙宁 田耕. VHDL开发精解与实例剖析M 北京:电子工业出版社. 2009:1934。它是在PAL 、GAL、 EPLD等可编程器件的基础上进一步发展的产物,具有更高的集

9、成度、更强的逻辑实现能力和更好的设计灵活性。FPGA由许多独立的可编程逻辑模块组成,用户可以通过编程将这些模块连接起来实现不同的设计。FPGA器件的产生将半定制的门阵列电路的优点和可编程逻辑器件的用户可编程特性结合在一起5 王道. CPLD/FPGA可编程逻辑器件应用与开发M. 北京:国防工业出版. 2004:265。既解决了定制电路的不足,又克服了原有可编程逻辑器件门电路数量有限的缺点。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Outpu

10、t Block)和内部连线(Interconnect)三个部分6 陈良. 电子工程师常用手册M. 北京:中国电力出版社. 2010:360-3616。FPGA的基本特点主要如下。(1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到可用的芯片。(2)FPGA内部有丰富的触发器和I/O引脚资源。(3)FPGA可做其他全定制或半定制ASIC电路的中试样片。(4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。(5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高集成度、可靠性的最佳选择之一。随着集成度密度

11、的不断提高,FPGA器件几乎可以实现所有的数字电路功能。目前,器件集成度已经达到了数百万门数量级,工作频率可达300MHz以上。一般可在几个小时或几天内完成一个设计,并可随时修改。这加速了产品设计开发的进程,免去了昂贵的ASIC(专用集成电路)器件半导体生产工艺费用及投资风险,因此,FPGA技术已经成为电子工程师不可缺少的好帮手。3.查找表结构的FIR算法LUT(look-up-date)本质上是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个具有4位地址线的16*1的RAM7 刘明章. 基于FPGA的嵌入式系统设计M. 北京:国防工业出版社. 2007:117。当

12、用户通过原理图或HDL语言描述了一个逻辑电路后,FPGA开发软件会自动计算逻辑电路的所有结果,并把结果写到RAM中,当输入一个信号进行运算就等于输入一个地址,找出对应的内容,然后输出。由(2)式可见FIR滤波器系统函数是一种卷积的运算形式。如果用FPGA直接实现则计算速度很慢且占用大量的LE(逻辑单元),达不到系统对实时性的要求,于是想到能否将上述卷积运算转化成加减运算。 分布式算法(distfibutcd arithmetic,DA)早在1973年就已经被Croisier提出来了,但是直到FPGA出现以后,才广泛的被应用在FPGA中计算乘积和8 冷邦平. 高速FIR数字滤波器在FPGA上的实

13、现D. 电子科技大学学位论文.2008:238。设FIR滤波器的阶数为N阶,输入数据x(n)的位宽为k,则x(n)可表示为: (2-1) 为数据x(n)第i位上的值。将(2-1)式代入FIR滤波器的差分方程(1-2)式可得: (2-2)也就是说:我们可以把每个输入数据的每一位的值分别与相应的FIR系数相乘(因为x(n)为数字信号,每个输入数据的每一位的值都为0或1,所以与h(n)相乘的结果非0即为h(n) )然后再相加,然后再把所有位的相加值错位相加,可得到卷积得结果从而实现了将卷积运算转换成加法运算。这样我们就可以针对N阶FIR滤波器的系数预先建立一个2的N次方的一个存储表,将系数和存放在对

14、应的存储单元中。进行卷积运算时把输入数据的每一位组合成地址码,通过地址查找到相应的系数和,然后把所有位数的系数和移位相加即可完成卷积运算。通过查表的方式可以大大减少求和的次数,提高运算速度。4设计思路及步骤4.1 FPGA系统设计的方法用FPGA实现数字系统设计一般可分成以下几个步骤:设计输入、功能仿真、编译综合生成网表文件、设计实现、时序仿真、下载到芯片进行硬件验证9 郑文明. 基于FPGA的数字信号处理算法研究与高效实现D. 哈尔滨工程大学学位论文. 2009:129。在每一步检查到的错误或缺陷都可以返回到上一层进行修改。随着数字系统规模的不断增大,其复杂度也随之增大。层次化设计将系统逐层

15、分为较小的规模可控制的模块,是控制数字系统设计复杂度的一种有效方法。层次化设计中有两个重要的核心思想,即模块化和原件重用。模块化是指将系统划分为几个子模块,而这些子模块又分别划分为更小的模块,直至不可再分。每个模块都可以看成是上一层模块的一个元件。原件重用是指同一个原件可以被不同的实体调用,或者被同一个实体多次调用。这样不但大大减轻了设计者的工作量,而且使程序结构更加优化,具有更好的可读性。4.2 设计实例的参数选取及生成MATLAB的信号处理工具箱中包括许多可用于设计FIR数字滤波器的M文件。根据要设计的滤波器的参数、通带截止频率、阻带截止频率、采样频率、通带或阻带波纹要求等参数,可以利用MATLAB中的数字信号处理工具箱生成滤波器的系数10 Sanjit K.Mitra. 数字信号处理基于计算机的方法M. 北京:电子工业出版社.2006:447作者简介:宋承文(1984-),男,湖南双峰人,在读硕士研究生,研究方向为兵器科学与技术。10。在设计中,采用16阶FIR,输入数据宽12位,滤波器系数以及由这些系数演算出的ROM的初始化数据文件*.mif文件可以通过MATLAB计算生成。因为是16阶的FIR,这样就需要65536个ROM单元来实现,ROM单元的位宽采用16位。利用器件中的ROM建立这样的查找表,首先要将

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号