基2×K并行FFT架构的地址映射方法及系统技术方案

技术编号:8562977 阅读:280 留言:0更新日期:2013-04-11 04:37
本发明专利技术公开了一种基2×K并行FFT架构的地址映射方法及系统,其特征是采用定常结构的基2FFT运算流图;包含K个基2碟算单元,K为2的整数幂;以2K个双端口数据存储器为共用存储器,分别与两组2K个单端口数据存储器构成两个存储器组;K个基2碟算单元将FFT运算操作数从一个存储器组并行读出,将运算结果操作数并行写入另一个存储器组;旋转因子存放在K个旋转因子存储器中;FFT运算操作数存放算法,确定输入FFT运算操作数在存储器组中的地址;并行读/写地址产生算法,确定FFT运算操作数读/写地址。按照本发明专利技术设计的并行FFT处理器架构,避免了在操作数交换部件中使用多级查找表电路,同时简化了操作数并行读/写地址产生部件电路。

【技术实现步骤摘要】

本专利技术涉及FFT处理器,更具体地说是涉及一种并行FFT处理器的地址映射方法及系统。
技术介绍
离散傅里叶变换DFT是描述离散信号时域和频域关系的重要数学工具,随着快速计算技术FFT的出现,它在数字信号处理和图像信号处理等方面得到了广泛的应用,是许多系统的核心运算。FFT运算结构特殊,在一些对FFT运算速度有较高要求的应用场合,需要采用FFT处理器。FFT处理器的目标是蝶形运算单元的流水执行,这就要求蝶形运算单元的多个操作数能够并行读入或写出。并行FFT处理器使多个蝶形运算单元并行流水执行,运算速度更快,同时要求多个蝶算单元的众多操作数并行读入或写出,因此存在FFT运算操作数的存储安排以及并行无冲突访问问题。直到2008年,上述问题才获得系统解决。D. Reisis和 N. Vlassopoulos 在文章《Conflict-Free Parallel Memory Accessing Techniquesfor FFT Architectures))(发表在 IEEE Transactions on circuits and systems I ,Vol. 55,No. 11,p3438-3447)中采用原址运算的FFT算法提出了一种并行FFT处理器架构。该架构使用多级查找表电路对蝶算单元的输入和输出数据排序,构成所述FFT运算操作数交换部件,以实现FFT运算操作数存储器的并行无冲突访问。尽管该方案解决了 FFT运算操作数的存储安排以及并行无冲突访问问题,并且需要的数据存储器容量最小,但由于使用多级查找表电路,造成了操作数交换部件电路复杂。此外,该方案扩展性较差,若需要增加并行FFT处理器中包含的碟算单元数量,就需要重新设计查找表电路。
技术实现思路
本专利技术为避免上述现有技术所存在的不足之处,提供一种基2 X K并行FFT架构的地址映射方法及系统,采用定常结构的基2FFT运算流图,利用FFT运算操作数存放算法以及并行读/写地址产生算法,避免在操作数交换部件中使用多级查找表电路,同时使操作数并行读/写地址产生部件电路更加简单。本专利技术为解决技术问题采用如下技术方案本专利技术基2 X K并行FFT架构的地址映射方法的特点是采用定常结构的基2FFT运算流图,并行FFT架构包含K个基2碟算单元,K为2的整数幂;以2K个双端口数据存储器为共用存储器,所述2K个双端口数据存储器与第一组2K个单端口数据存储器构成一个存储器组,并以所述2K个双端口数据存储器与第二组2K个单端口数据存储器构成另一个存储器组;K个基2碟算单元将FFT运算操作数从一个存储器组并行读出,并将FFT运算结果操作数并行写入另一个存储器组;旋转因子存放在K个旋转因子存储器中;所述基2XK并行FFT架构的地址映射方法是按如下步骤进行a、确定所述FFT运算操作数在存储器组中的存放方法设N为所述FFT运算操作数的数量;k为操作数的标号,k=0, I, ···, N-1 ;操作数k存放在体标号为B (k),体内地址为A (k)的存储器组中;当/,<4时,操作数k存放在存储器组的双端口数据存储器中,并有本文档来自技高网
...

【技术保护点】
一种基2×K并行FFT架构的地址映射方法,其特征是:采用定常结构的基2FFT运算流图,并行FFT架构包含K个基2碟算单元,K为2的整数幂;以2K个双端口数据存储器为共用存储器,所述2K个双端口数据存储器与第一组2K个单端口数据存储器构成一个存储器组,并以所述2K个双端口数据存储器与第二组2K个单端口数据存储器构成另一个存储器组;K个基2碟算单元将FFT运算操作数从一个存储器组并行读出,并将FFT运算结果操作数并行写入另一个存储器组;旋转因子存放在K个旋转因子存储器中;所述基2×K并行FFT架构的地址映射方法是按如下步骤进行:a、确定所述FFT运算操作数在存储器组中的存放方法:设N为所述FFT运算操作数的数量;k为操作数的标号,k=0,1,…,N?1;操作数k存放在体标号为B(k),体内地址为A(k)的存储器组中;当时,操作数k存放在存储器组的双端口数据存储器中,并有:当操作数k存放在存储器组的单端口数据存储器中,并有:其中p(k)=0,kmod2=12,kmod2=0,为向下取整数,mod为取余数;b、确定所述FFT运算操作数的读地址;设m为所述基2碟算单元标号,m=0,1,…,K?1;基2碟算单元m包括两个读端口BFI(m,0)和BFI(m,1);以MBFI(m,0)和MBFI(m,1)分别表示读端口BFI(m,0)和BFI(m,1)读入的FFT运算操作数;以cntr表示完成一层FFT运算需要的并行读操作次数,cntr=0,1,···,N2K-1;所述FFT运算操作数MBFI(m,0)来自存储器组的双端口数据存储器,读地址为所述FFT运算操作数MBFI(m,1)来自存储器组的单端口数据存储器,读地址为c、确定所述FFT运算操作数的写地址;基2碟算单元m包括两个写端口BFO(m,0)和BFO(m,1);以MBFO(m,0)和MBFO(m,1)分别表示写端口BFO(m,0)和BFO(m,1)写入的FFT运算操作数;以cntw表示完成一层FFT运算需要的并行写操作次数,当所述FFT运算操作数MBFO(m,0)和MBFO(m,1)均写入存储器组的双端口数据存储器中,写地址为:B(MBFO(m,0))=2mB(MBFO(m,1))=2m+1A(MBFO(m,0))=A(MBFO(m,1))=cntw---(4);当所述FFT运算操作数MBFO(m,0)和MBFO(m,1)均写入存储器组的单端口数据存储器中,写地址为:B(MBFO(m,0))=2K-2-2mB(MBFO(m,1))=2K-1-2mA(MBFO(m,0))=A(MBFO(m,1))=cntw-N4K---(5);d、确定旋转因子在所述旋转因子存储器中的存放方法:所述K个旋转因子存储器的存储内容相同,均按地址递增顺序存放指数为w的旋转因子,w取值范围为[0,N?1];e、确定旋转因子读地址:以cnt表示完成一层FFT运算并行读旋转因子的次数,N=2L为所述FFT运算操作数的数量;n为FFT运算级数,n=1,2,…,L;则蝶算单元m在第n级FFT运算时旋转因子的读地址P(m,n)为:P(m,n)=0,n=1rev((m+K×cnt)mod2n-1),n≠1---(6)其中rev(),表示位倒序操作。FDA00002581087600011.jpg,FDA00002581087600012.jpg,FDA00002581087600013.jpg,FDA00002581087600014.jpg,FDA00002581087600016.jpg,FDA00002581087600021.jpg,FDA00002581087600022.jpg,FDA00002581087600023.jpg,FDA00002581087600024.jpg,FDA00002581087600026.jpg,FDA00002581087600031.jpg...

【技术特征摘要】
1.一种基2XK并行FFT架构的地址映射方法,其特征是 采用定常结构的基2FFT运算流图,并行FFT架构包含K个基2碟算单元,K为2的整数幂; 以2K个双端口数据存储器为共用存储器,所述2K个双端口数据存储器与第一组2K个单端口数据存储器构成一个存储器组,并以所述2K个双端口数据存储器与第二组2K个单端口数据存储器构成另一个存储器组; K个基2碟算单元将FFT运算操作数从一个存储器组并行读出,并将FFT运算结果操作数并行写入另一个存储器组; 旋转因子存放在K个旋转因子存储器中; 所述基2XK并行FFT架构的地址映射方法是按如下步骤进行 a、确定所述FFT运算操作数在存储器组中的存放方法 设N为所述FFT运算操作数的数量;k为操作数的标号,k=0, I,…,N-1 ;操作数k存放在体标号为B (k),体内地址为A (k)的存储器组中; 当/Pcf时,操作数k存放在存储器组的双端口数据存储器中,并...

【专利技术属性】
技术研发人员:侯宁张多利杜高明宋宇鲲贾靖华王晓蕾
申请(专利权)人:合肥工业大学合肥工大先行微电子技术有限公司
类型:发明
国别省市:

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

1