基于中档fpga多相滤波器的设计实现

基于中档fpga多相滤波器的设计实现

ID:13058390

大小:56.50 KB

页数:7页

时间:2018-07-20

基于中档fpga多相滤波器的设计实现_第1页
基于中档fpga多相滤波器的设计实现_第2页
基于中档fpga多相滤波器的设计实现_第3页
基于中档fpga多相滤波器的设计实现_第4页
基于中档fpga多相滤波器的设计实现_第5页
资源描述:

《基于中档fpga多相滤波器的设计实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于中档FPGA多相滤波器的设计实现关键字:FPGA多相滤波器R滤波器的几个优点,其中包括一个事实,即在整个频谱范围,他们有完全恒定的群时延,在所有频率范围内,不论滤波器的大小,他们是完全稳定的。  通用FIR滤波器的图形表示如图10所示。在这种情况下,输入样本xn通过一系列的缓冲寄存器(这些都标记为z-1,对应延时单元的Z变换)。    图10经典FIR滤波器的通用表示  滤波器的工作原理是用一系列的常数(称为抽头系数)乘以一系列最新的n个数据采样,并对所得到的数组的单元进行求和。通过改变系数和滤波器抽头数目的加权(值),FIR滤波器实际上可实现几乎任何所需的频率响应

2、特性。  问题是FIR滤波器可能需要大量的抽头(有时数百个),以实现其预定的目标。每一个抽头需要消耗逻辑资源的乘法器累加器(Mac)单元。另外在每个时钟,每个抽头执行消耗功率2的乘法和加操作。  用多相FIR滤波器进行抽取  多相滤波器的基本概念是把FIR滤波器分割成若干较小的单元,然后组合这些单元的结果。首先,让我们考虑一个基于常规8抽头FIR滤波器的抽取子系统的符号表示,如图11所示(为了使用这些例子,我们假设抽取因子为M=4)。    图11基于传统的8抽头FIR滤波器的抽取器的符号表示  现在让我们假设主时钟正在以某一频率fHz运行。像往常一样,在滤波操作之后任

3、何不要的样本将被丢弃,但这样做是低效率的,因为这意味着是以完全的时钟频率在进行滤波。用另一种方式来看这种操作,即在每个时钟时刻,每个抽头级执行乘法和加运算。  相比多相实现的情况,我们可以将原来的8抽头FIR滤波器分为四个2抽头子滤波器,如图12所示。    图12基于4×2抽头多相滤波器的抽取器的符号表示  假设同样的主时钟以fHz的频率运行,我们可以想象输入数据流被送入一个旋转开关(当然,这可用标准的逻辑技术来实现)。第一个数据值送入第一个子滤波器;第二个数据值送入第二个子滤波器;第三个数据值送入第三个子滤波器;第四个数据值送入第四个子滤波器。然后,我们进行“循环”

4、操作,以便第五个数据值送入第一个子滤波器;第六个数据值送入第二个子滤波器;等等。  使用子滤波器减少了可能的饱和/溢出(发生任何饱和/溢出通常只需要在最后的函数求和时进行处理)。另外,使用子滤波器具有一个直接有效的优点,因为在执行滤波操作之前,我们有效地“抽取”了数据。这也意味着,我们的四个子滤波器中的每个都能有效地以F÷4Hz的频率运行,如图13所示。    图134×2抽头多相滤波器的运行情况  除了任何寄存器和一般用途的逻辑,常规8抽头FIR滤波器中的每个抽头包含一个乘法器和一个加法器,当然为我们提供了总共8个乘法器和8个加法器。滤波器之后需要一些额外的逻辑,以便

5、丢弃任何不想要的样本。  同样,在我们最初的4×2抽头多相实现中的每一个抽头含有一个乘法器和一个加法器,再次为我们提供了总共8个乘法器和8个加法器。在多相实现中,需要实现“旋转开关”送入滤波器的逻辑数量大约相当于在常规8抽头FIR滤波器中丢弃不要的样本所需的逻辑。  当然,多相实现还需要一些额外的逻辑和一个加法器累加来自四个子滤波器的结果。因此,最终的结果是,最初的多相实现需要比传统的8抽头FIR滤波器更多一点的逻辑。  然而,对于传统的8位FIR滤波器,在每个时钟都要执行8次乘和8次加。相比最初的多相实现的情况,在任何主时钟时刻,只有一个子滤波器是工作的。由于在这个例

6、子中每个子滤波器含有两个抽头,这意味着这个功能的滤波器部分在每个时钟只进行两次乘法和两次加法。  当然,从四个子滤波器收集结果的求和功能还必须在每个主时钟进行加(在每4时钟周期开始时,这个累加器清零;它从四个子滤波器收集结果;在每4时钟周期结束时,它产生一个新的值)。  这意味着,最初的多相实现的每个子滤波器有效地以常规8抽头FIR滤波器1/4的频率运行。反过来,这意味着最初多相实现只在每个主时钟进行两次乘法和三次加法(包括加法器的加操作),从而大大节省了功耗。  此外,在最初的多相实现中,由于四个子滤波器的每个只用了1/4的时间,这意味着在任何特定时间,我们实际上只需

7、要其中的一个,这使我们更加完善了实现方法,如图14所示。    图14更完善的基于多相滤波器的抽取器实现方案  在这种情况下,我们采用了单一的2抽头子滤波器,每个抽头含有乘法器和加法器。在每个主时钟,我们选择合适的系数对。每一个抽头需要额外的寄存器和用于维护的逻辑,但与减少的乘法器和加法器相比,与我们的最初多相实现相比,这是微不足道的。  当然,在我们原来的多相实现中,我们仍然要在每个主时钟时刻执行两次乘法和三次加法,。这些抽取实现例子的总结如表1所示。  表1抽取实现实例的总结    利用多相FIR滤波器进行内插  现在让我们来考虑内插

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。