所有提交的EM系统将被重定向到网上投稿系统.作者被要求将文章直接提交给网上投稿系统各自的日志。

一种基于布斯乘法器的多重常数乘法/累积的低成本Fir滤波器设计

g . Srilakshmi1还有普拉特纳·卡维亚2
  1. M.Tech,助理教授,电子与通信工程系,Pragati工程学院,Surampalem (Ap)印度
  2. 技术硕士,电子与通信工程系,Pragati工程学院,Surampalem (Ap)印度
有关文章载于Pubmed谷歌学者

更多相关文章请访问国际电气、电子和仪器工程高级研究杂志

摘要

在不牺牲频率响应和输出信号精度的前提下,利用乘法器的概念优化位宽和硬件资源,提出了低成本的有限脉冲响应(FIR)设计。提出了采用适当滤波阶数的非均匀系数量化方法,使总面积和成本最小化。直接FIR结构中的多个常数乘法/累加是使用布斯乘法器的改进版本实现的。在该方法中实现了一个布斯乘法器。在布斯乘法器乘符号数是一个额外的优势。与以往的FIR设计方法进行了比较,结果表明,所提出的设计实现了最佳的面积和功率效果。

关键字

数字信号处理(DSP),可靠舍入,有限脉冲响应(FIR)滤波器,截断乘法器,VLSI设计

介绍

有限脉冲响应(FIR)数字滤波器是许多数字信号处理(DSP)和通信系统的基本部件之一。它也被广泛应用于许多面积和功率预算有限的便携式应用中。M阶的一般FIR滤波器可以表示为
方程
在线性相位的情况下,系数对a是对称的或反对称的=一个,我或者一个=−,我
FIR有两种基本结构,即直接式和转置式,多重常数乘法(MCM)/累积(MCMA)模块对单个延迟信号和各自的滤波器系数进行并行相乘,然后对所有乘积进行累加。因此,MCMA乘法器的操作数是延迟输入信号x[n−i]和系数a
MCM模块中乘法器的操作数是当前输入信号x[n]和系数。单个常数相乘的结果要经过结构加法器(sa)和延迟元件。为了避免昂贵的乘法器,目前大多数数字FIR滤波器的硬件实现可以分为两类:基于乘法器的和基于内存的。
基于乘法器的设计通过移位运算和加法运算实现MCM,并通过规范有符号数字(CSD)编码和公共子表达式消除(CSE)共享公共子运算,以最小化MCM的加法器成本。综合考虑系数量化优化和CSE优化,可获得更大的面积节约。大多数基于乘数mcm的FIR滤波器设计使用转置结构来允许交叉系数共享,并且往往更快,特别是当滤波器阶数很大时。然而,由于常数乘法的范围扩大和sa中的后续加法,延迟元件的面积比直接形式更大。Blad和Gustafsson提出了高通量(TP) FIR滤波器设计,通过在常数乘法中使用整数线性规划实现进位保存加法器树的流水线化,以最小化全加法器(FAs)、半加法器(HAs)和寄存器(算法和流水线寄存器)的面积成本。
基于内存的FIR设计包括两种方法:查找表(LUT)方法和分布式算法(DA)方法。基于ut的设计将输入信号的奇数倍存储在rom中,以实现MCM中的常数乘法。基于da的方法递归地积累位级部分结果,用于FIR滤波中的内积计算。
在本文中,我们介绍了基于布斯乘法器的直接结构的FIR滤波器的低成本实现。MCMA模块通过累积所有的偏积(PP)来实现,其中不需要的PP位(ppb)被去除,而不影响输出的最终精度。为了在满足频响要求的同时降低硬件成本,采用不等字长非均匀量化最小化了所有滤波器系数的位宽。

系数量化与优化

FIR滤波器设计与实现的一般流程可分为三个阶段:确定滤波器阶数和系数、系数量化和硬件优化。在第一阶段,确定无限精度的滤波器阶数和相应的系数,以满足频率响应的要求。然后,将系数量化到有限位精度。最后,采用CSE等多种优化方法来最小化硬件实现的区域成本。以往的FIR滤波器实现大多集中在硬件优化阶段。
在本文中,我们采用了MCMA的直接FIR结构,因为与转置形式相比,触发器在延迟元件中的面积代价更小。此外,我们共同考虑这三个设计阶段,以实现更有效的硬件设计和忠实的四舍五入输出信号。
在系数量化之后,我们执行重新编码以最小化非零数字的数量。在本文中,我们考虑了数字集为{0,1,−1}的CSD编码和基数为4的数字集为{0,1,−1,2,−2}的修改Booth编码,并选择面积代价较小的一种编码。
虽然大多数FIR滤波器设计使用最小滤波器阶数,但我们观察到,可以通过稍微增加滤波器阶数来最小化总面积。因此,使用子程序area, cost和estimate()来估计FIR滤波器的总面积。事实上,MCMA中PPB的总数与PPB压缩所需的FA细胞数量成正比,因为一个FA减少了一个PPB。
经过第1步均匀量化和滤波器阶数优化后,第2步的非均匀量化使各系数的位宽逐渐减小,直到频率响应不再满足。
最后,通过增加或减少每个系数的LSB权重,对非均匀量化系数进行微调,并检查是否可以进一步降低比特宽。在FIR滤波器实现中,我们可以找到导致面积代价最小化的滤波器阶M和非均匀量化系数。

布斯乘数

它是一种强大的带符号数乘法算法,它统一地处理正数和负数。
对于标准的加-移操作,每个乘数位生成要加到部分积的乘数的一个倍数。如果乘数非常大,则必须添加大量的乘数。在这种情况下,乘数的延迟主要由要执行的加法的数量决定。如果有一种方法可以减少添加的数量,性能就会变得更好。
布斯算法是一种减少乘数和乘数的方法。对于要表示的给定数字范围,更高的表示基数导致更少的数字。由于K位二进制数可以解释为K/2位基数-4的数,K/3位基数-8的数,等等,它可以通过使用高基数乘法在每个周期中处理一个以上的乘数。这在下面的例子中为基数4显示。
如上图所示,如果以4为基数进行乘法运算,每一步都需要形成偏积项(Bi+1Bi) 2a,并加到累积偏积项中。而在以2为基数的乘法运算中,偏积矩阵中的每一行点都代表0,或者a的移位版本必须包含和相加。
下面的表1用于将二进制数转换为基数4数。最初,一个“0”被放置在乘数的最右边。然后根据下表或下面的公式对乘数的3位进行重新编码:
Zx = 2我+ 1+ x+ x
例子:
乘数等于0 10 1 1 10 0相加
一次选择3位,最左边的位重叠,如下所示:
例如,一个无符号数可以转换为一个带符号的基数为4的数字:
(10 01 11 01 10 10 11 10)2= (-2 2 -1 2 -1 0 -2)4
Multiplier位对编码如表2所示
这里-2 *multiplicand实际上是multiplicand的2s补,具有等效的一位位置左移。此外,+2 *multiplicand是乘法并左移一位位置,相当于乘以2。
要在加法器中输入±2*乘数,需要一个(n+1)位加法器。在这种情况下,乘数向左偏移一位以进入加法器,而对于低阶乘数位置则添加0。每次偏积向右移动两位位,符号向左扩展。
在每个加-移周期中,不同版本的乘数被添加到新的部分积中,这取决于从上面的位对重新编码表中导出的方程。
让我们来看一些例子:
方程

实验结果

图像
图像
图像
图像
图像

结论

本文提出了在实现中综合考虑系数位宽优化和硬件资源优化的低成本FIR滤波器设计。在该方法中实现了布斯乘法器。用布斯乘法器来乘有符号的数。虽然大多数先前的设计是基于转置形式,给出了直接FIR结构的信息与展位乘数导致最小的面积成本和功耗。

表格一览

表的图标 表的图标
表1 表2

数字一览

数字 数字 数字 数字 数字
图1 图2 图3 图4 图5

参考文献


















全球科技峰会