·上一文章:FIR带通滤波器的FPGA实现
·下一文章:高阻抗表面型PBG结构贴片天线的设计
由于在FPGA中数据由定点数表示,所以需要对系数进行量化。本设计中,采用整系数表示方法,对滤波器系数先放大127倍,然后取整量化为8位整数,量化后它的冲激响应系数如表1所示。
2 分布式算法与多相原理
2.1 分布式算法原理
分布式最初由Croisier于1973年提出,但直到出现查找表结构的FPGA之后,分布式算法才被广泛应用于乘积计算中。FIR滤波器采用分布式算法可以极大地减少硬件电路的规模,很容易实现流水线技术,提高电路的执行速度。
根据文献[5],长度为N的因果有限冲激响应滤波器(FIR)可以用下列传输函数H(z)来描述。
在时域中,上述FIR滤波器的输入输出关系为:
式中:y[n]和x[n]分别是输出和输入的序列;h[k]为冲激响应在时间序号k时的系数。若y(n)表示滤波器的输出,Ak表示滤波器的系数,xk(n)表示第忌个输入变量,则N阶线性、时不变FIR滤波器的输出为:
在FPGA的实现中,根据文献[6]数据采用二进制补码表示,所以变量xk可以表示为:
式中:xkb为xk的第b比特位;B为输入变量xk的数据位数。将式(5)代入式(4)可得:
这里,利用一个查找表来实现,即把所有可能的2N个中间数据存储在一个查找表中,以一个N位输入向量xb作为地址,输出为对应该向量的一个特定值。对于并行分布式算法结构滤波器,从低位到高位,依次乘以2N,N=0,1,2,…,然后相加得到输出值。