fir数字滤波器设计与软件实现_基于概率计算的数字滤波器的实现
摘要:本文提出了一种基于概率计算的低功耗数字滤波器实现方法。首先对传统滤波器的算法进行改进,使其映射到概率域中。其次提出了算法所对应的硬件结构,给出了串行和部分并行的基于概率计算的实现结构。分析了其与传统滤波器信噪比及功耗的性能。所提出的概率计算的滤波器结构更简单,容错性更强。因此其更适用于低信噪比、低开销的环境中。
关键词:概率计算;数字滤波器;容错性;
中图分类号:TP79文献标识码:A
The Implementation of Digital Filter based on Stochastic Computation
CHEN Jie-nan, HU Jian-hao
(National Key Laboratory of Science and Technology on Communications, University
of Electronic Science and Technology of ChinaChengdu610054)
Abstract:A low power digital filter based on stochastic computation is proposed, in which the traditional digital filter algorithm is improved to be mapped to the probability field. The serial and part parallel structures are proposed based on the probability digital filter algorithm. The signal to noise ratio (SNR) is also analyzed. The filter based on stochastic computation has simple hardware structure, and more error tolerant. The proposed stochastic filter can be applied in the low SNR and low hardware cost field.
Key words:Stochastic Computation; Digital Filter; Error Tolerant ;
1引言
随着集成电路工艺的不断发展,对计算精确度愈加难以保证,而且如何能降低系统的功耗,这些问题已成为目前集成电路设计的瓶颈[1][9]。虽然传统的方法提出了采用电路保护,或者部分加强的方法来保证计算的精确性[2],但是这些都是以额外的开销的代价来实现的。并且当采用低电压供电以降低模块功耗时,基本的逻辑门电路,包括纠错电路的功能会出现差错。
近来,有学者将概率计算应用于数字信号处理的过程中[3],其主要思想是将概率值用二进制序列中1所占的比例来表征。而计算则通过对应比特的逻辑关系来实现[6]。
在文献[4]提出了一种基于指数转化的概率计算滤波器,但是其由于涉及到指数逼近,因此其性能有所损失。本文提出的概率滤波器,在低信噪比时信噪比小于等于20dB,其性能与传统滤波器计算性能相当;但是硬件开销更低,关键路径更短。因此,本文设计的基于概率计算的滤波器能够应用在信噪比较低而对面积要求较高的环境。
本文余下章节如下:第二章是算法分析,第三章是硬件实现的分析,第四章是性能分析,最后第五章是总结。
2算法分析
假设一个滤波器的功能函数为[7]:
f(x)=x1c1+x2c2+…xncn(1)
为了将其归一化到概率域,我们分别对xi与ci作如下归一化:
P(x)=(x-min(x))/max(|x|)(2)
P(c)=(c-min(c))/sum(c)(3)
这样就变为了:
P(f(x))=ΣP(x)P(c)(4)
因为:ΣP(ci)=1以及P(xi)∈[0,1],因此:
P(f(x))∈[0,1] (5)
这样我们就将滤波器的函数归一化到了概率域。这样我们可以利用概率计算来完成;而多余的直流偏量可以用一个补偿电路进行抵消。
这样,我们可以利用一个多路选择器来完成(4)。
如果对于端口序列Xi的选通概率为P(S(Xi)),而假设输入到端口Xi的序列1的概率为P(Xi),那么从Xi得到的序列概率为P(S(Xi))•P(Xi)。这样对于输出Y的序列概率为:ΣP(S(Xi))•P(Xi)。正好是归一化后的滤波器功能函数,因此我们可以利用多路选通器来完成滤波器的设计。图1为串行的实现结构,为了提高数据吞吐率,我们还提出部分并行和全并行的实现结构,将在后面详细介绍。
3实现结构
3.1 总体结构
根据所提的结构,我们的概率滤波器包含用于将输入数据转化成概率序列的X转换器、用于将系数转化为选择信号的信号生成单元、完成信号选择的多路选通器,以及最后将序列转化为数据的加法器。
这样,利用一个多路选通器和多个信号生成单元加上一个计数器可构成串行的概率滤波器。选择系数可以提前算出并储存在存储器中。
3.2 输入信号序列生成器
对于输入数据x,我们要将其转化为概率序列X的形式。首先,通过(2)式将其转化为概率值,而(2)式的目的有两个,一个是将其转化为正数,而是将其归一化到[0,1]。在数字电路中,小数只是数值表征的一种方式,因此我们只需要将其转化为正数,为了简化电路,我们将(2)式修改为:
P(x)=x+2n-1 (6)
n为二进制下序列的长度。在硬件电路中,(6)式的实现,只需要对最高位取反即可。
为了简化电路,对于生成序列X,我们不采用随机比较的形式生成。因为,决定最终结果性能的是选择信号C,X的生成序列f(x)的表达式为:
f(x)=1 0 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文 我们可以将C进行离线计算,然后经过螺旋交织后,将计算的结果即选择序列存放到存储器中。再对应的时钟将C中的值取出并选择对应端口即可。
3.4 基于并行结构的滤波器
假设序列长度为2n,而我们需要做2K的并行n>k。这时对于X,我们需要同时产生2K比特的输入值。
假设需要转化的数值为x,那么x可以表示为:
x=2K•t +y (8)
(8)式表明,我们需要在前t 时钟并行产生2Kt 比特,然后在t +1时钟产生y ,剩下的时钟产生全0。其硬件实现可以由如下电路产生:
首先,将需要转化的数据分为两部分:
x =[x/2]
x =x-2•x (9)
(9)式的操作只需要将n比特的x取其高n-k比特和低k比特即可。根据(9)式当计数器计数小于t时,比较器输出1,选择数值2输出,而当比较器输出0时,则应该输出一个时钟的y =xL。因此,我们用一个寄存器将比较信号延迟一拍,以保证其将y =xL输出。随后时钟周期内,其输出全零。每个时钟周期内输出的dk需要转化为序列的形式,因此,我们可以直接将dk的k比特连接上2根信号线,k-1比特连接上2根,依次类推最后1比特对应1根信号线,加上比较器的信号一共形成根2信号线,连接到2多路选择器所对应的端口即可。
每个多路选择器的选通信号可以通过系数存储器将系数并行读出即可。这样,采用所提出的结构,我们可以得到任意并行数的滤波器结构。
这节我们以一个16阶的序列长度为256的滤波器,进行实例分析。假设我们对此滤波器采用了16并行的设计。首先将系数选择序列计算出来存放到ROM中,并且将16个数据存为一个地址,以方便并行操作。根据上文的分析,我们利用16个多路选通器和16个x转化器,来完成滤波器的设计。其整体框图如图 5所示。
3.5 总结
我们提出了两种概率滤波器的结构,串行和部分并行。串行滤波器的硬件开销最小,关键路径也最短,但是需要较长的时钟周期进行运算,滤波器的数据吞吐率低。部分并行滤波器则能在速度和硬件开销中灵活地折中。
4滤波器性能
为了测试滤波器的性能,我们测试了一个16阶的FIR低通滤波器,其归一化截止频率为0.5。然后我们产生了一个归一化频率为0到0.75的chirp信号通过该滤波器。以浮点计算的滤波器、传统定点计算的滤波器和概率计算的滤波器幅频特性如图6所示。
通过测试,我们发现概率滤波器的频幅特性与定点计算的滤波器性能近似,在归一化频率为0.5时,其对频率的抑制达到了-30dB。在高频时,由于概率计算的误差,其滤波器性能略有损失;但是其总体性能还是很好的。
4.1 低信噪比下滤波器的性能
基于概率计算的滤波器由于是非精确计算,因此在计算过程中会引入计算误差,因此在高信噪比输入时,基于概率计算的滤波器性噪比是低于传统滤波器的输出性噪比的。但是,当输入信噪比比较低时,由于基于概率的滤波器没有噪声放大效应,因此,当输入信噪比较低时,概率滤波器和传统滤波器输出性噪比的差值也逐渐减少。
图7是长度为256bit的概率滤波器和对应的8bit的传统滤波器(乘法器不扩位)在输入信噪比从30dB到-5dB的性能分析图。根据仿真结果可以看出,当输入信噪比为30dB时,概率滤波器的性能较传统滤波器有1dB的性能增益。但是随着输入信噪比的下降,基于概率滤波器的性噪比下降没有传统滤波器的快,当输入信噪比在20dB时,两种方法的信噪比基本上相同。因此,概率滤波器可以应用在输入信噪比较低的场合,例如数字中频滤波器等场合。
4.3 硬件开销与计算速率
我们假设序列长度为,滤波器阶数为,其硬件开销和计算速率如表 2所示:
从硬件开销的分析可以看出,当量化位宽n小于11比特时,基于概率的滤波器硬件开销较传统滤波器小,而且基于概率的滤波器处理速度和硬件开销,可以更加的灵活。而且其关键路径较短适合高速的电路。
因此概率滤波器适用于需要量化位宽较少的场合,其较小的硬件面积,也降低了功耗。
5结论
本文提出的一种新的基于概率的滤波器结构适合用于低功耗、低信噪比和低开销的应用场合。当输入信噪比较低时,其与传统滤波器性能相当,而且有更小的硬件开销。采用本文所提出的设计方法,能够根据需求灵活设计出适合需要的处理速度下的滤波器。
参考文献
[1] Pinar Korkmaz, Bilge E. S. Akgul and Krishna V. Palem. Energy, Performance, and Probability Tradeoffs for Energy-Efficient Probabilistic CMOS Circuits[J]. IEEE Trans on Circuits and Systems-I, 2008: 2249-2262
[2] Ou E, Yang W, Fast error-correcting circuit for fault-tolerant memory[C]. Memory Technology, Design and Testing, 2004, 8-12
[3] Weikang Qian and Marc Riedel. The Synthesis of Robust Polynomial Arithmetic with Stochastic Logic[C]. Design Automation Conference, 2008, 648-653
[4] C.L Janer, J.M Quero and L.G Franquelo et. Fully Parallel Stochastic Computaiton Architecture[J]. IEEE Trans on Signal Processing, 1996: 2110-2117
[5] J. Groge, B. Marr and K. V Palem et. Probabilistic Arithmetic and Energy Efficient Embedded Signal Processing[C]. CASES, 2006,
[6] Xin Li, Weikang Qian and David Lijia. An Architecture for Fault-Tolerant Computation with Stochastic Logic. Great Lakes Symposium on VLSI[C], 2009
[7] Sanjit K.Mitra. Digital Signal Processing[M]. McGraw-Hill, 2001:359-421
[8] John F.Wakerly. Digital Design: Principles and Practice Package 4th[M]. Prentice Hall, 2005,6: 183-237
[9] L. Chakrapani, B. E. S. Akgul, S. Cheemalavagu, P. Korkmaz, K. Palem, and B. Seshasayee, “Ultra-efficient (embedded) SOC architectures based on probabilistic cmos (PCMOS) technology,” Proc. Of Design Automation and Test in Europe (DATE), Mar. 2006.
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文
