一种基于时分复用的自相关运算VLSI设计方法与流程

文档序号:11154948阅读:527来源:国知局
一种基于时分复用的自相关运算VLSI设计方法与制造工艺

本发明涉及集成电路设计领域,尤其涉及一种基于时分复用的自相关运算VLSI设计方法。



背景技术:

在统计通信及数字信号处理中,相关(或称线性相关)的概念十分重要。相关函数和信号的功率谱有密切关系。在随机信号处理中,可以用相关函数来描述一个平稳随机信号的统计特性。自相关运算是随机信号在不同时刻的值之间的依赖性的度量,可以用来检测淹没在随机噪声干扰中的信号。

自相关算法的函数公式为:对于1×M阶复向量A=[a0,a1,...,ai,...,aM-1],A的自相关函数R(j)表示为:

如果按照此公式实现,运算过程就是乘累加的过程,时间复杂度为O(M2)。当源数据点数增大时,计算量大,该算法模块所需的运算时间会迅速增长,而且对存储空间的需求也较大,不利于实现。

使用FFT计算自相关的算法原理为:

(1)将长度为N1的输入序列x(n)补零至长N,其中N≥2N1-1,且N=2m。令

(2)求N点FFT,X(k)=DFT[x(n)];

(3)求共轭点乘,R(k)=X*(k)X(k);

(4)求N点IFFT,r(n)=IDFT[R(k)];

(5)对r(n)向右循环移位N1即得自相关结果。

FFT算法有基于时域抽取和频域抽取两种,又分为正序输入逆序输出和逆序输入正序输出两种输入输出模式。常见的正序输入逆序输出使用频域抽取,逆序输入正序输出使用时域抽取。



技术实现要素:

本发明的目的是克服上述背景技术的不足,提供一种基于时分复用的自相关运算VLSI设计方法。本设计通过使用FFT,可以有效地降低自相关算法的时间复杂度。本设计实现了128K点及以下的自相关运算。为达到上述目的,本发明的技术方案是这样实现的:

所述基于时分复用的自相关运算VLSI设计方法,包括如下步骤:

(1)通过FFT模块将源数据补零后做2的幂次方傅立叶变换,并输出一次中间结果;

(2)将所述中间结果进行共轭点乘,并将二次中间结果存回原地址;

(3)最后通过逆FFT模块,对所述二次中间结果做逆傅立叶变换,得到自相关结果。

所述基于时分复用的自相关运算VLSI设计方法的进一步设计在于,FFT模块由地址生成单元、蝶形运算单元以及旋转因子生成单元组成。

所述基于时分复用的自相关运算VLSI设计方法的进一步设计在于,逆FFT模块为基于频域抽取,复用FFT模块的地址生成单元、蝶形运算单元和旋转因子生成单元,并通过状态机控制旋转因子生成规律、调整蝶形运算单元输入输出顺序。

所述基于时分复用的自相关运算VLSI设计方法的进一步设计在于,所述逆FFT模块根据状态机的输出,复用正序输入、逆序输出FFT模块中的地址生成单元和蝶形运算单元;进行逆序输入,正序输出的傅立叶变换操作。

所述基于时分复用的自相关运算VLSI设计方法的进一步设计在于,共轭点乘由原位共轭点乘模块执行,原位共轭点乘模块由状态机控制产生读写地址,并根据所述读写地址串行流水读入不同内存库的数据,并共轭送入原位共轭点乘模块中的复数乘法运算单元执行并行流水运算,并将运算结果存回原地址。

所述基于时分复用的自相关运算VLSI设计方法的进一步设计在于,原位共轭点乘模块采用四路并行,将32个内存库每4个分成一组,每次从4个内存库中读数送入复数乘法运算单元。

本发明的有益效果为:

(1)本发明可以通过增减存储资源和计算资源,满足不同点数自相关运算的性能需求。

(2)本发明通过分时复用的方式最大限度地提高硬件资源的利用率以及运算效率。逆FFT模块复用频域抽取,正序输入逆序输出FFT模块的地址生成单元和计算单元,省去结果逆序变正序的过程,只需改变内部状态机和进数顺序就能实现频域抽取方式下,逆序输入,正序输出的逆FFT。

附图说明

图1为用FFT计算自相关函数算法流程。

图2为源数据补零过程。

图3为结果数据循环移位搬出过程。

图4为共轭点乘模块架构图。

图5为逆FFT状态转换图。

具体实施方式

下面结合附图和具体实施方式对本申请作进一步详细的说明。

本发明的具体实施完成了基于2MB单端口Memory,4路复数乘法器资源的算法硬件实现。可进行128K点及以下的自相关运算。

自相关分三步骤进行,分别是FFT、原位共轭点乘、逆FFT,使用一个状态机控制先后顺序,并且通过控制复选器,分时复用运算资源和存储资源,算法过程如图1,具体如下:

(1)补零后FFT运算

如图2,首先读取源数据要进行补零,做2的幂次方的FFT运算。

(2)原位共轭点乘

共轭点乘模块采用4个复数乘法器并行计算,复乘器流水出数,结果存回原地址。分为乘法运算,读写地址控制,读写信号控制。

由于系统采用四路并行,将所有32个bank每4个分成一组,每次从4个bank中读数送入运算单元,参见如图4。由状态机控制每次读写的存储地址,流水输出运算结果存回原址。

(3)逆FFT运算

逆FFT模块复用FFT模块中的地址生成单元,蝶形运算单元和旋转因子生成单元。采用状态机控制(如图5),改变混合基执行顺序,旋转因子生成规律以及调整运算模块输入输出顺序。实现一种基于频域抽取,逆序输入正序输出的FFT,而无需另外的索引转换过程,节约了硬件资源和运算时间。待计算完成后还要控制读取索引顺序变化使得结果顺序正确,参见如图3。

本设计具体实施采用仿真/综合工具和40nm CMOS工艺,主频达到1GHz。基于1GHz时钟频率下,复数乘法器、复数加法器、实数乘法器、实数加法器均为4拍延迟的流水运算单元,所有运算单元均为单精度浮点运算单元,存储器的取数延迟为6拍。当运算点数为8K点时,本设计方法所需的运算时间为常用乘累加实现所需时间的1%。由于本设计方法中的FFT模块被复用于实现FFT,逆FFT和自相关运算三种算法,相比于分开的硬件实现方法节约硬件面积64%。

本实施例可以通过增减存储资源和计算资源,满足不同点数自相关运算的性能需求。另一方面,通过分时复用的方式最大限度地提高硬件资源的利用率以及运算效率。逆FFT模块复用频域抽取,正序输入逆序输出FFT模块的地址生成单元和计算单元,省去结果逆序变正序的过程,只需改变内部状态机和进数顺序就能实现频域抽取方式下,逆序输入,正序输出的逆FFT。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1