基于一阶矩的卷积器制造技术

技术编号:8594220 阅读:196 留言:0更新日期:2013-04-18 07:30
本发明专利技术公开了一种基于一阶矩的卷积器,属于数字信号处理领域。本发明专利技术通过预先对卷积核序列数据值和序号进行统计,作为后续计算的控制信号,将循环卷积计算转化成只含少量移位和加法运算的操作,设计出结构简单且对任意长度和数据分布范围都适用的高效数字信号卷积计算器。本发明专利技术在卷积计算中避免三角函数和复数计算的引入,提高计算精度;克服现有的快速卷积器对乘法器或大容量存储资源的需求;消除在计算卷积时对长度的限制;在减少硬件资源占用和降低功耗的同时保持较高的计算速度。

【技术实现步骤摘要】

本专利技术涉及数字信号处理的卷积和相关计算领域,尤其针对有限长度的循环卷积和相关的无乘法计算领域及其VLSI (超大规模集成电路)设计。
技术介绍
卷积运算和相关函数运算均是数字信号处理中最基本、常用的计算,由于它们的计算复杂度高,一定程度上影响了信号实时处理的性能。因此,如何在保持低功耗的同时提高其运算速度、减少硬件资源需求,在数字信号处理中具有十分重要的理论和实用价值。现有的高效算法和硬件结构大致可分为以下四类(I)基于快速傅里叶变换的计算方法由于傅里叶变换存在各种快速计算方法,而时域的卷积运算与其对应的频域乘积运算等价,因此可将待卷积的数据先进行快速傅里叶变换,再将变换后的两组数据对应相乘,最后进行反傅里叶变换,得到卷积结果。该方法借助于快速傅里叶变换(FFT)的计算优势,与直接进行卷积计算相比,大大提高了计算速度。缺点增加傅里叶变换环节后引入了三角函数和复数的计算,且经过正反两次傅里叶变换对数据产生的截断误差降低了最终结果的精确性;计算过程中仍存在大量乘法,复杂度较高;各种快速傅里叶变换算法对卷积长度有相应要求,缺乏通用性。(2)基于数论变换、多项式分解和矩阵分解的计算方法应用数论变换和多项式中国剩余定理,如短循环卷积算法,Agarwal-Cooley嵌套卷积算法和分裂嵌套循环卷积算法等,将两个长数列的卷积转化成若干较短数列的卷积,或将大的卷积矩阵分块并行计算,避免了三角函数和复数的引入,能较快地完成卷积计算。缺点这些计算过程中仍存在大量乘法操作;计算结构复杂;大部分结构只能针对数据长度能分解成特定值乘积的情况,缺乏通用性。(3)基于脉动阵列结构的计算方法为更快实现卷积和相关计算,适用于VLSI实现且专门针对卷积和相关计算的脉动阵列算法结构被提出。结合该技术,对原有卷积和相关快速算法进行改进后得到的新方法大大提闻了卷积和相关的计算速度。缺点用该结构直接计算卷积,计算量大;结合快速卷积算法后同样存在结构复杂、对卷积和相关计算有长度限制,缺乏通用性,且硬件资源消耗较大。由于以上方法中都包含有乘法操作,而在相同的硬件技术发展背景下乘法实现占用的资源大且速度较加法操作慢,因而如何避免乘法器的使用,设计出计算速度更快、资源消耗更低的卷积和相关器是提闻计算性能的关键。(4)结合分布式算法和脉动阵列结构的无乘法计算方法现有的无乘法卷积和相关的方法都采用事先对卷积核序列或相关核序列进行预处理并存储于大容量存储器中,将输入序列组合作为该存储器的地址值,取出相应值进行移位和累加,完成计算。主要有传统分布式算法(即DA算法)、改进型存储高效的分布式算法和基于分布式算法的硬件高效的脉动式阵列结构。传统的分布式算法是早期计算循环卷积和相关的经典无乘法算法。主要是根据算法原理将卷积核序列或相关核序列预先计算并存储,在计算时将输入数据序列的相同比特位从高到低且按每个数据的先后顺序组合作为地址值,取出预先处理并存储于存储器中的卷积核序列值,最后移位累加完成计算。在整个计算中,该算法只使用加法和移位操作,对任意长度的卷积都能在较少周期内快速完成卷积和相关计算。缺点存储处理好的卷积核序列和相关核序列所需的存储器大小与计算点数成指数倍增长。此外,当卷积和相关的数据点数较大时,寻址范围大,硬件资源消耗高。改进型存储高效的分布式算法针对传统DA算法的存储上有了很大改进,大大减少了存储资源的占用。通过增加一个地址解码器和桶形移位寄存器,完全消除了待存储的冗余数据。缺点当卷积长度很大时,所需的多对一地址解码器设计较复杂,存储资源需求仍然庞大。基于分布式算法的硬件高效的脉动式阵列结构可将卷积长度分段,对每段数据都同时进行分布式卷积计算,进一步降低了对存储容量的需求,在延时-面积积这一性能指标的衡量下,比以往的无乘法计算方法更优。缺点该算法只能适用于卷积长度为非质数的情况,并且当卷积长度为大质数之积时,存储资源需求较大。
技术实现思路
本专利技术公开了一种卷积器,其所要解决的技术问题是在卷积计算中避免三角函数和复数计算的引入,提高计算精度;克服现有的快速卷积器对乘法器或大容量存储资源的需求;消除在计算卷积和相关时对长度的限制;在减少硬件资源占用和降低功耗的同时保持较高的计算速度。一种卷积器,包括第一寄存器cntl、递减器cnt2、第二寄存器cnt3、两行累加器组acc[l], acc[2]以及 M+1 行寄存器组 reg, reg[l], ···, reg[M], M 是卷积长度 N 用二进制表示的比特数目;每一行寄存器组由N个寄存器构成,每一行累加器组由N个累加器构成;reg由输入序列{χ (η)}赋值,η = 0,1,2, ···, N-1 ;第一寄存器cntl由输入序列{q (η)}赋值,cntl的每个比特位cntl [m],m = 0,1,…M-1经过m个周期的延时后分别控制第m行的寄存器组赋值即本文档来自技高网
...

【技术保护点】
一种卷积器,包括第一寄存器cnt1、递减器cnt2、第二寄存器cnt3、两行累加器组acc[1],acc[2]以及M+1行寄存器组reg[0],reg[1],…,reg[M],M是卷积长度N用二进制表示的比特数目;每一行寄存器组由N个寄存器构成,每一行累加器组由N个累加器构成;reg[0]由输入序列{x(n)}赋值,n=0,1,2,…,N?1;第一寄存器cnt1由输入序列{q(n)}赋值,cnt1的每个比特位cnt1[m],m=0,1,…M?1经过m个周期的延时后分别控制第m行的寄存器组赋值即ROR{x(n)}m表示对序列{x(n)}右循环m个位置;经过M个时钟周期后,寄存器reg[M]的值为序列ROR{x(n)}q(n);递减器cnt2由输入序列{p(i)},i=0,1,2,…,2L?1赋值,L为数据位宽;当cnt2为0时,i=i?1,递减器cnt2被更新赋值即cnt2=p(i),否则,n=n?1,寄存器cnt1被更新赋值即cnt1=q(n);第二寄存器cnt3由递减器cnt2延时M个时钟周期后对其赋值,当cnt3不为0,则acc[1]=acc[1]+reg[M],当cnt3为0,则acc[2]=acc[2]+acc[1];当第二寄存器cnt3接收到最后一个值p(0)时,完成全部累加操作,acc[2]中的数据序列即为最终的卷积结果Y;所述输入序列{p(i)}表示卷积核{h(n)}中数值为i的元素个数,所述输入序列{q(n)}的含义为:对卷积核{h(n)}先按数值大小重新排列,后按序号大小重新排列之后得到一新序列,q(n)对应为该新序列的第n个数值在原始卷积核{h(n)}中的序号。FDA00002614827000011.jpg...

【技术特征摘要】
1.一种卷积器,包括第一寄存器cntl、递减器cnt2、第二寄存器cnt3、两行累加器组acc[l], acc[2]以及 M+1 行寄存器组 reg, reg[l], ···, reg[M], M 是卷积长度 N 用二进制表示的比特数目;每一行寄存器组由N个寄存器构成,每一行累加器组由N个累加器构成;reg由输入序列{χ (η)}赋值,η = 0,1,2, ···, N-1 ; 第一寄存器cntl由输入序列{q(n)}赋值,cntl的每个比特位cntl [m],m = O,1,…M-1经过m个周期的延时后分别控制第m行的寄存器组赋值即[reg[m -1-1] = ROR(reg[m))r, 匆\:^cnt\[m]=l一2.根据权利要求1所述的卷积器,其特征在于,包括多个卷积器和一个加法器组,其中该加法器组包含N个加法器;将卷积核{h(n)}中的数据二进制化后拆分为多个子卷积核,针对每一个子卷积核设置一个卷积器,...

【专利技术属性】
技术研发人员:刘建国曹丽潘超熊骏
申请(专利权)人:华中科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利