本发明专利技术提出了一种递归型FFT处理器的低功耗优化方法,基于查找表搜索法的旋转因子生成单元不仅具有现有技术的运算架构,而且增加了额外的判断逻辑和控制逻辑,用来减少旋转因子生成过程中的访存和复数乘法次数,有效地降低了功耗。另外旋转因子计算单元负责将旋转因子和蝶形运算结果进行复数乘法运算从而得到最终结果,针对大点数二维FFT算法的运算过程,将相位因子代替列变换最后一级的旋转因子,通过超前计算的方法减少了一级的额外读写访存,达到降低功耗的目的,同时减少了一级FFT的计算时间。时间。时间。
【技术实现步骤摘要】
递归型FFT处理器的低功耗优化方法和装置
[0001]本专利技术涉及数字信号处理
,更具体地说,涉及一种递归型FFT处理器的旋转因子生成单元和旋转因子计算单元的低功耗优化方法。
技术介绍
[0002]快速傅里叶变换(Fast Fourier Transform, FFT)是离散傅里叶变换(Discrete Fourier Transform, DFT)算法的一种快速计算方法,FFT及其逆变换IFFT是现代信号处理和通信中最常用的算法之一,广泛应用于数字图像处理、雷达信号处理、移动通信等领域。
[0003]采用ASIC实现的FFT处理器可以满足特定应用场景下的性能和功耗需求,目前国内外已经针对FFT的ASIC实现提出了一些不同的架构。其中递归型架构的FFT处理器可以用较少的资源在每一级运算内实现流水和并行,在性能要求一般的场景下,可以灵活实现不同点数的FFT运算,具体来说,不仅可以实现小点数下的一维FFT运算,还可以实现大点数下的二维FFT运算。但是递归型架构访存规则复杂,而且运算过程中由于访存会产生大量的功耗。
[0004]现有技术公开了基于查找表搜索法的旋转因子生成单元具有延迟低、功耗低、精度高且便于流水处理等特点,很适合作为递归型FFT处理器的旋转因子生成单元。
[0005]但是查找表搜索法需要额外的访存过程和乘法运算,有大量值为1的旋转因子也参与了运算过程,这种无效的运算增加了大量的功耗。
技术实现思路
[0006]专利技术目的:针对上述已有技术由于冗余访存和冗余乘法运算而产生大量功耗的问题,本专利技术根据小点数一维FFT算法和大点数二维FFT算法在递归型FFT处理器中的运算特点,提出了旋转因子生成单元和旋转因子计算单元的低功耗优化方法。
[0007]技术方案:第一方面,提出一种基于查找表搜索法的旋转因子生成单元,主要包括索引生成模块,地址生成模块、乘法器控制模块和低功耗控制模块;该单元与两个常数旋转因子存储器和一个复数乘法器相连,实时生成的旋转因子结果将送到旋转因子计算单元中与蝶形运算结果进行复数乘法运算。该单元增加额外的判断逻辑和控制逻辑,用来减少旋转因子生成过程中的访存和乘法次数,达到降低功耗的目的。
[0008]在第一方面的一些可实现方式中,索引生成模块根据当前蝶形运算的点数和级数,可以生成基2、基4、基8或者二维FFT算法的旋转因子索引,四种算法共享旋转因子索引生成的逻辑,一定程度上减少了旋转因子生成单元的面积。
[0009]更进一步的,地址生成模块根据生成的索引得到取数偏移地址,同时增设额外的判断逻辑,通过取数偏移地址来判断常数旋转因子是否为1,如果不为1则从两个常数旋转因子存储器对应的地址中取出常数旋转因子1或者常数旋转因子2。会出现以下四种情况:常数旋转因子1和常数旋转因子2均为1;常数旋转因子1为1且常数旋转因子2不为1;
常数旋转因子2为1且常数旋转因子1不为1;常数旋转因子1和常数旋转因子2均不为1;这四种情况的运算过程需要做不同的处理。
[0010]更进一步的,乘法器控制模块将常数旋转因子1和常数旋转因子2送入复数乘法器进行运算,复数乘法器运算结束后将结果返回旋转因子生成单元;如果是第一种情况,正常进行复数乘法运算;而对于第二、三和四种情况,不再将这两个常数旋转因子送入复数乘法器,采用直接寄存的方式进行处理,具体来说,三种情况都需要对控制信号进行打拍,然后第二种情况下将常数旋转因子2寄存,第三种情况下将常数旋转因子1寄存,第四种情况下,不寄存数据。
[0011]更进一步的,当常数旋转因子1和常数旋转因子2均为1时,会生成额外的蝶形乘法使能信号,此时蝶形单元的结果在旋转因子计算单元中采用寄存器寄存,避免与旋转因子进行复数乘法运算;第二方面,对大点数下二维算法的运算过程进行优化。
[0012]首先对二维FFT算法的运算过程进行说明,二维FFT算法将长度为N的输入序列划分为一个N1×
N2的矩阵,运算过程分为三个步骤:列变换:对矩阵的每一列做FFT运算;将矩阵的每一个元素乘中间旋转因子(相位因子);行变换:对矩阵的每一行做FFT运算。
[0013]因为递归型FFT处理器的最后一级蝶形的旋转因子的值全为1,所以在进行最后一级蝶形运算时不会与旋转因子相乘,最后会将运算结果按照原地址送回源数据存储器。二维FFT算法的第二步乘相位因子发生在列变换FFT的最后一级蝶形运算之后,所以在处理相位因子时直接用相位因子代替列变换最后一级的旋转因子,通过超前计算的方法减少了一级的额外读写访存。
有益效果
[0014]本专利技术用在递归型FFT处理器中的旋转因子生成单元不仅具有现有技术的运算特点,而且基2、基4、基8和二维FFT算法共用一个计算逻辑,一定程度上减少了面积;同时增加了额外的判断逻辑和控制逻辑,减少了旋转因子生成单元的访存和乘法次数,极大地降低了功耗。
[0015]在二维FFT算法的第二个步骤中,将乘相位因子的运算过程提前一级,降低了访存的功耗,也减少了一级FFT的运算时间。
附图说明
[0016]图1是本专利技术旋转因子生成单元的总体框架示意图。
[0017]图2是本专利技术旋转因子生成单元另一实施例的总体框架示意图。
[0018]图3是本专利技术旋转因子生成单元的低功耗优化逻辑示意图。
[0019]图4是本专利技术旋转因子计算单元的运算逻辑示意图。
实施方式
[0020]在下文的描述中,给出了大量具体的细节以便提供对本专利技术更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本专利技术可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本专利技术发生混淆,对于本领域公知的一些技术特征未进行描述。
[0021]本专利技术旋转因子生成单元的总体框架如图1所示,与现有技术相比,可以在同一个逻辑下生成基2、基4、基8或者二维FFT算法的旋转因子索引,一定程度上减少了面积;同时增加了判断逻辑和控制逻辑,从而减少了旋转因子生成单元的访存次数和乘法次数,极大地降低了功耗;该旋转因子生成单元不仅可以输出旋转因子结果,还可以输出蝶形乘法标志位,蝶形乘法标志位有效时,蝶形运算结果不会与旋转因子进行复数乘法运算,在旋转因子计算单元中通过寄存的方式输出蝶形运算结果,有效地降低了功耗。
[0022]而如果旋转因子生成单元的工作流程为:首先,生成单元根据当前输入序列的长度生成相应的取数偏移地址序列,并按照该地址序列从两个常数存储器中分别取出对应的常数; 然后,将这两个常数传回生成单元并通过复数乘法器相乘,得出的乘积根据对称性的需要进行相应的处理;最后,经由生成单元输出得到旋转因子序列。则如
技术介绍
所述,有大量值为1的旋转因子也参与了运算过程,这种无效的运算增加了大量的功耗。
[0023]其中,整个低功耗优化的逻辑如图2所示,具体步骤如下:(1)根据当前计算的点数和级数生成索引,由索引转为两个常数旋转因子存储器的取数偏移地址,此时判断常数旋转因子1的偏移地址是否为0。如本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种递归型FFT处理器的低功耗优化装置,其特征在于,包括基于查找表搜索法的旋转因子生成单元:所述旋转因子生成单元包括索引生成模块、地址生成模块、乘法器控制模块和低功耗控制模块;该旋转因子生成单元与两个常数旋转因子存储器和一个复数乘法器相连,实时生成的旋转因子结果将送到旋转因子计算单元参与运算;该旋转因子生成单元增加额外的判断逻辑和控制逻辑,用来减少旋转因子生成过程中的访存和乘法次数,针对大点数二维FFT算法第二步乘相位因子的运算过程,将相位因子提前一级与蝶形运算结果进行复数乘法运算。2.根据权利要求1所述的递归型FFT处理器的低功耗优化装置,其特征在于,索引生成模块根据当前蝶形运算的点数和级数,生成基2、基4、基8或者二维FFT算法的旋转因子索引,四种算法共享旋转因子索引生成的逻辑。3.根据权利要求1所述的递归型FFT处理器的低功耗优化装置,其特征在于,地址生成模块根据生成的索引得到取数偏移地址,同时增设额外的判断逻辑,通过取数偏移地址来判断常数旋转因子是否为1,如果不为1则从两个常数旋转因子存储器对应的地址中取出常数旋转因子1或者常数旋转因子2。4.根据权利要求3所述的递归型FFT处理器的低功耗优化装置,其特征在于,如果常数旋转因子1和常数旋转因子2中有一个值为1,则将寄存不为1的常数旋转因子作为旋转因子生成单元的结果输出。5.根据权利要求3所述的递归型FFT处理器的低功耗优化装置,其特征在于,当常数旋转因子1和常数旋转因子2均为1时,生成额外的蝶...
【专利技术属性】
技术研发人员:傅玉祥,赵仁港,李丽,袁明铸,李杰,邓松峰,李伟,何书专,
申请(专利权)人:上海航天测控通信研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。