基于分布式算法的有限长单位冲激滤波器

2012-12-01 02:11:54王和明路文龙张启亮
探测与控制学报 2012年6期

王和明,路文龙,张启亮

(空军工程大学导弹学院,陕西 三原 713800)

0 引言

目前实现 FIR(Finite Impulse Response,有限长单位冲激响应)滤波器的器件主要有三种:专用芯片、DSP(Digital Signal Processor)和 FPGA (Field Programmable Gate Array)。专用芯片实现的滤波器存在功能单一的缺点;使用DSP实现滤波器由于程序顺序执行,难以实现高速、高阶的滤波器[1];FPGA能够并行执行逻辑运算,并且可通过增加逻辑单元的方式使运算速度不受阶数增加的影响,在设计高速、高阶的滤波器时受到越来越多技术开发人员的关注。

通过FPGA实现FIR滤波器时,使用DSP运算结构只是在利用FPGA的乘法器资源来换取滤波器速度的提升,这对实现高阶滤波器非常不利。DA算法 (Distributed Arithmetic,分布式算法)采用不同于通用DSP的乘累加结构,使得滤波器运算速度不随着阶数的增加而降低,同时降低了进行滤波运算所需的资源[2]。本文在对DA算法分析研究的基础上,设计了基于分布式算法的有限长单位冲激响应滤波器。

1 分布式算法原理及滤波器结构

1.1 传统分布式算法

DA算法作为一项重要的FPGA技术,广泛地用于计算相关、DFT以及滤波器等乘累加(Sum of Products,SOP)问题中[3]。如式(1)所示,N -1表示对数据的总延迟时钟数。

式(1)中,h(n)为 N 阶滤波器的第n 个系数,x(n)为第n个抽头对应的数据。设x(n)是位宽为M比特的二 进 制 数,以 二 进 制 补 码 形 式 表 示:xM-1(n)xM-2(n)…x1(n)x0(n),其 中 xM-1(n)为 符 号 位,x0(n)为最低位,则x(n)可表示为:

将式(2)表示的x(n)代入式(1)并整理,得

图1 DA算法实现原理Fig.1 Principle of distributed arithmetic

1.2 改进分布式算法

采用DA算法进行滤波器设计主要消耗FPGA的存储器资源,且随着滤波器阶数的增加存储器的容量成指数增长[4],显然FPGA将越来越难以实现。……

登录APP查看全文