EDN China > 设计实例 > 模拟设计 > 运放与功放 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 基于流水线技术的并行高效FIR滤波器设计

来源:电子技术应用/作者:陕西三原空军工程大学导弹学院 刘 刚 林志远 王毅增?? 2006年04月12日 ?? 收藏0
??????? 数字滤波器可以滤除多余的噪声,扩展信号频带,完成信号预调,改变信号的特定频谱分量,从而得到预期的结果。数字滤波器在DVB、无线通信等数字信号处理中有着广泛的应用。在数字信号处理中,传统滤波器通过高速乘法累加器实现,这种方法在下一个采样周期到来期间,只能进行有限操作,从而限制了带宽。现实中的信号都是以一定的序列进入处理器的,因此处理器在一个时间周期内只能处理有限的位数,不能完全并行处理。基于并行流水线结构的FIR滤波器可以使笔者设计的64阶或者128阶滤波器与16阶滤波器的速度一样快,其显著特点是在算法的每一个阶段存取数据。FPGA结构使得以采样速率处理数字信号成为常数乘法器的理想载体,提高了整个系统的性能。由于设计要求的差异,如字长、各级输出的保留精度等不同,在整个设计过程中,各个环节也有所不同,这就需要根据不同的要求对数据进行不同的处理,如截断、扩展等,从而设计出既满足设计需要,又节省FPGA资源的电路。

????? 1 FIR并行滤波器结构

?????? 数字滤波器主要通过乘法器、加法器和移位寄存器实现。串行处理方式在阶数较大时,处理速度较慢。而现代数字信号处理要求能够快速、实时处理数据,并行处理数据能够提高信号处理能力,其结构如图1所示。 从上面的算法可以看出,处理数据的采样时钟对每一个抽头来说都是并行的,并且加法器和移位寄存器采用级联方式,完成了累加器的功能,综合了加法器和移位寄存器的优点,而且这种算法的各级结构相同,方便扩展,实现了任意阶数的滤波器。算法中,真正占用系统资源的是乘法器。如果将系数量化成二进制,就能采用移位寄存器和加法器实现乘法功能。对于一个特定的滤波器,由于它有固定的系数,乘法功能就是一个长数乘法器。下面将讨论乘法器的设计问题。

数字滤波器结构图

图1 数字滤波器结构图

?????? 2 FIR并行滤波器的乘法器设计

???????在并行滤波器的设计中,每一个乘法器的一端输入数据,另一端为固定常数。对于常数乘法器,可以预先将常数的部分乘积结果存储起来,然后通过查表的方式实现两个数的乘积。以16位输入、常数为14位的乘法器为例,给出其实现结构如图2所示。

并行滤波器结构图

图2 并行滤波器结构图

?????? 对于无符号数来说,这是一种理想结构。但是在实际使用中,通常使用有符号数且常用补码的形式,因此需要对这种结构进行改进。一种改进方法是将输入的数据分开,即最高的几位作为有符号数处理,其它作为无符号数处理。第二种改进方法是将有符号数经过补码/原码变换器变换成原码,然后,将原码作为无符号数处理,通过有符号数的符号位来控制加法器的加减。第三种改进方法是一种优化方法,即采用三个二进制补码变换器,处理输入的有符号数和滤波器的系数,这样可以避免使用有符号数的乘法和加法运算。具体的乘法累加器运算过程及结果如图3所示。其中,对应乘数高位和低位的部分积p1(n)和p2(n)可以分别先垂直相加后水平相加,或者先水平相加后垂直相加,最后的结果是一样的。若采用后种方法,由于FIR滤波器的h(n)均为常数,得到部分积的矢量乘法运算就演变成了查表法,其中,S1(n)表示S(n)的最低有效,p1表示最低有效位部分积之和。

具体的乘法累加器运算过程及结果

图3 具体的乘法累加器运算过程及结果

?????? 同理,得p2,将p2左移一位与p1相加,便得到最后结果。这种查表法就是采用流水线技术进行FIR滤波器算法分解的基础,当字长增加时,相应得到p3、p4等。并相应移位相加即可。采用流水线技术和加法器的资源共享技术可以更好地提高常数乘法器的优越性。16比特输入、14比特常数的这种方法的常数乘法器的结构如图4所示。

常数乘法器的结构图

图4 常数乘法器的结构图

?????? 在这种结构中,时钟是f1,内部操作的时钟是4×f1,其中的4个多路复用器每次可以从16路信号中选出4位用作ROM的地址线。每次4位地址线从ROM中读出数据,经过相应的移位相加即可,两位计数器用来控制这些多路复用器的输出。?
??????


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

流水线? 并行? 高效? 滤波器?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈