一种新型高速FIR滤波器构造方法
2014-01-31谢伟
谢伟
(电子信息控制重点实验室,四川 成都 610036)
一种新型高速FIR滤波器构造方法
谢伟
(电子信息控制重点实验室,四川 成都 610036)
针对传统串行滤波器无法满足工程实时性要求的问题,在分析传统FIR滤波器处理结构的基础上,提出一种基于多滤波器并行处理方式的高速FIR滤波器设计方法,使用多个低速率低阶数滤波器并行工作达到高速率高阶数滤波器的处理效果。仿真试验表明:该方法能够基于FPGA并行处理的架构,实现高速FIR滤波器的有效设计,解决在工程应用中高速率滤波器设计困难的问题。
高速处理;FIR滤波器;并行架构;FPGA设计
0 引 言
完成对离散信号的检测与提取的必备条件是具有高速响应、宽频带的滤波器[1]。数字滤波器具有控制精度高、配置灵活等优点,在工程实现中得到广泛使用。
按实现的网络结构进行分类,可以把数字滤波器分成无限脉冲响应基本网络结构的滤波器,即IIR滤波器;以及有限脉冲响应基本网络结构的滤波器,即FIR滤波器[2]。相对于IIR滤波器,FIR具有线性相位、系统绝对稳定等优点,近年来越来越受到人们的重视。针对FIR滤波器的应用,很多学者进行了大量的研究工作,内容包括滤波器系数的简化、滤波器结构的改进、FIR滤波器的高速设计等[3]。
其中高速FIR滤波器是通信、雷达、图像处理等领域最常涉及的一种数字信号处理手段[4]。常用的基于DSP的实现方法,由于程序顺序执行,其总体速度受限于串行指令执行的时间,执行速度必然不快。FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合FIR滤波器的处理任务,相对于串行运算的DSP芯片来说,FPGA中的指令都是并行执行,其处理速度远大于DSP的实现方式[5]。随着高速、宽带、实时等指标要求的越来越高,对数字滤波器处理速度的要求也随之提高。
本文在已有研究的基础上,针对FPGA的各种特点,提出一种高速FIR滤波器设计方法,该方法将一
个高速高阶数FIR分解为多个低速低阶数FIR滤波器,采用多个滤波器并行处理的方式,成倍提高了FIR滤波器的处理速度。
1 FIR滤波器基本结构
FIR滤波器的网络结构特点是没有反馈支路,其单位冲击响应h(n)的阶数是有限的,假设其阶数为N,则滤波器的系统函数H(z)可以表示为[6]
滤波器系统的差分方程可以表示为
式中:x(n)——滤波器的信号输入;
y(n)——滤波器输出;
h(m)——滤波器的单位冲击响应;
N——滤波器阶数。
2 高速FIR滤波器设计
由图1和式(2)可知,在传统网络结构下,FIR的工作速度主要受信号延时速度、乘法器速度和加法器速度限制,在FPGA中,乘法器和加法器均是由硬件实现,其指令都可以在一个时钟周期内完成[7],它们的处理速度由FPGA工作频率决定,而延时速度也由FPGA的工作频率决定,所以整个FIR滤波的工作速度由FPGA的工作频率决定。但在现有FPGA设计水平和制造工艺基础上,FPGA的实际工作频率往往小于300 MHz,所以在传统网络结构的基础上,FIR滤波器的速度不会太快[8]。
针对FPGA并行处理的特点,可以采用多个滤波器拼接的方式来解决上述问题。
由式(2)可知,滤波器的输出可以用如下公式来表示:
其中:y(1)、y(2)、…、y(P)、y(P+1)分别表示第1、第2、…、第P、第P+1时刻的滤波器输出值,x(1-N)、x(2-N)、…、x(0)、…、x(P-1)、x(P)分别表示第1-N、第2-N、…、第0、…、第P-1、第P时刻滤波器的输入值,h(1)、h(2)、…、h(N)分别表示FIR滤波器的系数(共N阶)。
在式(3)中,将滤波器在第1时刻、第P+1时刻、第2P+1时刻的输出,即y(1)、y(P+1)、y(2P+1)等,以集合Y1/P表示,使{y(1),y(P+1),y(2P+1),…,y将滤波器在第2时刻、第P+2时刻、第2P+2时刻的输出,即y(2)、y(P+2)、y(2P+2)等,以集合∈Y1/P表示;同理可得集合Y3/P、…YP/P。上述表述等效于将滤波器输出y(n)抽取了P倍。
在式(3)中,将滤波器在第-P时刻、第0时刻、第P时刻的输入,即x(-P)、x(0)、x(P)等,以集合XP/P表示,使{…,x(-P),x(0),x(P),…}∈XP/P;将滤波器在第-P+1时刻、第1时刻、第P+1时刻的输入,即x(-P+1)、x(1)、x(P+1)等,以集合X1/P表示,使{…,x(-P+1),x(1),x(1+P),…}∈X1/P;同理可得,X2/P,…,XP-1/P。上述表述等效于将滤波器输入x(n)抽取了P倍。
将滤波器系数h(1)、h(P+1)、h(2P+1)…、h(N-P+1)归纳成一类,令该类滤波器系数为H1/P=[h(1)、h(P+1),同理可得P个滤波器系数组H2/P,H3/P,…HP/P,其中每一个滤波器系数组代表一个阶数为N/P的低阶FIR滤波器。
根据上面的论述,以集合的形式描述式(3),可以写成一种更通用表示方式,即:
将式(4)写成矩阵形式,则可以表示为
式(4)和式(5)中,每一组滤波器系数HP/P代表一个大型滤波器抽取后的小型滤波器,其阶数为N/P阶。这样一来,原来一个N阶速度为V的大滤波器被分成了P2个N/P阶速度为V/P的小滤波器,换而言之,滤波器的网络结构由一个N阶的直接串行结构变成了P2个的N/P阶滤波器的并行结构,其网络结构如图2所示。
3 试验结果
针对上述分析,使用本方法设计满足期望指标的滤波器,并在FPGA中实现了该方法。
试验结构框图如图3所示。
在FPGA中,使用DDS产生FIR滤波器的输入信号,FPGA和DAC的输入频率均为800MHz。
滤波器的设计参数如下:
滤波器阶数为32阶;滤波器类型为低通滤波器;滤波器通带<200MHz;滤波器过渡带为200~250MHz;带外抑制为40dB;滤波器幅度增益为-3dB;通带纹波为1dB。
DDS产生的信号参数如下:
信号中心频率为175MHz;信号带宽为250MHz;信号幅度为-12dBm;信号类型为噪声调频信号。
试验中设式(4)中P等于4,即用16个8阶200MHz的低速率小阶数FIR滤波器拼接成一个32阶800MHz的高速率大阶数FIR滤波器,此时FPGA的工作频率为200 MHz,DAC的工作频率为800MHz。图4为低通滤波器期望到达的幅频响应曲线图。图5为滤波前后信号频谱变化情况。
通过图 5可以看出在滤波器的通带为 0~200 MHz,过渡带为50 MHz左右,而270 MHz已经位于滤波器的阻带中,该频点的幅度已经被抑制了49dB,可见满足了带外抑制超过40dB的要求。
New method of high-speed FIR filter constructing method
XIE Wei
(Electronic Information Control Laboratory,Chengdu 610036,China)
For detecting and amplifying micro signal,filter designing is always one of the key technologies.A high-speed FIR digital filter design method which is based on multi-filter parallel processing is discussed in this article.Compare to the traditional serial FIR filter,filter of a parallel structure of multiple low-speeds and low-order FIR filter has the same effectiveness with one highspeeds high-order FIR filter.The simulation is accomplished on digital circuit based on a FPGA of parallel structure,and results show that this new method is real-time,effective and feasible in high-speed FIR design.
high-speed;FIR filter;parallel process;FPGA design
TN713+.1;TN79;TN911.72;TB535+.2
:A
:1674-5124(2014)04-0075-03
10.11857/j.issn.1674-5124.2014.04.019
2014-01-08;
:2014-03-02
谢 伟(1982-),男,四川成都市人,高级工程师,硕士,主要从事信号检测、阵列信号处理等方面的研究。