您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

基于FPGA流水线分布式算法的FIR滤波器的实现

时间:2007-1-20栏目:电子通信论文

 摘要:提出了一种采用现场可编码门阵列器件(FPGA)并利用窗函数法实现线性FIR数字滤波器的设计方案,并以一个十六阶低通FIR数字滤波器电路的实现为例说明了利用Xilinx公司的Virtex-E系列芯片的设计过程。对于在FPGA中实现FIR滤波器的关键——乘加运算,给出了将乘加运算转化为查找表的分布式算法。设计的电路通过软件进行了验证并进行了硬件仿真,结果表明:电路工作正确可靠,能满足设计要求。

    关键词:FIR滤波器 FPGA 窗函数 分布式算法 流水线

随着数字技术日益广泛的应用,以现场可编程门阵列(FPGA)为代表的ASIC器件得到了迅速普及和发展,器件集成度和速度都在高速长。FPGA既具有门阵列的高逻辑密度和高可靠性,又具有可编码逻辑器件的用户可编程特性,可以减少系统设计和维护的风险,降低产品成本,缩短设计周期。

分布式算法是一种以实现乘加运算为目的的运算方法。它与传统算法实现乘加运算的不同在于执行部分积运算的先后顺序不同。简单地说,分布式算法在完成乘加功能时是通过将各输入数据每一对应位产生的部分积预先进相加形成相应部分积,然后在对各部门积进行累加形成最终结果,而传统算法是等到所有乘积产生之后再进行相加来完成乘加运算的。与传统算法相比,分布式算法可极大地减少硬件电路规模,很容易实现流水线处理,提高电路的执行速度。
(范文先生网www.fwsir.com收集整理)
    FPGA有着规整的内部逻辑块阵列和丰富的连线资源,特别适合细粒度和高并行度结构特点的数字信号处理任务,如FIR、FFT等。本文详细讨论利用FPGA实现FIR滤波器的设计过程,并且对设计中的关键技术——分布式算法进行详细描述。

1 FIR和分布式算法

1.1 FIR的基本概念

FIR滤波器的数学表达式为:

 基于FPGA流水线分布式算法的FIR滤波器的实现

式中,N是FIR滤波器的抽头数,x(n)表示第n时刻的输入样本;h(i)是FIR滤波器的第i级抽头系数。

普通的直接型FIR滤波器结构如图1所示。

FIR滤波器实质上是一个分节的延迟线,把每一节的输出加权累加,便得到滤波器的输出。对于FIR滤波器,幅度上只需满足以下两个条件之一,就能构成线性相位FIR滤波器。

h(n)=h(N-1-n) (2)

h(n)=-h(N-1-n) (3)

式(2)称为第一类线性相位的幅度条件(偶对称),式(3)称为第二类线性相位的幅度条件(奇对称)。

1.2 FIR滤波器的优化

在实际应用中,为了减少逻辑资源的占有量和提高系统的运行速度,对FIR滤波器需要进行优化处理。本文采用的优化主要有两种:一种是对表达式进行优化,另一种是在FPGA实现中利用特有的查找表进行优化。

1.2.1 表达式的直接优化

对于线性相位因果FIR滤波器,它的系列具有中心对称特性,即h(i)=±h(N-1-i)。令s(i)=x(i) ±x(N-1-i),对于偶对称,代入式(1)可得:

基于FPGA流水线分布式算法的FIR滤波器的实现

根据方程(4),线性相位FIR滤波器的直接型结构可以改为如图2所示的结构,从而使N次乘法减少为[N/2]次,加法次数增加了[N/2]次(N为偶数),总的运算量减少。

1.2.2 利用查找表进行设计优化

由于实现的是固定系数的FIR滤波器,所以

[1] [2] [3] [4] 下一页

下页更精彩:1 2 3 4 下一页