基于dif的基-2并行fft处理器及其处理方法

文档序号:6431307阅读:377来源:国知局
专利名称:基于dif的基-2并行fft处理器及其处理方法
技术领域
本发明属于信号与信息处理技术领域,涉及一种FFT处理器,尤其涉及一种基于DIF的基-2并行FFT处理器及其处理方法。
背景技术
FFT在数字信号处理领域有着非常广泛的应用,但长序列FFT运算量很大,实现比较困难。随着高速器件的发展,关于如何快速实现长序列FFT这方面的研究很多,各种各样的实现方法也相继出现。例如使用多个专用芯片来构成并行结构以快速实现长序列FFT,但这种方法是基于专用芯片的,灵活性不足。近年来FPGA器件发展迅速,其可编程重构特性使得它在许多领域得到了越来越广泛的应用。Xilinx公司Virtex-II系列FPGA内部集成了大量专用乘法器(Block Multiplier)、大量块RAM (Block RAM)以及丰富的逻辑门资源,这使得它非常适合实现FFT这种需要大量乘法器、大量块RAM和寄存器的设计。理论上FFT算法有两种,即按时间抽取法DIT(Decimation-In-Time)和按频率抽取法(Decimation-In-Freqency),两种算法没有本质上的区别,只是复数加减法与旋转因子乘法的次序有区别,两种方法的运算量是一样的。但在实现方式上,两者的蝶形运算结构不同。为了提高长序列FFT的处理速度和系统吞吐量(Throughput),本发明分析并设计了一种基于DIF方法的适合于FPGA实现的并行FFT。

发明内容
本发明所要解决的技术问题是提供一种基于DIF的基-2并行FFT处理器,该并行FFT处理器可线性提高处理速度;此外,本发明还提供一种基于DIF的基-2并行FFT处理器的处理方法,该方法也可以线性提高处理速度。为解决上述技术问题,本发明采用如下技术方案。一种基于DIF的基-2并行FFT处理器,包括并行FFT输入运算器、旋转因子模块和FFT处理器;所述并行FFT输入运算器包括2M路并行的加减法器、以及用以实现时序同步的延时单元,其中M为非负整数;所述FFT处理器包括2m路并行的FFT IP核;2M路并行的加减法器与0路并行的FFT IP核对应相连;每一路加减法器的输出序列与旋转因子模块中的相应旋转因子相乘后均输入给与自身对应相连的一路FFT IP核;所述延时单元设置在并行FFT输入运算器中的加减法器的输入端、或/和输出端。作为本发明的一种优选方案,所述基于DIF的基-2并行FFT处理器的输入序列长为K · 2M,其中K为正整数,所述FFT IP核所处理的序列的长度为K。作为本发明的另一种优选方案,所述旋转因子模块中存储有旋转因子查找表。一种基于DIF的基-2并行FFT处理器的处理方法,包括以下步骤步骤一,将长度为K· 2"点的序列x(n)平均分为2"组序列,即x(n), x(n+K),X (η+2Κ),…,X (η+ (2Μ_1)K),其中K为正整数,M为非负整数;
步骤二,将所述2m组序列同步输入到并行FFT输入运算器中,所述并行FFT输入运算器包括2M路并行的加减法器;步骤三,将通过并行FFT输入运算器计算得到的2M组加减结果乘以旋转因子模块中存储的对应的旋转因子,获得2M组乘积结果;步骤四,将所述2m组乘积结果分别输入到长度为K的FFT IP核进行FFT处理,得到长度为K的FFT结果;把2m路的FFT结果首尾相连起来,即获得输入序列的FFT结果。作为本发明的一种优选方案,所述基于DIF的基-2并行FFT处理器的输入序列长为K · 2M,其中K为正整数,所述FFT IP核所处理的序列的长度为K。作为本发明的另一种优选方案,所述旋转因子模块中存储有旋转因子查找表。作为本发明的再一种优选方案,所述并行FFT输入运算器中的加减法器的输入·端、或/和输出端设有用以实现时序同步的延时单元。本发明的有益效果在于本发明所述的基于DIF的基-2并行FFT处理器将长序列分裂成短序列,并由多个FFT处理器并行实现短序列的FFT,从而线性提高了处理速度和系
统吞吐量。


图I为本发明所述的基于DIF的基-2并行FFT处理器的结构示意图;图2为实施例二所述的基于DIF的基-2并行FFT处理器的结构示意图;图3为一个标准的按频率抽取法(DIF)的N = 16点FFT运算流程图。主要组件符号说明I、并行FFT输入运算器;2、旋转因子模块;3、FFT处理器;11、加减法器;12、延时单元;31、FFT IP 核。
具体实施例方式下面结合附图对本发明的具体实施方式
作进一步详细说明。实施例一本实施例提供一种基于DIF的基-2并行FFT处理器,如图I所示,包括并行FFT输入运算器I、旋转因子模块2和FFT处理器3 ;所述并行FFT输入运算器I包括2M路并行的加减法器11和延时单元12,其中M为非负整数;所述FFT IP核3包括2M路并行的FFTIP核31 ;2m路并行的加减法器11与2m路并行的FFT IP核31 —一对应相连;每一路加减法器11的输出序列与旋转因子模块2中的相应旋转因子相乘后均输入给与自身对应相连的一路FFT IP核31。所述基于DIF的基-2并行FFT处理器的输入序列长为K ·2Μ,其中K为正整数,所述FFTIP核31所处理的序列的长度为K。所述旋转因子模块2中存储有旋转因子查找表。所述并行FFT输入运算器I中的加减法器11的输入端、或/和输出端设有用以实现时序同步的延时单元12。所述基于DIF的基-2并行FFT处理器的处理方法为步骤一,将长度为K · 2Μ点的序列X (η)平均分为2Μ组序列,即χ (η),χ (η+Κ),X (n+2K),…,χ (η+ (2Μ_1) K),其中K为正整数,M为非负整数;步骤二,将所述2μ组序列同步输入到并行FFT输入运算器中,所述并行FFT输入运算器包括2Μ路并行的加减法器;
步骤三,将通过并行FFT输入运算器计算得到的2Μ组加减结果乘以旋转因子模块中存储的对应的旋转因子,获得2Μ组乘积结果;步骤四,将所述2μ组乘积结果分别输入到长度为K的FFT IP核进行FFT处理,得到长度为K的FFT结果,把2Μ路的FFT结果首尾相连起来,即获得输入序列的FFT结果。其中FFT处理器包括2μ路并行的FFT IP核,每路FFT IP核处理一组乘积结果。实施例二本实施例提供了一种基于DIF的基-2并行FFT处理器,如图2所示,其与实施例一的区别在于并行FFT输入运算器包括4路并行的加减法器,FFT处理器包括4路并行的FFT IP核;基于DIF的基-2并行FFT处理器的输入序列长为N。图3显示了一个标准的按频率抽取法(DIF)的N = 16点FFT运算流程图,其中前面两级之后的数据流程在水平上明显地分成四个独立单元(如图3中虚线所示),每个单元独立地实现Ν/4点的FFT,从而构成一个四路并行的结构。因此,可以用四个Ν/4点的FFT单元来并行计算N点的FFT,即所谓并行结构的FFT。然后设计一个特定结构的运算电路来处理最初的两级。下面对本实施例所述的基于DIF的基-2并行FFT处理器的设计过程进行详细描述设计一个适合于FPGA实现的并行DIF方式FFT处理器的关键是设计前面提到的特定结构的运算电路,而标准的FFT单元设计将不在这里阐述,本发明采用专用FFT IP核来实现短序列(长度为Ν/4)的FFT处理。对于长度为N的序列χ (η),设其对应的FFT结果为N点序列X (w),那么有X(W) = YjX(Ti)W^nCl)
M=O其中,Wn= Ρ2π/Ν 即所谓的旋转因子(twiddle-factor)。为了便于理解,按库利-图基算法把输出序列X(k)按k分裂成奇偶两组,即
N-IN/2-1N-IX(k) = Σ XinW^n = Σ + Σ
n=0n=0n=N/2
N/2-1N/2-1= Σ x(n)Kn + Σ χ(η + N/2)W^(n+N,2)
n=0n=0
N/2-1N/2-1= Σ Φ)Κ + Σ (-ifxin + Nnwt
n=0n=0(2)
—-2πΝ I,式(2)中,=e-#=(-1)*,所以有
N/2-1 r-,X(k) = Y4 x(n) + {-l)k x(n + NI2) W^n ,^ = 0,1,..…N(3)
n=0同样,可以把k再细分成4组,SP
Ν/4-1Ν/4-1X(k) = Y4 x(nWNkn + γχ(η +N14WNk(n+N/4)
n=0n=0
权利要求
1.一种基于DIF的基-2并行FFT处理器,其特征在于包括并行FFT输入运算器、旋转因子模块和FFT处理器;所述并行FFT输入运算器包括2M路并行的加减法器、以及用以实现时序同步的延时单元,其中M为非负整数;所述FFT处理器包括2m路并行的FFT IP核;2M路并行的加减法器与2M路并行的FFT IP核一一对应相连;每一路加减法器的输出序列与旋转因子模块中的相应旋转因子相乘后均输入给与自身对应相连的一路FFT IP核;所述延时单元设置在并行FFT输入运算器中的加减法器的输入端、或/和输出端。
2.根据权利要求I所述的基于DIF的基-2并行FFT处理器,其特征在于所述基于DIF的基-2并行FFT处理器的输入序列长为K · 2M,其中K为正整数,所述FFT IP核所处理的序列的长度为K。
3.根据权利要求I所述的基于DIF的基-2并行FFT处理器,其特征在于所述旋转因子模块中存储有旋转因子查找表。
4.权利要求I所述的基于DIF的基-2并行FFT处理器的处理方法,其特征在于,包括以下步骤 步骤一,将长度为K· 2"点的序列x(n)平均分为2"组序列,即x(n),x(n+K),X (η+2Κ),…,X (η+ (2Μ_1)K),其中K为正整数,M为非负整数; 步骤二,将所述2Μ组序列同步输入到并行FFT输入运算器中,所述并行FFT输入运算器包括2Μ路并行的加减法器; 步骤三,将通过并行FFT输入运算器计算得到的2Μ组加减结果乘以旋转因子模块中存储的对应的旋转因子,获得2Μ组乘积结果; 步骤四,将所述2Μ组乘积结果分别输入到长度为K的FFT IP核进行FFT处理,得到长度为K的FFT结果;把2μ路的FFT结果首尾相连起来,即获得输入序列的FFT结果。
5.根据权利要求4所述的基于DIF的基-2并行FFT处理器的处理方法,其特征在于所述基于DIF的基-2并行FFT处理器的输入序列长为K ·2Μ,其中K为正整数,所述FFT IP核所处理的序列的长度为K。
6.根据权利要求4所述的基于DIF的基-2并行FFT处理器的处理方法,其特征在于所述旋转因子模块中存储有旋转因子查找表。
7.根据权利要求4所述的基于DIF的基-2并行FFT处理器的处理方法,其特征在于所述并行FFT输入运算器中的加减法器的输入端、或/和输出端设有用以实现时序同步的延时单元。
全文摘要
本发明公开了一种基于DIF的基-2并行FFT处理器及其处理方法,该处理器包括并行FFT输入运算器、旋转因子模块和FFT处理器;所述并行FFT输入运算器包括2M路并行的加减法器、以及用以实现时序同步的延时单元,其中M为非负整数;所述FFT处理器包括2M路并行的FFTIP核;2M路并行的加减法器与2M路并行的FFTIP核一一对应相连;每一路加减法器的输出序列与旋转因子模块中的相应旋转因子相乘后均输入给与自身对应相连的一路FFTIP核;所述延时单元设置在并行FFT输入运算器中的加减法器的输入端、或/和输出端。本发明所述的基于DIF的基-2并行FFT处理器将长序列分裂成短序列,并由多个FFTIP核并行实现短序列的FFT,线性提高了处理速度和系统吞吐量。
文档编号G06F17/14GK102955760SQ201110243249
公开日2013年3月6日 申请日期2011年8月23日 优先权日2011年8月23日
发明者黄正 申请人:上海华魏光纤传感技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1