自适应有限冲激响应滤波器的FPGA实现
2012-06-28王雷,李静
王 雷,李 静
(1.解放军92785部队,秦皇岛066200;2.北京航天科奥电子技术有限公司,北京100070)
0 引 言
自适应滤波器一直是信号处理领域的研究热点之一,并已经被广泛应用于数字通信、回波消除、天线阵波束形成、信道均衡等领域[1]。自适应滤波器是一种具有自我调整能力和跟踪能力的现代滤波器,可根据被控制对象的时变性做出相应的调整,满足某种准则的要求,从而实现最优滤波。同时,现代数字信号处理更趋向于高速、实时的信号处理。它需要极高的数据吞吐量和巨大的实时计算量。FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算的通用数字信号处理器(DSP)芯片,其并行性和可扩展性更好,在实时性要求较高的场合更能满足系统高速、实时的需要[2]。本文针对FPGA的特点设计了一种自适应有限冲激响应(FIR)滤波器的实现方法,并通过在Xilinx公司提供的ISE平台上采用Verilog HDL编程[3],利用 Modelsim 和 Matlab软件对双模式盲自适应均衡滤波器[4]进行仿真验证。
1 FIR滤波器原理
FIR滤波器的基本结构就像一个分节的延时线,将各节的输出加权累加,得到滤波器输出。其数学差分表达式为:


式中:xb[n]为在n时刻采样信号x[n]的第b位。
将式(2)代入滤波器的输出表达式(1),可得到:

假设滤波器的输入信号x[n]为B+1位补码形式,即:
对于式(3)中乘积项xb[n]h[N-n],当xb[n]为1时,其值为h[N-n];当xb[n]为0时,其值为0。由此可知,对于式(4)每个括号中的子式,N 位向量 (xb[0],xb[1],…,xb[N -1])有2N种情况,相应地有2N种组合值。
对于传统的固定系数的FIR滤波器,为了提高系统的运行速度,有人提出了一种分布式算法[5]。……
