基于FPGA的FIR滤波器设计与仿真
摘要:FIR数字滤波器以其良好的线性相位特性被广泛使用,属于数字信号处理的基本模块之一。FPGA具有的灵活的可编程逻辑可以方便地实现高速数字信号处理。为了提高实时数字信号处理的速度,利用FPGA芯片内部的ROM实现一种查找表结构的FIR数字滤波器。并用MATAB对实验结果进行仿真和分析,证明了设计的可行性。
关键词:有限冲击响应滤波器;硬件描述语言;查找表;现场可编程门阵列
0 引言
数字滤波器是数字信号处理的重要组成部分,其作用是从接收信号中提取出需要的信息同时抑制干扰,由于FIR滤波器的冲击响应是有限长的,因而有可能做成具有严格线性相位的。通常用以下两种方法来实现数字滤波器:一是把滤波器所要完成的运算编成程序并让计算机执行,也就是采用计算机软件实现;另一种是设计专用的数字硬件、专用的数字信号处理器或采用通用的数字信号处理器来实现。
常用的实时数字信号处理的器件有可编程的数字信号处理(DSP)芯片、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。在工程实践中,往往要求对信号处理要有高速性、实时性和灵活性,而已有的一些软件和硬件实现方式则难以同时达到这几方面的要求。随着电子信息技术的快速发展,很多信号处理器件开始用FPGA来取代传统的实现方法。与传统的实现方法相比,FPGA的显著优点是它的并行处理特性,可以显著提高滤波器的数据吞吐率。
随着可编程逻辑器件和EDA技术的发展,使用FPGA来实现数字信号处理,既具有实时性,又兼顾了一定的灵活性。FPGA具有的灵活的可编程逻辑可以方便地实现高速数字信号处理,突破了并行处理、流水级数的限制,有效地利用了片上资源,加上反复的可编程能力,越来越受到国内外从事数字信号处理的研究者的青睐。
1 FIR滤波器的结构特点
数字滤波器通常分为有限冲击响应(FIR)和无限冲击响应(IIR)两大类。FIR滤波器由以下几个特点:
(1)系统的单位冲击响应h(n)在有限个n值处不为零;
(2)系统函数H(Z)在|Z|>0处收敛,在|Z|>0处只有零点,有限z平面只有零点,而全部极点都在z=0处(因果系统);
(3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构(例如抽样频率结构)也包含有反馈的部分;
设FIR滤波器的单位冲击响应h(n)为一个N点序列,0≤n≤N-1,则滤波器的系统函数为:
就是说它有N-1阶极点在z=0处,有个N-1零点位于有限z平面的任何位置。
FIR滤波器有以下几种基本结构:横截型(卷积型、直接型);级联型;频率抽样型。这里,我们主要讨论直接型FIR滤波器的实现。
式(1)的系统的差分方程表达式为:
很明显,这就是线性移不变系统的卷积和公式,也是x(n)的延时链的横向结构。
2 FPGA概述及特点
FPGA即现场可编程门阵列,是20世纪90年代发展起来的。大部分FPGA采用基于SRAM的查找表(look up table,LUT)结构,也有一些军品和宇航级FPGA采用FLASH或者反熔丝工艺的查找表结构以提高可靠性。它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物,具有更高的集成度,更强的逻辑实现能力和更好的设计灵活性。FPGA由许多独立的可编程逻辑模块组成,用户可以通过编程将这些模块连接起来实现不同的设计。FPGA器件的产生将半定制的门阵列电路的优点和可编程逻辑器件的用户可编程特性结合在一起。既解决了定制电路的不足,又克服了原有可编程逻辑器件门电路数量有限的缺点。
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(InputOutput Block)和内部连线(Interconnect)三个部分。FPGA的基本特点如下。
(1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到可用的芯片;
(2)FPGA内部有丰富的触发器和I/O引脚资源;
(3)FPGA可做其他全定制或半定制ASIC电路的中试样片;
(4)FPGA是ASIC电路中设计周期最短,开发费用最低,风险最小的器件之一。
(5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高集成度、可靠性的最佳选择之一。随着集成度密度的不断提高,FPGA器件几乎可以实现所有的数字电路功能。目前,器件集成度已经达到了数百万门数量级,工作频率可达300MHz以上。一般可在几个小时或几天内完成一个设计,并可随时修改。这加速了产品设计开发的进程,免去了昂贵的ASIC(专用集成电路(器件半导体生产工艺费用及投资风险,因此,FPGA技术已经成为电子工程师不可缺少的好帮手。
评论