基于DA算法的FIR滤波器设计与实现时间:2007-09-04来源:作者:张大智张望牟志新点击:680字体大小:【大中小】1.引言在数字信号处理系统中,FIR数字滤波器多采用专用DSP芯片(如TMS320CXX系列),这种基于DSP的处理系统存在很多优点,比如方案灵活、可操作性强、程序易于移植
但这种结构的滤波器多是根据FIR滤波器的数据移位相乘累加的算法编写相应软件,利用软、硬件相互结合完成滤波器的设计
由于软件运行时,指令都是串行执行的,这严重制约了系统的运行速率,不能满足高传输速率,大数据吞吐量的数字信号的实时性处理要求
而基于DA算法的FPGA滤波器则是一种采用纯硬件的方式实现FIR滤波器的方式,这种方法突出的优点是运算速度快,特别适合在高速、实时、快变的数字信号处理要求
2.DA算法的基本思想第一个讨论分布式算法(distributedarithmetic,DA)的可以追溯到1973年Cr0iCroisier的一篇论文,并由Peled和Liu来推广
但是直到FPGA出现以后,才在FPG计算乘积和中被广泛地应用
在FPGA芯片设计中,分布式算法(distributedarithmetic,DA)是一种很重要的技术
它在乘积和的计算中已被广泛应用,为了理解DA算法设计原理,我们考虑有一个线性时不变网络的输出可以用下式表示:假设系数c[n]是已知常数,x[n]是变量,在有符号DA系统中假设变量x[n]的表达式如下:其中xb[n]表示x[n]的第b位,即x[n]是x第n个样点
所以,内积y可以表示为:我们重新分别求和次序(这就是分布式算法的由来),结果是:y=(c[0]xB-1[0]+c[1]+⋯⋯+c[N-1]xB-1[N-1])2B-1+(c[0]xB-2[0]+c[1]+⋯⋯+c[N-1]xB-2[N-1])2B-2(2-4)
+(c[0]x0[0]+c[1]x