新闻中心

EEPW首页>嵌入式系统>设计应用> 一种基于FPGA分布式算法的滤波器设计实现

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

作者: 时间:2010-10-27 来源:网络 收藏

1.2 有符号数的设计

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

公式

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

公式

2 分布式的的软件实现

  从式(5)和式(7)可以看出,利用实现一个N项乘积和,关键是如何实现式(4)中乘积项及各乘积项之和。

  在中可以预先设定一个N位输入的查找表来实现部分乘积项,即预先设定N阶滤波系统查找表,实现向量x(i)={x0(i),x1(i),x2(i),…,xN-1(i))到p(i)的一个映射。由于查找表的地址空间与阶数成指数关系(2N),完全用查找表来实现部分乘积项需要容量很大的存储器,这就需要占用巨大的资源,而且功耗增加、速度降低。因此为了减小设计规模,可以将一个大的查找表分为几个较小的查找表来实现。例如,本系统采用的8阶FIR,则用一个查找表来实现需要256(28)位地址空间的ROM,将8阶FIR分成两个4阶FIR滤波器实现,只需要2个16(24)位地址空间的ROM,这样大大地降低了设计规模和资源使用量。把输入x(i)作为地址,分为高四位和低四位地址进行查找。表1给出了8阶滤波系统的低四位地址x(i)与p(i)的映射关系。

8阶滤波系统的低四位地址x

  本系统中滤波器系统函数采用Matlab中的fdatool工具,并根据设计要求采用了kaiser窗设计出滤波器的系统函数h(n),其采样频率为500 kHz,通频带带宽为100 Hz。设计的低通滤波器如图1所示。若需实现高通或带通滤波器,只需在设计时利用高通或带通滤波器代替低通滤波器即可。

设计的低通滤波器



评论


相关推荐

技术专区

关闭