微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 一种基于FPGA分布式算法的滤波器设计实现

一种基于FPGA分布式算法的滤波器设计实现

时间:10-01 来源:现代电子技术 点击:

传统数字滤波器硬件的实现主要采用专用集成电路(ASIC)和数字信号处理器(DSP)来实现。FPGA内部的功能块中采用了SRAM的查找表(lo-ok up table,LUT)结构,这种结构特别适用于并行处理结构,相对于传统方法来说,其并行度和扩展性都很好,它逐渐成为构造可编程高性能算法结构的新选择。

分布式算法是一种适合FPGA设计的乘加运算,由于FPGA中硬件乘法器资源有限,直接应运乘法会消耗大量的资源。本文利用了丰富的存储器资源进行查找表运算,设计了一种基于分布式算法低通FIR滤波器;利用线性相位FIR滤波器的对称性减小了硬件规模;利用分割查找表的方法减小了存储空间;采用并行分布式算法结构和流水线技术提高了滤波器的速度,在FPGA上实现了该滤波器。

1 分布式的滤波器算法

FIR滤波器突出的特点是单位取样响应h(n)仅有有限个非零值。对于一个N阶的FIR滤波器形式如下:

在许多数字信号处理应用领域中,在技术上是不需要通用的乘法算法的。对于本系统可以通过Matlab中的fdatool工具根据设计要求设计出滤波器的系统函数h(n),那么乘积项h(k)×x(n-k)就变成了2个常数的乘法。无符号数的分布式算法和有符号数的分布式算法是分布式算法在FIR滤波器中的2种典型算法。

1.1 无符号数的分布式算法设计

由于FPGA为并行处理结构,所以假设x(n-k)数据宽度为L b,则由式(1)可表示为:

由式(1)、式(2)可以得到:

假设:

则式(1)可以表示为:

1.2 有符号数的分布式算法设计

对于有符号数的补码表示为:

则由式(5),式(1)可得:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top