APP下载

并行分布式算法FIR 滤波器的FPGA 实现

2012-08-09王一海俞筱楠姜志鹏

电子器件 2012年5期
关键词:设计

王一海 ,俞筱楠,姜志鹏

(1.东南大学软件学院,南京 210096;2.南京工程学院康尼学院,南京 211167;3.金陵科技学院信息技术学院,南京 211169)

数字滤波器用于在数字信号处理中对输入信号做滤波处理。从实现方法来划分,可以分为FIR 滤波器和IIR 滤波器[1]。FIR 滤波器容易实现线性相位,且其单位冲激响应为有限长,使得系统总是稳定的[2]。因此FIR 滤波器在通信、图像处理等领域得到了广泛应用[3-4]。

设FIR 滤波器的阶数为N,则其数学表达式为

在实现FIR 滤波器的众多方法中,由于FPGA的独特硬件运行特点,采用FPGA 实现FIR 滤波器具有速度更快的优势。但是由于FIR 系统只有零点,只有阶数较高时才能取得所需的滤波效果[5],因此在FPGA 实现过程中将消耗大量的硬件资源。此时,采用分布式算法实现FIR 滤波器既能保证运算速度,又能大量节省片内资源。

1 分布式算法原理

分布式算法是一项重要的FPGA 技术,这种算法使得一般的乘积和计算在FPGA 实施过程中不再需要通用乘法器。分布式算法的基本思想[6]是对于乘积运算

其中c[n]为已知常数,x[n]为数字变量。若x[n]为用B+1 位表达的整型无符号变量,则

其中xb[n]为x 中第b 位,取值为0或1。将上式代入式(2),可知

对上式稍作变换可得

当把x[n]看作由B 位有符号数表示的变量时,上式需稍加变动,根据补码的计算原理有

将式(6)代入式(2)中,可得

由式(7)可知,运用DA 算法实现有符合运算时,各个变量最高位与常数c[n]之间的乘加和应取负号后再参与后续运算。

基本DA 算法实现框图如图1所示。从图1 可以看出,N个变量的各位依次顺序作为地址送往LUT,LUT 从高位开始依次取出预先计算的结果进行累加求和。……

登录APP查看全文

猜你喜欢

设计
二十四节气在平面广告设计中的应用
何为设计的守护之道?
《丰收的喜悦展示设计》
基于PWM的伺服控制系统设计
基于89C52的32只三色LED摇摇棒设计
基于ICL8038的波形发生器仿真设计
瞒天过海——仿生设计萌到家
设计秀
有种设计叫而专
从平面设计到“设计健康”