CN101957738A - 基于一阶矩的数字内积计算器 - Google Patents

基于一阶矩的数字内积计算器 Download PDF

Info

Publication number
CN101957738A
CN101957738A CN2010102880578A CN201010288057A CN101957738A CN 101957738 A CN101957738 A CN 101957738A CN 2010102880578 A CN2010102880578 A CN 2010102880578A CN 201010288057 A CN201010288057 A CN 201010288057A CN 101957738 A CN101957738 A CN 101957738A
Authority
CN
China
Prior art keywords
mrow
inner product
moment
module
msub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010102880578A
Other languages
English (en)
Inventor
刘建国
潘超
汪国有
刘振丙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN2010102880578A priority Critical patent/CN101957738A/zh
Publication of CN101957738A publication Critical patent/CN101957738A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明提出了一种数字内积计算器,用于实现各种以数字内积作为其基本计算形式的数字序列计算。该计算器由统计模块和一阶矩计算模块组成,统计模块的功能是通过数值统计,将内积形式转化为一阶矩的形式;一阶矩计算模块则是快速计算由统计模块获得的一阶矩,得到内积计算结果;本发明还可以包括协调模块,用于连接统计模块和一阶矩计算模块,实现两模块的协调操作。本计算器只使用了加法器和寄存器,当内积的形式发生改变时,通过改变输入数据的方式,即可实现不同形式内积的计算,完全不需要改变计算器本身的结构。

Description

基于一阶矩的数字内积计算器
技术领域
本发明涉及一种数字内积计数器,特别是一种快速计算数字内积的无乘法计算器。它可应用于离散整型数据(如数字信号和图像)处理中,一切以内积作为其基本计算形式的数据操作。
背景技术
作为计算两组数据的乘积累加和,内积已成为离散数据处理中最重要的操作之一。目前很多重要的基本数据操作,如数字卷积、相关、变换等,其本质都是通过内积计算实现。因此,内积可以在多个领域得到广泛应用,例如在数字信号和图像的传输及压缩中,通过内积计算执行各种变换(离散傅里叶变换、离散余弦变换、离散正弦变换、离散哈特利变换、离散小波变换),将数据转变为频域值,进行压缩后再传输;在信号和图像的滤波中,通过内积计算执行卷积,完成数据的去噪、平滑和锐化;在模式识别中,通过内积计算执行各种相关操作,实现特征比较和模板匹配,从而选择出最优的识别方案。然而,在实际的操作过程中,根据定义公式计算内积往往需要较多的乘法和加法,增加了数据处理的时间,尤其是当内积长度较大时,大规模的乘法和加法操作会严重降低系统的计算效率,难以满足速度要求较高的实时处理系统。因此,开发出具有高效、快速,以及硬件成本低的内积计算装置,实现变换、卷积、相关等操作的快速计算,对于离散数据,特别是数字信号和图像处理技术的发展,具有重大的推动促进作用。它可减少数据的处理时间和功耗,提高处理器的实时性能,尤其适用于实时性、大规模、高复杂度的数据计算场合。
目前,国内外已经出现了多种快速计算装置,用于计算不同形式的内积。在各种变换的计算中,根据不同快速变换算法所设计的计算器,可有效减少变换需要的乘法和加法数量,提高了计算的效率。而在卷积和相关的计算中,主要采用快速FFT、多项式算法、分解算法来设计其快速计算器。然而,在以上根据快速算法设计的内积计算器中,很多的算法往往比较复杂,因此导致了计算器的结构也非常复杂,成本较高。而且由于不同的快速算法往往只针对一种或几种形式的内积,一种计算器往往也只能计算一种或几种形式的内积,如DFT的计算器不能直接用于DWT,卷积的计算器不能够直接用于DFT。到目前为止,还未出现一种非常高效、简单的计算器,可以使用统一的计算形式,即能够对任意形式的内积进行快速运算。
另一方面,大规模集成电路已经被广泛的应用于内积计算器。其中脉动式阵列因为结构单一,易于控制,能够进行流水作业,是一种高效普遍的计算结构。参考文献[1]提出一种基于分配算法(DA)的脉动式结构,通过将数据进行分解以及建立查找表,可完全消除乘法操作并减少加法的数量,非常适合于变换、卷积和相关的操作。然而,在各种脉动式内积计算器中,一种脉动式结构往往也只能针对一种或几种形式的内积,例如DCT的脉动式阵列无法执行卷积。还未出现一种形式统一的脉动式计算器,可对任意形式的内积进行计算。
在离散数据处理中,矩的计算也是常用的数据操作之一。目前已提出了许多针对矩的无乘法快速计算装置。如果能够建立内积和矩的关系,将内积计算转换为矩的计算,则能消除内积的乘法运算,实现其并行操作,发明出更为快速高效、易于实现、能够适用于不同场合的快速内积计算器。
参考文献:
[1]H.C.Chen,J.I.Guo,T.S.Chang,and C.W.Jen,“A Memory-Efficient Realization ofCyclic Convolution and Its Application to Discrete Cosine Transform,”IEEE Trans.CircuitsSyst for Video Technol,vol.15,no.3,pp.445-453,MAR.2005.
发明内容
本发明的目的是提出一种全新的数字内积快速计算器。使用统一、简单、高效的方法,对离散数据处理领域中任意形式的数字内积进行快速计算,例如所有变换、卷积、相关等,满足离散数据的压缩、滤波、频谱分析等快速和实时处理要求。在实际的应用中,当内积的形式发生改变时(如将DFT计算变为卷积计算),只需要改变输入数据的形式,而完全不需要改变计算器本身的结构。该计算器只需要寄存器和加法器,没有乘法器,降低了硬件的成本和芯片面积。
该内积计算器分为串行计算器和并行计算器两种:串行计算器每次只能执行一个内积的计算,但所需要的资源很少;并行计算器可同时并行计算多个内积,并将计算结果连续输出。
为实现本发明的目的所采用的技术方案为:
本发明的数字内积计算器包括统计模块和一阶矩计算模块。统计模块的功能是提取待计算数据的统计特征,以根据上述统计特征将内积的计算形式转换为一阶矩的形式。一阶矩计算模块的功能是快速计算统计模块得到的一阶矩,然后输出内积结果。本发明还可以包括协调模块,当统计模块的数据输出方式和一阶矩计算模块的数据输入方式不一致时,连接统计模块和一阶矩计算模块,实现两者的协调操作。
本发明的内积计算器相比现有技术具有如下优点:
(1)使用完全统一的形式计算内积,不需要改变自身结构。
(2)完全没有乘法操作。目前大部分的内积计算器,除了采用基于查找表的方法,均包含较多的乘法操作。
(3)结构非常简单。而很多的内积计算器结构都很复杂,往往涉及复杂的数据分解操作。
(4)对内积的长度没有限制。很多内积计算器,尤其是DFT等变换,需要内积长度为2的整数次方。
(5)通过脉动式实现,具有高度的并行性。实现简单,计算速度快,便于流水操作。
附图说明
图1是内积计算器模块关系图;
图2是计算序列{a(r)}的线性阵列图;
图3是计算{ak(r)}的脉动式阵列图;
图4是1阶网络的基本结构图;
图5是计算一阶矩的结构图;
图6是计算一阶矩的脉动阵列结构图;
图7是协调模块结构图;
图8是串行内积计算器结构图;
图9是并行内积计算器结构图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
本发明的数字内积计数器包括统计模块和一阶矩计算模块,当统计模块的数据输出方式和一阶矩计算模块的数据输入方式不一致时,还可以包括协调模块,三个模块之间的关系如图1所示。
为了清晰的阐述本发明的数字内积计数器,本发明中假设两组长度为N的序列{f(n)}和{g(n)}(n为序列中各元素的序号,n=0,1,2,…,N-1),定义数字内积为:
X = Σ n = 0 N - 1 f ( n ) g ( n ) - - - ( 1 )
其中两组序列需要满足的条件:
(1){f(n)}为最大值为M-1的数字序列,即f(n)∈{0,1,2,…,M-1},M为一正整数。
(2){g(n)}可为任何形式的离散数据(整型、浮点实数型、复数型等)。例如:i.g(n)为随机数据,X为一般的乘积合运算;ii.g(n)=h(k-n),其中{h(n)}为长度为N的离散序列,X为{f(n)}和{h(n)}在第k点的卷积。iii.g(n)=exp(-j2πnk/N),X为{f(n)}的离散傅里叶变换在第k点的取值;iv.X为{f(n)}的离散余弦变换在第k点的取值。
需要注意的是,当需要计算内积的两个序列{f}和{g}为多维序列时,可以先将两个多维序列直接展开成一维的形式,然后按照公式(1)计算内积。
而当需要连续计算多个内积时,假设包含有L个内积的序列{X(k)}:
X k = Σ n = 0 N - 1 f k ( n ) g k ( n ) , k = 0,1 , . . . , L - 1 - - - ( 2 )
{fk(n)}和{gk(n)}分别表示用于计算第k个内积Xk的两组长度为N的序列。
(1)统计模块
所述统计模块的功能是通过一系列的变换,获取待计算内积数据的统计特征,从而将公式(1)和(2)的内积形式转化为一阶矩形式。
首先,根据输入信号f(n)的取值,将整数指标集{0,1,2,…,N-1}分成M个互不相交的整数子集Sr。Sr定义为是这样一些正整数n的集合:他们所对应的信号f(n)的大小均为r,即
Sr={n|f(n)=r,n∈{0,1,2,L,N-1}},r=0,1,2,L,M-1.(3)
因此,计算Sr实际上是一个统计过程:查找在序列{f(n)}中,有哪一些元素的取值为r,并由这些元素的序号n组成集合Sr
然后,根据集合Sr中的各元素取值,对序列{g(n)}进行同类项合并,从而得到一组统计特征序列{a(r)},即
a ( r ) = Σ n ∈ S r g ( n ) if S r ≠ φ 0 otherwise , r = 0,1,2 , L , M - 1 . - - - ( 4 )
因此,内积公式(1)可以表达为
X = Σ r = 0 M - 1 a ( r ) × r = Σ r = 1 M - 1 a ( r ) × r - - - ( 5 )
显然,公式(5)的右边即为一阶矩形式,通过计算ar的一阶矩,即可计算内积X。公式(5)建立了内积和一阶矩的关系。
当需要计算内积的两个序列{f}和{g}为多维序列时,先将两个多维序列直接展开成一维的形式,然后通过公式(3)和(4)从该一维序列获得{a(r)},最后通过(5)计算内积。
为了实现序列{a(r)}的获取,本实施方案使用了一种如图2(a)所示的线性阵列。该阵列由M个累加器线性连接而成,分别标号为累加器r=(M-1),(M-2),……,1。实际操作时,在同一时钟周期,f(n)和g(n)被同时输入到累加器阵列,如果输入的f(n)值和阵列中某个累加器的标号相等(即f(n)=r),则g(n)就进入该累加器r中和该累加器存储的值进行累加。因此,当所有的f(n)和g(n)(n=0,1,2,…,N-1)输入完毕后,在各累加器中存储的值即为所需的序列{a(r)},如图2(b)所示。该阵列需要N个时钟周期才能产生出一个序列{a(r)}。
当需要连续计算多个内积,即内积序列{Xk}时,根据公式(2)-(5)可得
X k = Σ r = 1 M - 1 a k ( r ) × r , k = 0,1 , . . . , L - 1 - - - ( 6 )
其中
a k ( r ) = Σ n ∈ S r k g k ( n ) if S r k ≠ φ 0 otherwise , r = 0,1,2 , L , M - 1 .
以及 S r k = { n | f k ( n ) = r , n ∈ { 0,1,2 , L , N - 1 } } , r = 0,1 , . . . , M - 1 .
为了实现计算器每一周期均可输出一个内积结果的连续计算,要求统计模块能够在每个周期都产生一组序列{ak(r)}。为此,本实施方案将N个类似于图2的线性阵列并行连接,建立如图3所示的脉动式阵列,其中各线性阵列的编号为0,1,…,N-1。需要注意的是,图3所示的各线性阵列中只使用了加法器,即每个线性阵列由M-1个加法器组成,而不同于图2中使用累加器。操作时,在任意第i个时钟周期,阵列j-1(j=1,2,…,N-1)中的M-1个数据从该阵列中移出,输向下一阵列j,同时待计算内积的两个数据fi-j(j),gi-j(j)也输入阵列j。阵列j处理第j-1个阵列中输来的M-1个数据:即将j-1输来的第r(r=fi-j(j))个数据与gi-j(j)进行相加并保存,其余M-2个数据直接保存。而对于第N-1个阵列,其中的M-1个数据将移入与统计模块连接的协调模块中。因此,该阵列可连续产生{a0(r)},{a1(r)},…,{aL-1(r)},吞吐率为1个周期,延时为N个周期,图5中还显示了数据的输入方法,符号“■”后的数字表示所需要的时间延时,可用该数量的寄存器线性组合实现。
(2)一阶矩计算模块
所述一阶矩计算模块的功能是接受由统计模块得到的统计特征序列{ar},然后快速计算统计特征的一阶矩
Figure BDA0000026762670000063
从而得到内积计算的结果
Figure BDA0000026762670000064
的计算方法有多种,如直接使用a(r)和r的乘积合。但为了能够简单高效的计算矩,本实施例采用如下方法。
首先建立映射方式F,表示将矢量(b,c)转变为(b,(b+c))的映射过程,即
F(b,c)=(b,(b+c)),            (7)
其中b和c可为任意数据。假设二维向量Ar=(a(r),a(r)),r=1,2,…,M-1,则有
F ( FLF ( F ( F ( A M - 1 ) + A M - 2 ) + A M - 3 ) + L + A 2 ) + A 1
= F M - 2 ( A M - 1 ) + F M - 3 ( A M - 2 ) + L + F ( A 2 ) + A 1 - - - ( 8 )
= ( Σ r = 1 M - 1 a ( r ) , Σ r = 1 M - 1 a ( r ) × r )
显然,
Figure BDA0000026762670000074
中的第2个分量为{ar}的一阶矩,也为公式(5)中所要计算的内积。因此,本实施例根据公式(8),使用F的迭代结构计算一阶矩。该方法不包含乘法,只需要3(M-2)-1个加法。
公式(8)的计算过程描述如下:首先对向量AM-1使用一次F映射,得到的结果F(AM-1)与AM-2相加后得到F(AM-1)+AM-2;然后对F(AM-1)+AM-2使用一次F映射,得到的结果F(F(AM-1)+AM-2),与AM-3相加后得到F(F(AM-1)+AM-2)+AM-3。以此类推,使用M-2次F后即可得到F(FL F(F(F(AM-1)+AM-2)+AM-3)+L+A2),再与A1相加后就得到向量
Figure BDA0000026762670000075
本发明提出了如图4所示的1阶网络结构,用于快速实现映射F的操作。该结构如图4所示,由3个寄存器和一个加法器组成。寄存器一和寄存器二为输入端,寄存器三和加法器为输出端。结构上,寄存器一和寄存器二与加法器连接,它们的存储值在加法器中进行相加;同时寄存器一还与寄存器三连接,其存储值输出给寄存器三。使用时,将b和c分别输入其上端的两个寄存器,下端寄存器和加法器的输出即为b和b+c。
因此,公式(8)的计算结构可表示为如图5所示的结构图,其中只使用了1个1阶网络。整个的计算流程是一个映射F的迭代过程,需要使用M-2次的1阶网络计算,而每次都要把1阶网络计算得到的结果和当前输入值相加后,再重新传输到1阶网络中计算,所以还需要额外的两个加法器A和B。在第一次迭代时,将a(M-1)输入1阶网络,在输出端得到a(M-1)和2a(M-1),在第二次迭代时,将上次迭代得到的a(M-1)和2a(M-1)分别与a(M-2)相加,得到a(M-1)+a(M-2)和2a(M-1)+a(M-2),然后输入到1阶网络,输出a(M-1)+a(M-2)和3a(M-1)+2a(M-2);在第三次迭代时,将a(M-1)+a(M-2)和3a(M-1)+2a(M-2)分别与a(M-3)相加,得到a(M-1)+a(M-2)+a(M-3)和3a(M-1)+2a(M-2)+a(M-3),然后输入到1阶网络,输出a(M-1)+a(M-2)+a(M-3)和4a(M-1)+3a(M-2)+2(M-3)。依次类推,在第t(t>1)次迭代时,将上次迭代得到的
Figure BDA0000026762670000081
Figure BDA0000026762670000082
分别与a(M-t)相加,得到
Figure BDA0000026762670000084
然后输入到1阶网络,输出
Figure BDA0000026762670000085
Figure BDA0000026762670000086
因此,经过M-2次迭代后,在1阶网络的寄存器三中输出
Figure BDA0000026762670000087
再与a(1)相加,即得到一阶矩
Figure BDA0000026762670000088
另外,根据公式(6),如果有L组{a(r)},记为{ak(r)}(k=0,1,…,L-1),用于计算L个内积Xk(k=0,1,…,L-1),则可以把M-2个相同的1阶网络按照从上至下顺序连接,通过将上一个1阶网络计算的结果和当前输入向量相加,然后直接传送到下一个1阶网络中,这样就消除了递归计算,实现了一种流水线并行结构,可同时计算多组{ak(r)}的一阶矩。我们把该并行结构设计为如图6(a)所示的简单脉动式阵列,6(a)可进一步简化为6(b)的形式,减少了时间延时和寄存器的数量。使用时,在第一个1阶网络中,将ak(M-1)输入1阶网络,在输出端得到ak(M-1)和2ak(M-1)。在第二个1阶网络中,首先将前一个1阶网络输出的ak(M-1)和2ak(M-1),通过两个加法器分别与ak(M-2)相加,得到ak(M-1)+ak(M-2)和2ak(M-1)+ak(M-2),然后输入到1阶网络,输出ak(M-1)+ak(M-2)和3ak(M-1)+2ak(M-2);在第三个1阶网络中,将ak(M-1)+ak(M-2)和3ak(M-1)+2ak(M-2),过两个加法器分别与ak(M-3)相加,得到ak(M-1)+ak(M-2)+ak(M-3)和3ak(M-1)+2ak(M-2)+ak(M-3),然后输入到1阶网络,输出ak(M-1)+ak(M-2)+ak(M-3)和4ak(M-1)+3ak(M-2)+2ak(M-3)。依次类推,在第t(t>1)次迭代时,将第t-1个网络得到的
Figure BDA0000026762670000089
通过两个加法器分别与ak(M-t)相加,得到
Figure BDA00000267626700000811
Figure BDA00000267626700000812
然后输入到1阶网络,输出
Figure BDA00000267626700000813
Figure BDA00000267626700000814
因此,在第M-2个1阶网络的寄存器三中输出
Figure BDA0000026762670000091
再通过一个加法器与a(1)相加,即得到一阶矩
Figure BDA0000026762670000092
由图6(b)可知,计算一阶矩的脉动式模块共需要3(M-2)-1个加法器和一些锁存器,每一时钟周期输出一个计算结果,延时为2(M-2)+1个时钟,而计算所有的Xk共需要2(M-2)+L个时钟。图6中显示了{ak(r)}的输入方法,其中符号“■”后面的数字表示时间延时,由协调模块实现,用于保证脉动式结构的并行正确执行。根据权利要求8所述的一种数字内积计算器,其特征在于,把M-2个相同的1阶网络按照从上至下顺序连接。
(3)协调模块
当统计模块的数据输出方式和一阶矩计算模块要求的数据输入方式不一样时,两者不能直接相连,中间需要增加协调模块,保证两者的输出输入方式一致。协调模块的功能是接受统计模块的输出数据,并转变为符合一阶矩计算模块所要求的数据输入方式,将数据输入到一阶矩计算模块中。但当统计模块和一阶矩计算模块的数据输出输入方式一致时,可不需要协调模块。
在本实施例中,由于统计模块得到的统计特征序列中,各元素不能同时输入到一阶矩计算模块中,而是需要有一定的时间间隔和按照一定的顺序,因此协调模块的功能实际是设置时间延时,使得统计特征序列中的各元素按照一定顺序、间隔地输入一阶矩计算模块。当内积计算器为串行计算器时,协调模块为一线性寄存器阵列,如图7(a)所示。该模块存储由统计模块输来的序列{a(r)},然后将各a(r)按照a(M-1),…,a(3),a(2)的顺序依次输出给一阶矩计算模块,最后才输出a(1)。而当内积计算器为并行计算器时,协调模块由M-1个线性寄存器阵列构成,如图7(b)所示,“[]”中的数字表示线性阵列中寄存器的数量。该模块每一时钟周期从统计模块接受一组序列{ak(r)}。
本发明提出了的内积计算器的整体结构,根据图2、5和7(a),串行计算器的结构如图8所示,共需要M-1个累加器,M+3个寄存器和4个加法器。三个模块依次执行,一次只能执行一组{g(n)}和{f(n)}的内积计算,最后由矩计算模块输出计算结果X。通过设置不同的g(n),该计算器可分别执行与{f(n)}有关的变换、卷积、相关等各种操作,但其计算结构不需要进行任何改变,因此它是一种形式统一的内积计算结构,可适用于任何的数字内积计算场合。
根据图3、6(b)和7(b),并行内积计算器的结构如图9所示,三个模块均采用脉动式阵列,可实现每个时钟周期输出一个内积计算结果的吞吐率。该内积计算器的硬件复杂度和各种指标如表1所示。同理,通过设置不同的{gk(n)},可分别执行与{fk(n)}有关的各种内积操作,但其计算结构不需要任何改变。
表1.内积计算器指标
 加法器   寄存器   延时   吞吐率
 MN+3(M-2)-1   (M-1)(M-2)+(M-1)   N+2(M-2)+1   1
上述计算器可用于数字信号的频谱分析。通过内积计算,实现各种变换(离散傅里叶变换、离散余弦变换、离散正弦变换、离散哈特利变换、离散小波变换等),计算出信号的频率值,进行频谱分析。该计算器还可执行各种反变换,将频率值恢复为信号值。
上述计算器可用于数字信号和图像的传输及压缩,通过内积计算执行各种变换,将数据转变为频域值后进行压缩,然后通过反变换恢复信号,实现快速传输和高效压缩。
上述计算器可用于数字信号和图像的滤波,通过内积计算执行各种卷积操作,完成数据的去噪、平滑、锐化等。
上述计算器可用于模式识别,通过内积计算执行各种相关操作,实现模式识别中最常用的特征比较和模板匹配操作,从而选择出最优的识别方案。

Claims (10)

1.一种数字内积计算器,包括统计模块和一阶矩计算模块,所述统计模块用于提取待计算内积的序列的统计特征,并根据上述提取的统计特征将内积的计算形式转换为一阶矩的形式;所述一阶矩计算模块用于快速计算统计模块得到的一阶矩,并输出内积计算结果。
2.根据权利要求1所述的一种数字内积计算器,其特征在于,所述统计模块将内积的计算形式转换为一阶矩的形式为:
X k = Σ r = 1 M - 1 a k ( r ) × r , k = 0,1 , . . . , L - 1
其中
a k ( r ) = Σ n ∈ S r k g k ( n ) if S r k ≠ φ 0 otherwise , r = 0,1,2 , L , M - 1
S r k = { n | f k ( n ) = r , n ∈ { 0,1,2 , L , N - 1 } } , r = 0,1 , . . . , M - 1
式中,L为待计算的内积个数,{fk(n)}和{gk(n)}分别表示用于计算第k个内积Xk的两组长度为N的序列,{ak(r)}为{fk(n)}和{gk(n)}的统计特征,
Figure FDA0000026762660000014
为将整数指标集{0,1,2,…,N-1}分成的M个互不相交的整数子集,各子集
Figure FDA0000026762660000015
中包含的元素n所对应的信号fk(n)的值均为r,所述{fk(n)}和{gk(n)}可以为一维或多维序列,当为多维序列时,需先将多维序列展开成一维序列的形式后再进行一阶矩的转换。
3.根据权利要求2所述的一种数字内积计算器,其特征在于,当L=1时,即只计算一个内积X0,统计特征序列{a0(r)}的具体计算过程通过M个累加器线性连接实现:对所述M个累加器分别标号,如果输入的f0(n)值和阵列中其中一个累加器的标号相等,则g0(n)就进入该累加器中和该累加器存储的值进行累加,当序列f0(n)和g0(n)输入完毕后,在各累加器中存储的值即为序列f0(n)和g0(n)的统计特征{a0(r)}。
4.根据权利要求2或3所述的一种数字内积计算器,其特征在于,当L>1时,即连续计算多个内积,各统计特征序列{ak(r)}的具体计算过程通过L个线性阵列并行连接实现:每个线性阵列由M-1个加法器组成,在任意第i个时钟周期,阵列j-1中的M-1个数据从该阵列中移出,输向下一阵列j,同时待计算内积的两个数据fi-j(j),gi-j(j)也输入阵列j,阵列j处理上述第j-1个阵列输来的M-1个数据,即将M-1个数据中的第fi-j(j)个数据与gi-j(j)进行相加并保存,其余M-2个数据直接保存,而对于第L-1个阵列,其中的M-1个数据直接输出,其中j=1,2,…,L-1。
5.根据权利要求1-4之一所述的一种数字内积计算器,其特征在于,所述一阶矩计算模块接受由统计模块得到的统计特征序列ak(r),然后计算统计特征的一阶矩
Figure FDA0000026762660000021
6.根据权利要求5所述的一种数字内积计算器,其特征在于,所述统计特征的一阶矩通过如下公式计算:
F ( FLF ( F ( F ( A M - 1 ) + A M - 2 ) + A M - 3 ) + L + A 2 ) + A 1
= F M - 2 ( A M - 1 ) + F M - 3 ( A M - 2 ) + L + F ( A 2 ) + A 1
= ( Σ r = 1 M - 1 a k ( r ) , Σ r = 1 M - 1 a k ( r ) × r )
其中,
Figure FDA0000026762660000025
中的第2个分量即为要计算的内积,Ar=(ak(r),ak(r)),F表示将矢量(b,c)转变为(b,(b+c))的映射过程,即F(b,c)=(b,(b+c)),式中b,c可为任意数据。
7.根据权利要求6所述的一种数字内积计算器,其特征在于,所述映射过程F通过1阶网络实现,该1阶网络由3个寄存器和一个加法器组成,寄存器一和寄存器二为输入端,分别用于输入b,c,寄存器三和加法器为输出端,寄存器一和寄存器二均与加法器连接,其存储值在加法器中进行相加,同时寄存器一还与寄存器三连接,其存储值输出给寄存器三。
8.根据权利要求7所述的一种数字内积计算器,其特征在于,所述统计特征的一阶矩的计算过程通过所述1阶网络的M-2次迭代实现,即在第一次迭代时,将ak(M-1)输入1阶网络,在输出端得到ak(M-1)和2ak(M-1),在之后的任意第t次迭代中,将上次迭代得到的
Figure FDA0000026762660000031
Figure FDA0000026762660000032
分别与ak(M-t)相加,得到
Figure FDA0000026762660000034
然后输入到1阶网络,输出
Figure FDA0000026762660000035
Figure FDA0000026762660000036
因此,经过M-2次迭代后,在1阶网络的寄存器三中输出再通过一个加法器与ak(1)相加,即得到一阶矩
Figure FDA0000026762660000038
其中t>1。
9.根据权利要求7所述的一种数字内积计算器,其特征在于,把M-2个相同的1阶网络按照从上至下顺序连接,在第一个1阶网络中,将ak(M-1)输入1阶网络,在输出端得到ak(M-1)和2ak(M-1),在第t个1阶网络中,将第t-1个1阶网络得到的
Figure FDA0000026762660000039
通过两个加法器分别与ak(M-t)相加,得到
Figure FDA00000267626600000311
Figure FDA00000267626600000312
然后输入到1阶网络,输出
Figure FDA00000267626600000313
Figure FDA00000267626600000314
因此,在第M-2个1阶网络的寄存器三中输出
Figure FDA00000267626600000315
再通过一个加法器与ak(1)相加,即得到一阶矩
Figure FDA00000267626600000316
其中t>1。
10.根据权利要求1-9之一所述的一种数字内积计算器,其特征在于,数字内积计算器还包括协调模块,当所述统计模块的数据输出方式和一阶矩计算模块数据输入方式不一致时,在两者之间设置有协调模块,用以将上述输出方式转换为符合一阶矩计算模块数据的输入方式,协调两者的运行。
CN2010102880578A 2010-09-21 2010-09-21 基于一阶矩的数字内积计算器 Pending CN101957738A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102880578A CN101957738A (zh) 2010-09-21 2010-09-21 基于一阶矩的数字内积计算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102880578A CN101957738A (zh) 2010-09-21 2010-09-21 基于一阶矩的数字内积计算器

Publications (1)

Publication Number Publication Date
CN101957738A true CN101957738A (zh) 2011-01-26

Family

ID=43485084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102880578A Pending CN101957738A (zh) 2010-09-21 2010-09-21 基于一阶矩的数字内积计算器

Country Status (1)

Country Link
CN (1) CN101957738A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999085A (zh) * 2012-11-27 2013-03-27 中国兵器科学研究院 一种对数正态杂波的实现方法及装置
CN105278923A (zh) * 2015-10-22 2016-01-27 合肥工业大学 一种基于aic信息准则的信号源个数估计硬件电路及其实现方法
CN106227501A (zh) * 2016-07-20 2016-12-14 中国兵器科学研究院 一种韦布尔杂波序列的发生装置及方法
CN109001348A (zh) * 2017-06-07 2018-12-14 盐城市农产品质量监督检验测试中心 一种同时检测猪肉中磺胺类和氟喹诺酮类药物残留的方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999085A (zh) * 2012-11-27 2013-03-27 中国兵器科学研究院 一种对数正态杂波的实现方法及装置
CN102999085B (zh) * 2012-11-27 2015-05-20 中国兵器科学研究院 一种对数正态杂波的实现方法及装置
CN105278923A (zh) * 2015-10-22 2016-01-27 合肥工业大学 一种基于aic信息准则的信号源个数估计硬件电路及其实现方法
CN105278923B (zh) * 2015-10-22 2017-10-03 合肥工业大学 一种基于aic信息准则的信号源个数估计硬件电路及其实现方法
CN106227501A (zh) * 2016-07-20 2016-12-14 中国兵器科学研究院 一种韦布尔杂波序列的发生装置及方法
CN106227501B (zh) * 2016-07-20 2018-12-04 中国兵器科学研究院 一种韦布尔杂波序列的发生装置及方法
CN109001348A (zh) * 2017-06-07 2018-12-14 盐城市农产品质量监督检验测试中心 一种同时检测猪肉中磺胺类和氟喹诺酮类药物残留的方法
CN109001348B (zh) * 2017-06-07 2021-07-16 盐城市农产品质量监督检验测试中心 一种同时检测猪肉中磺胺类和氟喹诺酮类药物残留的方法

Similar Documents

Publication Publication Date Title
CN105426345A (zh) 一种矩阵求逆运算方法
CN110765709A (zh) 一种基于fpga的基2-2快速傅里叶变换硬件设计方法
WO2005122717A2 (en) Matrix-valued methods and apparatus for signal processing
CN101937424A (zh) 基于fpga实现高速fft处理的方法
CN101957738A (zh) 基于一阶矩的数字内积计算器
CN102567282B (zh) 通用dsp处理器中fft计算实现装置和方法
CN112256236A (zh) 一种基于近似定常数复数乘法器的fft电路及实现方法
Nguyen-Thanh et al. Energy efficient techniques using FFT for deep convolutional neural networks
Meher Unified systolic-like architecture for DCT and DST using distributed arithmetic
CN103237219A (zh) 二维离散余弦变换/逆离散余弦变换电路及方法
CN102970545A (zh) 一种基于二维离散小波变换算法的静态图像压缩方法
CN109101462A (zh) 可降低时间损耗的傅里叶变换算法
Wahid et al. Error-free computation of 8/spl times/8 2D DCT and IDCT using two-dimensional algebraic integer quantization
CN108229666A (zh) 基于费马数变换的卷积神经网络硬件加速架构
CN108199714A (zh) 一种应用于aic结构信号恢复的改进omp算法的电路系统
Mookherjee et al. A hardware efficient technique for linear convolution of finite length sequences
CN101196873A (zh) 3780点离散傅利叶变换处理器
CN203279074U (zh) 二维离散余弦变换/逆离散余弦变换电路
Mohanty et al. Critical-path optimization for efficient hardware realization of lifting and flipping DWTs
Kirubanandasarathy et al. VLSI Design of Mixed radix FFT Processor for MIMO OFDM in wireless communications
CN107203491A (zh) 一种用于fpga的三角脉动阵列结构qr分解装置
CN112187283B (zh) 基于近似计算的正交匹配追踪重构方法及系统
CN108092668A (zh) 一种基于最小稀疏尺采样的线性调频信号重构算法
Liu et al. High precision discrete wavelet transform based on moment and systolic implementation
Luo et al. A fast algorithm for discrete sine transform using first-order moment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110126