关键字 |
多相抽取滤波器,布斯乘法器,BFD乘法器结构,面积,功耗,进位前加法器,速度。 |
介绍 |
多速率(抽取/插值)滤波器是星载仪器中必不可少的信号处理组件之一,其中有限脉冲响应(FIR)滤波器经常用于最小化非线性群延迟和有限精度影响。多速率FIR (MRFIR)滤波器的级联(多级)设计进一步用于大速率变化率,以降低所需的吞吐量,同时实现与单级设计相当或更好的性能。传统的MRFIR表示和实现采用原始滤波器结构的多相分解,其主要目的是在尽可能低的采样率下仅计算所需的输出。 |
近年来,在多速率数字信号处理领域有了快速的发展。多速率系统的应用包括视频、音频和语音信号的子带编码,使用数字滤波器组的快速变换,所有类型信号的小波分析,以及许多其他领域。在多速率系统中,抽取和插值滤波器是最重要的组成部分。大量的文献涉及抽取和插值滤波器的理论和设计。 |
然而,关于多速率滤波器的VLSI实现方案的问题还没有得到深入的研究。由于处理速度和硅面积是VLSI实现的关键因素,本文提出了一种灵活高效地实现多速率FIR滤波器的可扩展实现方案。 |
信息技术的进步和对超大规模集成问题日益增长的需求导致了一些优化算法和技术的快速发展。低功耗和小面积是DSP系统和高性能系统的重要标准。DSP系统对元件公差和环境变化的敏感性较低,采用浮点算法[2]可增大系统的动态范围。多速率处理出现在数字信号处理的许多领域。 |
多速率信号处理应用包括数字磁带、跨多路复用器、子带编码、语音处理、模拟语音保密系统等[1]。在数字音频中,采样率转换约为32 kHz到44.1kHz, 44.1kHz到48kHz,反之亦然。符号率处理、比特率处理和采样率处理是数字通信中的一些信号处理问题。多相分解是多速率信号处理中最重要的技术之一。多相结构采用FIR滤波器,实现效率高。因为FIR滤波器是有条件稳定的线性相位滤波器。线性相位的意思是它们的相位延迟和群延迟必须是常数。在数据通信中,如果一个脉冲被涂抹,那么接收到的信号就不能向预期的用户传递所需的信息。因此,线性相位是FIR滤波器最固有的特性。 |
精确的线性相位不能用IIR滤波器实现。这只能通过FIR滤波器来实现。采用遗传算法求解多级采样率转换FIR滤波器设计[4]的多级参数组合。采用位级优化算法设计了高速FIR抽取滤波器[5]。利用收缩分解[19]实现了高效的FIR滤波器。功率损耗是一个变化迅速的因素,也是当今最具挑战性的问题之一。德州仪器公司正在制造不需要电源的数字电路。 |
特别是像心脏人工移植和人工助听器这样的植入式设备,他们的目标是利用体温工作的设备。通过减少开关活动因子和最小化在滤波器结构中保持的操作数量,功耗最小化。通过加法器和计数器[8]降低开关活动。与优化后的树形乘法器相比,该乘法器在保持相似延迟[9]的情况下,具有较小的面积和功率。功耗的降低是通过在软件中改变乘数来实现的,而不需要对硬件进行任何修改[10]。采用优化的华莱士树和流水线技术设计了一种功率感知布斯乘法器[11]。SPST(伪功率抑制技术)应用于高速和低功率的乘法器[12]。低功率定宽乘法器用于提高速度,大大降低功率和面积[13]。一种称为旁路零、直接馈电A (BZ-FAD)的低功耗结构用于移位和添加乘法器结构,大大降低了开关活动[7]。在本文中,为了降低功耗,建议采用具有节能Booth乘法器的FIR滤波器。 |
本文介绍了采用进位前向加法器的布斯乘法器结构的高速低功耗多相乘法器的设计。与传统的倍增器相比,这降低了功耗,提高了速度。 |
提出多相抽取滤波器 |
滤波器可以通过直接形式、级联形式、线性相位和多相实现等多种方式实现。当将滤波器的传递函数分解为若干个子分支时,这个过程称为多相实现[1][2][3]。 |
A.多相FIR滤波器 |
有限脉冲响应(FIR)滤波器是一种零相位滤波器,在通带中大小为单位,在止带[3]为零。FIR系统由“(1)”所示的差分方程描述。 |
(1) |
其中kb为滤波器系数,x(n)和y(n)为输入和输出序列。等效系统函数在(2)中给出。 |
(2) |
此外,FIR系统的单位样本响应与滤波器系数相同。FIR滤波器可以设计为在整个频率范围内提供精确的线性相位,并且始终是BIBO稳定的,与滤波器系数无关。 |
N阶线性相位FIR滤波器的特征是由“(3)”中给出的对称脉冲响应。 |
h(n) = h(n−n) (3) |
或由FIR滤波器的非对称脉冲响应给出(4) |
h(n) =−h(n−n) (4) |
线性相位FIR滤波器的对称(或不对称)特性可以被利用来将乘法器的总数减少到传递函数的直接形式实现的几乎一半。 |
一般情况下,N阶传递函数的l支多相分解的传递函数由“(5)”给出。 |
(5) |
FIR滤波器是基于多相分解实现的,采用并联结构。为了说明这种方法,在“(6)”中给出了一个长度为9的FIR传递函数H(z),它是滤波器系数H(k)的函数,0≤k≤8。 |
H(z) = H(0) + H(1)z−1 + ........+ h(8)z−8 (6) |
上述传递函数可以表示为两项的和,其中一项包含偶数指标系数,另一项包含奇数指标系数,由 |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-e007.gif) |
对同一方程进行不同分组,传递函数以子带形式重新表示,如“(7)”所示。 |
(7) |
式(7)如图1所示。该结构具有延迟器、乘数器和累加器。 |
B.转置多相抽取滤波器 |
具有抽取因子D(其中D为正整数)的decimator会生成一个输出序列y(n),其采样率为输入序列x(n)的(1/D)次。这是通过保留输入序列的每个d次样本,并在连续样本之间删除D-1样本来实现的。因此,所有指数等于D整数倍的输入样本都保留在输出端,其他样本都被丢弃,根据“(8)”中给出的关系生成输出序列。 |
y(n) = x(nD) (8) |
抽取会产生混叠,为了避免混叠效果,在对[17]进行下采样之前,先使用低通的蚂蚁混叠滤波器。 |
本文采用抽取滤波器的转置形式,避免了抽头延时结构中使用的移位寄存器。这里,x(n)以采样率fs进入滤波器,并同时应用于所有的分频乘法器。转置滤波器的级数取决于抽取因子的值和系数的个数。阶段数等于系数数除以抽取因子。如果系数不是抽取因子的倍数那么我们就必须加上0。 |
所提出的抽取因子为3的多相滤波器转置形式的结构如图2所示。在这个结构中,在每个周期中,输入x(n)通过抽头乘法器。最初输入序列x(n)是通过并行输入串行输出(PISO)移位寄存器给出的。 |
PISO的输出被分配给三个子滤波器部分,其中输入序列通过串行输入并行输出(SIPO)移位寄存器以并行形式处理。每一段,输入都乘以系数。由于处理是并行完成的,这种结构提高了操作速度。这些系数以采样率循环它们的值,但在任何给定时间的系数指数都被抽取率D隔开。 |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-g001.gif) |
系数与样本相乘,但输入样本和系数在每个周期中都在变化。累加器的功能是每3(D)个周期累积乘数的值。进位前视加法器用于加法运算,以提高运算速度。用这种多相结构可以得到抽取后的输出y(n)。 |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-g002.gif) |
乘法器架构 |
有几种乘数器可用于执行乘法。移位和添加、BFD乘法、常规乘法和伪功率抑制是用于执行乘法的一些技术。本文将布斯倍增器与传统倍增器和BFD倍增器进行了比较。 |
A.展位倍增器: |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-g003.gif) |
它是一种强大的带符号数乘法算法,它统一地处理正数和负数。 |
对于标准的加-移操作,每个乘数位生成要加到部分积的乘数的一个倍数。如果乘数非常大,则必须添加大量的乘数。在这种情况下,乘数的延迟主要由要执行的加法的数量决定。如果有一种方法可以减少添加的数量,性能就会变得更好。 |
布斯算法是一种减少乘数和乘数的方法。对于要表示的给定数字范围,更高的表示基数导致更少的数字。由于K位二进制数可以解释为K/2位基数-4的数,K/3位基数-8的数,等等,它可以通过使用高基数乘法在每个周期中处理一个以上的乘数。这在下面的例子中为基数4显示。 |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-g005.gif) |
如上图所示,如果以4为基数进行乘法运算,每一步都需要形成偏积项(Bi+1Bi) 2a,并加到累积偏积项中。而在以2为基数的乘法运算中,偏积矩阵中的每一行点都代表0,或者a的移位版本必须包含和相加。 |
下面的表1用于将二进制数转换为基数4数。最初,一个“0”被放置在乘数的最右边。然后根据下表或下面的公式对乘数的3位进行重新编码: |
Zi = -2xi+1 + xi+ xi-1 |
例子: |
乘数等于0 1 1 1 10 |
然后把0放在最右边的位,得到0 |
10 1 1 10 0 0添加 |
一次选择3位,最左边的位重叠,如下所示: |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-t001.gif) |
例如,一个无符号数可以转换为一个带符号的基数为4的数字: |
(10 01 11 01 10 10 11 10)2 = (-2 2 -1 2 -1 10 -2 |
Multiplier位对编码如表3.2所示 |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-t002.gif) |
这里-2 *multiplicand实际上是multiplicand的2s补,具有等效的一位位置左移。此外,+2 *multiplicand是乘法并左移一位位置,相当于乘以2。要在加法器中输入±2*乘数,需要一个(n+1)位加法器。在这种情况下,乘数向左偏移一位以进入加法器,而对于低阶乘数位置则添加0。每次偏积向右移动两位位,符号向左扩展。在每个加-移周期中,不同版本的乘数被添加到新的部分积中,这取决于从上面的位对重新编码表中导出的方程。 |
让我们来看一些例子: |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-e014.gif) |
B.进位前向加法器(CLA) |
进位前瞻加法器(CLA)通过根据输入信号提前计算进位信号来解决进位延迟问题。它基于这样一个事实:在两种情况下将产生进位信号:(1)当位ai和bi都为1时,或(2)当两位中的一位为1且进位为1时。因此,我们可以这样写: |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-e011.gif) |
以上两个方程可以用Pi和Gi这两个新的信号来表示,如图4所示: |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-g004.gif) |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-e012.gif) |
Pi和Gi分别被称为进位生成项和进位传播项。请注意,生成项和传播项仅依赖于输入位,因此将分别在一个和两个门延迟后有效。如果使用上面的表达式来计算进位信号,就不需要等待进位通过前面的所有阶段来找到合适的值。让我们把它应用到一个4位加法器上。 |
把I = 0,1,2,3代入方程5,我们得到 |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-e013.gif) |
实现观测: |
以FPGA实现过程中获得的各种图形视图的形式说明了所提算法的实现。图中展示了集成的Interpolator和Decimator模块的综合报告,该模块由栅极级网络列表构建到Verilog HDL中描述的电路模型。图为所提算法的RTL视图,图为目标FPGA器件的技术原理图。 |
结果与讨论 |
在本文中,我们提出了如何利用插值器和抽取器使FIR滤波器适用于多采样率。为了降低复杂性,我们采用了低复杂度FIR滤波器设计,并结合可编程移位方法。本文提出的技术能够降低DSP处理中需要多个采样率的抽取滤波器和插补滤波器电路的复杂性。 |
采用Xilinx 14.3和ModelSim 6.3g设计并验证了多相抽取滤波器。Xilinx仿真结果如下所示。多速率FIR滤波器的RTL(寄存器传输逻辑)原理图、技术原理图和设计摘要如下图所示。6.结果是乘数的输出为16位宽。下图显示了Multiplier架构的详细RTL原理图。 |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-p005.gif) |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-p001.gif) |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-p002.gif) |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-p003.gif) |
![图像](//www.cheescube.com/articles-images/ IJAREEIE-1068-p004.gif) |
结论 |
本文提出了一种具有高速、高效、节能的布斯乘法器结构的多相抽取滤波器。对于长度为9 (N=9)的滤波器,估计了各种关键性能指标,如切片数量、最大工作频率、LUT数量、输入-输出键、功耗、设置时间、保持时间、源和目的地之间的传播延迟。与传统的移位加乘法器和BFD乘法器相比,采用这种低功率乘法器结构的多相抽取滤波器的功耗略有降低。 |
优点: |
这项工作的优点是它降低了复杂性,从而减少了面积,功耗,提供了更高的吞吐量率,更高的处理速度,快速计算,LFSR可以快速传输一个序列,表明高精度的相对时间偏移量等等。 |
参考文献 |
- Sean Caffee,“连续可变分数率Decimator”,Xilinx, xapp936 (v1.1), 2007年3月5日。
- John G.Proakis, DimitrisG。Manolakis,“数字信号处理,原理,算法和应用”,第四版,印度普伦蒂斯大厅,2006年。
- P.P.Vaidyanathan,“多速率系统和过滤器组”,ISBN 978-81- 7758-942-9, Pearson,第五印象,2011。
- 黄德峰,洪绍仁,“基于遗传算法的多级多速率FIR滤波器优化设计”,电子工程学报,2009。
- Anton Blad和Oscar Gustafsson“用于高速抽取应用的位级优化FIR滤波器架构”,IEEE 2008
- AbdSamadBenkrid, IEEE成员,KhaledBenkrid, IEEE高级成员。“具有对称信号扩展的fir滤波的新型区域高效FPGA架构”,超大规模集成系统学报,VOL. 17, NO. 1。2009年5月5日。
- M. Mottaghi-Dastjerdi, A. Afzali-Kusha和M. Pedram,“基于shift - add架构的BZ-FAD低功耗低面积乘法器”,第7卷,No. 1。2、2009年2月。
- C.N.Marimuthu, Dr.P.Thangaraj和Aswathyramesan,“低功率转换和增加乘数设计”,国际计算机科学与信息技术杂志,第2卷,第3期,2010年6月。
- 黄志军和Milos D. Ercegovac,“高性能从左到右阵列乘法器设计”,计算机科学系,加州大学洛杉矶分校,CA 90095。
- Kyungate Han,“低功耗信号处理软件的数据字长缩减”,最终报告,2004年5月13日。
- 李汉浩,“功率感知的可扩展流水线式展台乘法器”,电子工程学报,vol.E88-A, N0.11, 2005年11月。
- K.-H。陈和y.s。楚。具有伪功率抑制技术的低功率倍增器,IEEE Trans。超大规模集成电路(VLSI)系统,vol.15,no.7,pp。846 - 850年,2007年7月。
- 王俊生,郭c.n.,和T.H.Yang,“低功耗定宽阵列乘法器”,在Proc.IEEESymp。低功率电子。Des.,2004, pp 307-312。
- V.P.Nelson, H.T.Nagle, B.D. Carroll,和J.I. David,“数字逻辑电路分析与设计”,Englewood Cliffs, NJ: Prentice-Hall, 1996。
- 纽约。沈和o.t.c。陈,“通过最小化部分产品的开关活动的低功率倍增器”,在Proc.IEEE Int.Symp.CircuitsSyst。, 2002年5月,第1辑,pp.93 - 96。
- O.T.Chen, S。王和y.w。吴,“设计低功率倍增器的部分产品的开关活动最小化”,IEEE Trans。超大规模集成(VLSI)系统。, vol.11,不。3.,pp.418-433, Jun. 2003.
- Robert Bregovic, TapioSaramaki, Yu Ya Jun,和Yong Ching Lim,“合理采样率转换的线性相位FIR滤波器的有效实现”,IEEE 2006。
- Alvin Joseph J. Tang Joy Alinda Reyes,“低功率倍增器架构的比较分析”2011第五届亚洲建模研讨会,IEEE 2011。
- Pramod Kumar Meher, ShrutisagarChandrasekaran, Abbes Amira,“基于分布式算法的高效灵活压缩FIR滤波器的FPGA实现”,《IEEE信号处理学报》,VOL.56, NO.7, 2008年7月。
|