基于FPGA的高速FIR滤波器设计

2011-09-23 03:43
科技传播 2011年1期
关键词:冲激响应低通滤波器阶数

王 艳

华南师范大学物理与电信工程学院,广东广州 510006

基于FPGA的高速FIR滤波器设计

王 艳

华南师范大学物理与电信工程学院,广东广州 510006

在数字无线电中,高速的FIR滤波器起到重要的作用。因此,提出了一种基于FPGA的高速FIR滤波器设计方案,并采用Quartus II软件和Matlab软件对该方案进行了开发、仿真和验证。该方案设计的FIR滤波器具有运算速度快、实时性好和节省硬件资源的特点,能广泛应用于各种滤波领域。

FPGA;FIR滤波器;Verilog HDL;Matlab

在现代信号处理和电子应用技术领域,系统的设计正朝着高速、实时的方向发展。在数字系统中,特别是在无线通信系统中,除A/D转换前的抗混叠滤波和D/A转换之后的抗镜像滤波必须采用模拟滤波器外,其它场合可以优先采用数字滤波器。而滤波器主要作为系统的前端部分,对信号进行预处理。滤波性能的优劣直接影响着下一级的信号处理。因此,高性能的滤波器在系统中占据着重要位置。

FIR滤波器由于具有严格的线性相位特性以及易于实现等特点在数字信号处理中被广泛应用。目前FIR滤波器主要有3种实现方式:第1种,采用DSP处理器实现;第2种,采用专用信号处理芯片实现;第3种,采用可编程逻辑器件FPGA实现。第1种实现方式使用灵活,但是由于其结构的限制不能进行并行运算,对于FIR阶数较高或者数据位宽较宽的情形,处理速度通常无法满足实时性的要求;第2种实现方式实时性好,由于其通用性差,经常无法满足特定的滤波需求;第3种实现方式,由于FPGA具有高逻辑密度、可编程以及能够可并行计算等优点,能够很好地满足通用性和实时性的要求。因此,采用FPGA实现FIR滤波器成为高性能FIR滤波器的优选方案。

1 数字滤波器的原理分析

1.1 数字滤波器的分类

数字滤波器是从分析信号提取用户需要的信息,滤去不需要的信号成分或者干扰成分。可以从时域或频域进行信号滤波设计。时域滤波主要是根据信号和噪声之间的统计特性差异完成滤波的。频域滤波是要提取或抑制所分析信号中某些频带的信号成分,要求信号和被滤除的信号在频域具有可分性。

1.2 数字滤波器的数学模型

线性时不变数字滤波器的数学模型有多表示方法,在时域中可以用线性常系数差分方程给出:

其等效的Z域传递函数为:

当dk值不全为零时,该滤波器Z域系统函数至少包含一个极点,此时相应的单位脉冲必定无限长,所以常被称为无限冲激响应(IIR)数字滤波器。对于一个稳定的数字系统,极点必须都在单位圆内部。当dk值全为0时,Z域系统函数只有零点,数字滤波器的单位冲激响应有限,通常被称为有限冲激响应(FIR)滤波器。

2 FIR滤波器理论与结构

FIR滤波器有直接型、级联型和频率抽样型三种基本结构,其中直接型是最常见的结构,其差分方程表达式为:

式中,N是滤波器的阶数。可以看到,FIR滤波器的输出是x(n)与单位脉冲响应h(n)的直接卷积。这种结构也称为抽头延迟线结构,在实现的过程中,每一抽头的信号被适当的系数(脉冲响应)加权,然后将所得乘积相加就得到输出y(n)。

线性相位FIR滤波器的结构如图1所示:

图1 FIR滤波器结构图

3 FIR滤波器设计

3.1 FIR滤波器的设计流程

FIR滤波器的设计流程如图2,先确定滤波器的特性要求,借助Matlab数学软件计算抽头系数,在Quartus II软件上用硬件描述语言进行逻辑设计,用第三方仿真软件Modelsim进行功能仿真和时序仿真,最后把程序下载到开发板上进行测试。

图2 FIR滤波器设计流程图

3.2 FIR滤波器设计举例

本文以设计一个低通滤波器为例,按系统设计的要求,FIR滤波器的设计指标确定如表1。

采样频率输入数据宽度截止频率阶数类型系数宽度32KHz 16位2KHz 51阶低通12位

FIR滤波器的冲激响应h(n)的确定主要有频率抽样法、最佳一致法和采用窗函数法。其中采用窗函数法是一种较为成熟的方法,本文选择的窗函数是Kaiser窗。具体实现是使用MATLAB软件中start目录下Toolboxes工具箱中的Filter Design的Filter Design& Analysis Tool(FDA Too1),调用滤波函数fir1(),选择相应的参数:滤波器类型,窗类型,采用频率Fs,截止频率Fc,阶数,即可以得到符合设计指标的51阶线性相位FIR数字低通滤波器的特征参数。设计代码如下:

grid

xlabel('频率Hz');

ylabel('幅度dB');

图3是由以上代码得出51阶FIR滤波器幅频特性图,信号在2kHz时开始进入过渡带。

图3 FIR滤波器的幅频特性图

3.3 FIR滤波器的FPGA实现

图4 RTL级设计图

图4是用Verilog HDL语言描述的RTL级功能图,FirRom模块存储h(n)系数表,FirRam模块存储每一个输入的样本数据,Mult模块实现乘法功能,Fir51是总控制模块,使每一次输入,对51个数据进行加权运算。

3.4 FIR滤波器仿真结果分析

图5所示,输入信号是一个方波,经过FIR滤波器后,输出信号为一正弦波。仿真结果表明,此FIR滤波器能够实时工作,并对输入信号进行有效选择,滤除截止频率以上的高频信号。

图5 仿真图

4 结论

FIR滤波器在数字信号处理领域有着广泛的应用。本文采用高速对称型算法设计了51阶的低通滤波器,并在FPGA上进行了系统仿真。仿真结果表明该方法不仅提高系统的运算速度而且占有较少的硬件资源,另外可以通过修改查找表的内容,很容易实现同阶数的高通,带通滤波器。

[1]王学梅.基于FPGA的有限7冲激响应数字滤波器的研究及实现[D].长沙:中南大学,2004.

[2]李明伟,黄世震.应用分布式算法在FPGA平台上实现FIR低通滤波器[J].中国集成电路,2007,2:50-51.

[3][美]John G,Proakis,Dimitris( Manolakis).数字信号处理[M].4版.北京:电子工业出版社,2007.

[4]刘海兵,刘雄飞,张德恒.基于FPGA的数字滤波器的设计与实现[J].现代电子技术,2006,29(15):70-71.

TN911

A

1674-6708(2011)34-0201-02

猜你喜欢
冲激响应低通滤波器阶数
冲激响应时域测量电路设计与应用
基于稀疏系统辨识的改进的零吸引LMS算法*
关于无穷小阶数的几点注记
确定有限级数解的阶数上界的一种n阶展开方法
IIR数字滤波器设计中频率转换探究
基于瞬时无功理论的谐波检测中低通滤波器的改进
后置低通滤波器对冲击负荷电能计量的影响
一种新的多址信道有效阶数估计算法*
关于动态电路阶数的讨论
点火电路中低通滤波器的接地对其性能的影响