一种自相关算法的层次化分割系统及方法技术方案

技术编号:23343834 阅读:21 留言:0更新日期:2020-02-15 04:02
本发明专利技术公开了一种自相关算法的层次化分割系统,包括存储控制器模块和计算模块,其中,存储控制器模块用于控制数据的传输和存储,其包括读源数据地址产生模块、写结果地址产生模块、读结果地址产生模块、源数据分发模块和结果分发模块,读源数据地址产生模块生成源数据地址,读取数据后经源数据分发模块进入计算模块,计算模块处理后的结果经过结果分发模块和写结果地址产生模块存入结果区;对于A的自相关函数B(j),将每个加法之前的乘法运算作为一个层次。本发明专利技术同时提供一种方法,用向量乘法代替乘累加,减少浮点加法器的使用,降低硬件资源开销用;采用基本向量运算的方式,有效提高运算效率。

A hierarchical segmentation system and method of autocorrelation algorithm

【技术实现步骤摘要】
一种自相关算法的层次化分割系统及方法
本专利技术属于信号处理算法的硬件实现领域,更具体地说,涉及一种自相关算法的层次化分割系统及方法。
技术介绍
在数字信号处理中,经常要处理两个信号的相似性或者评估一个信号与其本身经过一段时间延时后的信号的相似性,用来评估这一相似性的函数就是相关函数。相关函数是描述随机信号的统计特性的重要参数,常用于信号的检测,识别和提取。其中用来评估随机信号在不同时刻的值之间相似性的函数称之为自相关函数。自相关函数的公式表达如下:A={a1,a2,…an-1,an}是1×n阶的复向量,则A的自相关函数B(j)的计算方式一般为:如上述公式所示的自相关函数是一种乘累加运算,运算点的选取方式是滑窗选取,每次参与计算的点如下式:……由于参与运算的点一直在滑动,存储数据索引复杂,不利于硬件实现的并行化;且浮点数加法器有一定延时,浮点数乘累加的实现复杂,硬件资源消耗大。对此,有必要提出一种有效的解决办法。
技术实现思路
1.要解决的问题针对现有技术中存储数据索引复杂且硬件资源消耗大的问题,本专利技术提供一种自相关算法的层次化分割系统及方法。2.技术方案为了解决上述问题,本专利技术所采用的技术方案如下:一种自相关算法的层次化分割系统及方法,包括存储控制器模块和计算模块,其中,存储控制器模块用于控制数据的传输和存储,其包括读源数据地址产生模块、写结果地址产生模块、读结果地址产生模块、源数据分发模块和结果分发模块,读源数据地址产生模块生成源数据地址,读取数据后经源数据分发模块进入计算模块,计算模块处理后的结果经过结果分发模块和写结果地址产生模块存入结果区;对于A的自相关函数B(j),将每个加法之前的乘法运算作为一个层次,所述计算模块包括向量乘法模块和向量加法模块,所述向量乘法模块内的乘法器用于各层内向量乘法运算,所述向量加法模块内的加法器用于各层之间的向量加法运算,其中,A为数据长度为n的向量,B(j)为结果向量。本技术方案采用层次化的方式,重构自相关算法的运算方式,将自相关算法中的多次乘累加运算做多级分割,将传统的乘累加分为多层向量乘法和向量加法,通过层次化切割,用向量乘法代替乘累加,减少浮点加法器的使用,降低硬件资源开销用;采用基本向量运算的方式,解决算法并行化划分困难的问题;支持流水运算,有效提高运算效率。进一步地,所述计算模块包括X路向量运算,每一路向量运算包括一个复数乘法器和一个复数加法器,所述向量运算多路并行,依次对各层次内向量做向量乘法运算,对各层次向量间做向量加法运算,其中X为正整数,且4≤X≤16。本技术方案减少了复数加法器的使用,降低硬件开销。进一步地,所述计算模块具体用于,对于A的自相关函数B(j),将每个加法之前的乘法运算作为一个层次,利用向量乘法模块中的乘法器做第一层向量乘法,第一层为a1和向量{a1,a2,…an-1,an}之间共轭相乘;利用向量乘法模块中的乘法器做第二层向量乘法,第二层为a2和向量{a2,a3,…an-1,an}之间共轭相乘,在第二层向量乘法计算完毕,进行第一层向量加法,即,利用加法器将第二层向量乘法结果与第一层向量乘法结果对应相加;利用向量乘法模块中的乘法器做第k层向量乘法,第k层向量乘法为ak和向量{ak,ak+1,…an-1,an}之间共轭相乘,第k层向量乘法计算完毕,进行第k-1层向量加法,即,利用加法器将第k层向量乘法结果与第k-2层向量加法的结果相加,其中,k为正整数,且2≤k≤n。向量乘法和向量加法并行运算可以有效提升运算效率。本专利技术同时提供一种自相关算法的层次化分割方法,包括以下步骤:S1、从DDR中将源数据传输到存储阵列中,数据顺序存放;S2、对于A的自相关函数B(j),将每个加法之前的乘法运算作为一个层次,利用向量乘法模块中的乘法器做第一层向量乘法,第一层为a1和向量{a1,a2,…an-1,an}之间共轭相乘,其中,A为数据长度为n的向量,B(j)为结果向量,n为数据长度;S3、利用向量乘法模块中的乘法器做第二层向量乘法,第二层为a2和向量{a2,a3,…an-1,an}之间共轭相乘,在第二层向量乘法计算完毕,进行第一层向量加法,即,利用加法器将第二层向量乘法结果与第一层向量乘法结果对应相加;S4、利用向量乘法模块中的乘法器做第k层向量乘法,第k层向量乘法为ak和向量{ak,ak+1,…an-1,an}之间共轭相乘,第k层向量乘法计算完毕,进行第k-1层向量加法,即,利用加法器将第k层向量乘法结果与第k-2层向量加法的结果相加,其中,k为正整数,且2≤k≤n。3.有益效果相比于现有技术,本专利技术的有益效果为:(1)、本专利技术采用层次化的方式,重构自相关算法的运算方式,将自相关算法中的多次乘累加运算做多级分割,将传统的乘累加分为多层向量乘法和向量加法,通过层次化切割,用向量乘法代替乘累加,减少浮点加法器的使用,降低硬件资源开销用;(2)、本专利技术采用基本向量运算的方式,解决算法并行化划分困难的问题;支持流水运算,有效提高运算效率。附图说明图1为本专利技术的层次化分割方案示意图;图2为本专利技术的架构图;图3为本专利技术的存储示意图;图4为本专利技术的自相关向量运算时域分布示意图。具体实施方式下面结合具体实施例对本专利技术进一步进行描述。本专利技术采用层次化分割方案,对自相关算法的基本运算做重构,将原算法中多次乘累加运算基于向量特征做分割,将多次乘累加运算重构为多级的向量乘法和向量加法,再采用并行化的方式做硬件实现加速。自相关描述随机信号自身不同时刻之间的相似性,是描述随机信号的重要的统计量。对于1×n阶的复向量A={a1,a2,…an-1,an},它的自相关函数B(j)的计算公式为:自相关结果向量B是1×(2N-1)阶的复向量,由于自相关运算的特殊性质,结果向量共轭对称,即B(i)=B(2N-i)*,基于此性质,在自相关的硬件实现过程中我们只用计算前N个向量点。如上述公式所示的自相关函数是一种乘累加运算,运算点的选取方式是滑窗选取,前N个向量点的计算如下式:……为了充分利用硬件的并行性,基于层次化的分割,我们对上述运算过程进行重构,将每次加法运算作为层次间的分界线,将原先的乘累加运算分解为多层的向量乘法和向量加法,如图1所示,第一层为a1和向量{a1,a2,…an-1,an}之间共轭相乘,第二层为a2和向量{a2,a3,…an-1,an}之间共轭相乘,依次类推;而各层次运算结果的求和通过向量加法实现。如图2所示,本专利技术包括控制器模块,存储控制器模块和计算模块,其中,控制器模块用于判断存储控制器模块和当前的计算状态,并给存储控制器模块发送指令;存储控制器模块用于控制数据的传输和存储,其包括读源数据地址产生模块、写结果地址本文档来自技高网...

【技术保护点】
1.一种自相关算法的层次化分割系统,其特征在于:包括存储控制器模块和计算模块,其中,存储控制器模块用于控制数据的传输和存储,其包括读源数据地址产生模块、写结果地址产生模块、读结果地址产生模块、源数据分发模块和结果分发模块,读源数据地址产生模块生成源数据地址,读取数据后经源数据分发模块进入计算模块,计算模块处理后的结果经过结果分发模块和写结果地址产生模块存入结果区;对于A的自相关函数B(j),将每个加法之前的乘法运算作为一个层次,所述计算模块包括向量乘法模块和向量加法模块,所述向量乘法模块内的乘法器用于各层内向量乘法运算,所述向量加法模块内的加法器用于各层之间的向量加法运算,其中,A为数据长度为n的向量,B(j)为结果向量。/n

【技术特征摘要】
1.一种自相关算法的层次化分割系统,其特征在于:包括存储控制器模块和计算模块,其中,存储控制器模块用于控制数据的传输和存储,其包括读源数据地址产生模块、写结果地址产生模块、读结果地址产生模块、源数据分发模块和结果分发模块,读源数据地址产生模块生成源数据地址,读取数据后经源数据分发模块进入计算模块,计算模块处理后的结果经过结果分发模块和写结果地址产生模块存入结果区;对于A的自相关函数B(j),将每个加法之前的乘法运算作为一个层次,所述计算模块包括向量乘法模块和向量加法模块,所述向量乘法模块内的乘法器用于各层内向量乘法运算,所述向量加法模块内的加法器用于各层之间的向量加法运算,其中,A为数据长度为n的向量,B(j)为结果向量。


2.根据权利要求1所述的自相关算法的层次化分割系统,其特征在于:所述计算模块包括X路向量运算,每一路向量运算包括一个复数乘法器和一个复数加法器,所述向量运算多路并行,依次对各层次内向量做向量乘法运算,对各层次向量间做向量加法运算,其中X为正整数,且4≤X≤16。


3.根据权利要求1所述的自相关算法的层次化分割系统,其特征在于:所述计算模块具体用于,对于A的自相关函数B(j),将每个加法之前的乘法运算作为一个层次,利用向量乘法模块中的乘法器做第一层向量乘法,第一层为a1和向量{a1,a2,...an-1,an}之间共轭相乘;利用向量乘法模块中的乘法器做第二层向量乘法,第二层为a2和向量{a2,a3,...an-1,an}之间共轭...

【专利技术属性】
技术研发人员:李丽周禹辰傅玉祥何书专
申请(专利权)人:南京宁麒智能计算芯片研究院有限公司
类型:发明
国别省市:江苏;32

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

1