CN110795685A - 基于fpga的fft处理方法和装置 - Google Patents

基于fpga的fft处理方法和装置 Download PDF

Info

Publication number
CN110795685A
CN110795685A CN201810864583.0A CN201810864583A CN110795685A CN 110795685 A CN110795685 A CN 110795685A CN 201810864583 A CN201810864583 A CN 201810864583A CN 110795685 A CN110795685 A CN 110795685A
Authority
CN
China
Prior art keywords
point data
data
operation result
butterfly
last stage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201810864583.0A
Other languages
English (en)
Inventor
胡嘉欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Potevio Information Technology Co Ltd
Original Assignee
Potevio Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Potevio Information Technology Co Ltd filed Critical Potevio Information Technology Co Ltd
Priority to CN201810864583.0A priority Critical patent/CN110795685A/zh
Publication of CN110795685A publication Critical patent/CN110795685A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

本发明实施例提供一种基于FPGA的FFT处理方法和装置。所述方法包括:在接收N点数据的过程中进行卷积运算,得到前点数据的运算结果;在N点数据全部到达后,对后点数据进行蝶形运算,直到得到后
Figure DDA0001750602650000013
点数据的倒数第二级的蝶形运算结果;根据前
Figure DDA0001750602650000014
点数据的运算结果和后
Figure DDA0001750602650000015
点数据的倒数第二级的蝶形运算结果计算后
Figure DDA0001750602650000016
点数据的最后一级的蝶形运算结果。本发明实施例通过在接收数据过程中开始进行运算,能够进一步减少FFT处理时延。

Description

基于FPGA的FFT处理方法和装置
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种基于FPGA的FFT处理方法和装置。
背景技术
OFDM(Orthogonal Frequency Division Multiplexing,正交频分复用)在无线通信系统中多载波传输得到了广泛的应用,OFDM的调制和解调是分别基于IFFT(快速傅里叶逆变换)和FFT(快速傅里叶变换)来实现。
FFT是DFT(Discrete Fourier Transform,离散傅里叶变换)的一种快速实现算法。DFT对N点的有限长序列进行时域和频域的变换,通常利用FPGA的并行矩阵乘法器进行卷积来实现,但是这种实现方式当N较大时,乘法次数多,计算量大,耗时长,不利于计算机实时对信号进行处理。FFT算法能够在N较大时,进行基2和基4的分解,使运算效率大大提高。
基-2算法和基-4算法是最常用基于时间抽取的FFT算法,基-2 FFT算法是把长度为N(N为2的整次幂)的序列一分为二,将N点DFT表示为两个
Figure BDA0001750602630000011
点DFT的线性组合,然后再把
Figure BDA0001750602630000012
点的DFT一分为二,表示为两个点DFT。如此重复下去,直至分解成两点DFT的运算,两点DFT只有加减运算。FFT每一级运算以蝶形运算的形式开展,因此N点DFT的FFT变换可以转为log2(N)级级联的蝶形运算,每一级均包含有
Figure BDA0001750602630000013
次蝶形计算,而每一个蝶形运算包含了1次乘法,因此N点FFT计算的总乘法计算量为
Figure BDA0001750602630000014
如图1所示,为基-2 FFT算法的8点DFT的蝶形运算流图,由于输入信号y(n)是交织使用的,所以在实现时需要等到8个y(n)全部收到后才可以开始进行蝶形运算,并经过次乘法运算后得到最终的X(n)序列,因此FFT的处理时延就是
Figure BDA0001750602630000016
次乘法所需的时间。
现有的FFT蝶形运算减少了FPGA的乘法运算量,但是需要等到所有数据到达后才能开始运算,因此,如何更快速地实现FFT过程成为亟待解决的问题,特别是在5G所要求的低时延场景中,每一步处理的时延降低都更加重要。
发明内容
针对现有技术问题,本发明实施例提供一种基于FPGA的FFT处理方法和装置。
一方面,本发明实施例提供一种基于FPGA的FFT处理方法,所述方法包括:
在接收N点数据的过程中进行卷积运算,得到前
Figure BDA0001750602630000021
点数据的运算结果,N为2的整次幂;
在N点数据全部到达后,对后
Figure BDA0001750602630000022
点数据进行蝶形运算,直到得到后点数据的倒数第二级的蝶形运算结果;
根据前点数据的运算结果和后
Figure BDA0001750602630000025
点数据的倒数第二级的蝶形运算结果计算后
Figure BDA0001750602630000026
点数据的最后一级的蝶形运算结果。
另一方面,本发明实施例提供一种基于FPGA的FFT处理装置,所述装置包括:
第一计算单元,用于在接收N点数据的过程中进行卷积运算,得到前
Figure BDA0001750602630000027
点数据的运算结果,N为2的整次幂;
第二计算单元,用于在N点数据全部到达后,对后
Figure BDA0001750602630000028
点数据进行蝶形运算,直到得到后
Figure BDA0001750602630000029
点数据的倒数第二级的蝶形运算结果;
第三计算单元,用于根据前
Figure BDA00017506026300000210
点数据的运算结果和后
Figure BDA00017506026300000211
点数据的倒数第二级的蝶形运算结果计算后
Figure BDA00017506026300000212
点数据的最后一级的蝶形运算结果。
另一方面,本发明实施例还提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述基于FPGA的FFT处理方法的步骤。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述基于FPGA的FFT处理方法的步骤。
本发明实施例通过在接收数据过程中开始进行运算,能够进一步减少FFT处理时延。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术基-2 FFT算法的8点DFT的蝶形运算流图;
图2为本发明一实施例提供的基于FPGA的FFT处理方法的流程示意图;
图3为现有技术基-2 FFT算法计算到倒数第二级的8点FFT的蝶形运算流图;
图4为现有技术基-2 FFT算法最后一级蝶形运算流图;
图5为本发明又一实施例提供的基于FPGA的FFT处理方法的流程示意图;
图6为本发明一实施例提供的基于FPGA的FFT处理装置的结构示意图;
图7为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2示出了本发明实施例提供的一种基于FPGA的FFT处理方法的流程示意图。
如图2所示,本发明实施例提供的基于FPGA的FFT处理方法具体包括以下步骤:
S11、在接收N点数据的过程中进行卷积运算,得到前
Figure BDA0001750602630000031
点数据的运算结果,N为2的整次幂;
具体地,DFT对离散有限长序列进行时域到频域的变换,DFT在时域和频域上都呈离散的形式。
线性卷积是求离散系统响应的主要方法之一,本发明实施例在接收N点数据的过程中,对数据进行卷积运算,得到前点数据在频域的结果。
由于DFT运算采用的是卷积运算,所以无需数据全部到达,仅需要将数据流依次输入FPGA的乘法器进行卷积即可,FPGA移位进行卷积,不消耗乘法器。与现有的FFT实现算法相比,本发明实施例利用数据传输的时间段开始进行运算,在接收数据的过程中将数据输入现有的FFT算法的FPGA电路中执行卷积,进一步降低无线通信系统的处理时延,并且乘法器使用数量不变。
S12、在N点数据全部到达后,对后
Figure BDA0001750602630000042
点数据进行蝶形运算,直到得到后
Figure BDA0001750602630000043
点数据的倒数第二级的蝶形运算结果;
具体地,在全部数据达到之后,使用所有数据对后
Figure BDA0001750602630000044
点的数据开始进行蝶形运算,并运算到蝶形运算的倒数第二级。
因此,后
Figure BDA0001750602630000045
点的数据的蝶形运算的计算级数降低为log2(N)-1,每级计算次数降低为
Figure BDA0001750602630000046
次,后
Figure BDA0001750602630000047
点的数据的蝶形运算的计算量为
Figure BDA0001750602630000048
本发明实施例在对后
Figure BDA0001750602630000049
点的数据进行蝶形运算的同时,已经开始进行前
Figure BDA00017506026300000410
点的数据结果的输出,能够实现FFT无延时处理。
图3示出了计算到倒数第二级的8点FFT的蝶形运算流图。
如图3所示,N=8,n=0~7,输入为y(n),y3(n)为蝶形运算的倒数第二级,最后一级输出为X(n)。
后4点的数据的蝶形运算仅需计算出y3(n)(n=4,5,6,7)的结果。后4点的数据的蝶形运算的计算级数降低为2,每级计算次数降低为次2,后4点的数据的蝶形运算的计算量为4。
S13、根据前
Figure BDA00017506026300000411
点数据的运算结果和后
Figure BDA00017506026300000412
点数据的倒数第二级的蝶形运算结果计算后
Figure BDA00017506026300000413
点数据的最后一级的蝶形运算结果。
本发明实施例根据蝶形运算最后一级的计算特点,在已知前
Figure BDA00017506026300000414
点数据的频域变换结果和后
Figure BDA00017506026300000415
点数据的倒数第二级蝶形运算结果后,能够计算出后
Figure BDA00017506026300000416
点数据最后一级蝶形运算的结果。
本发明实施例通过在接收数据过程中进行卷积运算得到前
Figure BDA0001750602630000051
点数据的运算结果,并根据前
Figure BDA0001750602630000052
点数据的结果和后
Figure BDA0001750602630000053
点数据的倒数第二级的蝶形运算结果计算后
Figure BDA0001750602630000054
点数据的最后一级的蝶形运算结果,能够进一步减少FFT处理时延。
具体地,后
Figure BDA0001750602630000055
点数据的最后一级的蝶形运算结果为
Figure BDA0001750602630000056
其中:
j的取值范围为
Figure BDA0001750602630000057
k的取值范围为
Figure BDA0001750602630000058
r的取值范围为
Figure BDA0001750602630000059
WN为旋转因子;
Xm(j)为后
Figure BDA00017506026300000510
点数据的最后一级蝶形运算结果;
Xm(k)为前
Figure BDA00017506026300000511
点数据的运算结果;
Xm-1(j)为后
Figure BDA00017506026300000512
点数据的倒数第二级的蝶形运算结果。
图4示出了最后一级蝶形运算的运算流图。
如图4所示,Xm(j)为后
Figure BDA00017506026300000513
点数据的最后一级蝶形运算结果,Xm(k)为前
Figure BDA00017506026300000514
点数据的运算结果,Xm-1(j)为后
Figure BDA00017506026300000515
点数据的倒数第二级的蝶形运算结果。因此,可得最后一级蝶形运算结果为
以基-2 FFT算法的8点DFT的蝶形运算为例,后
Figure BDA00017506026300000517
点数据的最后一级蝶形运算结果为
Figure BDA00017506026300000518
其中,乘2的操作可以使用移位代替不占用乘法单元,因此每个数据点只进行了一次乘法运算完成了最后一级蝶形运算,得到了最终的FFT结果。
本发明实施例与现有的实现FFT的蝶形算法相比,只进行后一半数据的蝶形运算,而前一半数据的运算结果则在数据传输过程中卷积计算完成,因此总的处理时延为现有实现FFT算法的一半。
现有直接实现基-2算法的运算在数据全部到达后的运算量为
Figure BDA00017506026300000519
因此本发明实施例在数据全部到达后的数据运算量为
Figure BDA00017506026300000520
本发明实施例相比传统的基-2算法的处理时延减少了一半,并且在运算的同时就已经开始进行前
Figure BDA0001750602630000061
点数据结果的输出,可以做到FFT无延迟处理。
具体地,所述方法还包括:
在得到前
Figure BDA0001750602630000062
点数据的运算结果后,将前
Figure BDA0001750602630000063
点数据的运算结果进行缓存。
具体地,所述方法还包括:
在对后
Figure BDA0001750602630000064
点数据进行蝶形运算的同时输出前
Figure BDA0001750602630000065
点数据的运算结果。
本发明实施例在对后点数据进行倒数第二级的蝶形运算时,已经完成了前
Figure BDA0001750602630000067
点数据的卷积运算结果,并进行输出。
具体地,所述方法还包括:
在得到后点数据的最后一级的蝶形运算结果之后,输出后点数据的最后一级的蝶形运算结果。
本发明实施例输出后
Figure BDA00017506026300000610
点数据的最后一级的蝶形运算结果,得到完整的N点数据的频域变换结果。
图5示出了本发明又一实施例基于FPGA的FFT处理方法的流程示意图。
如图5所示,输入数据D(0)……D(N),N为2的整次幂,数据传输的同时进行卷积运算,得到前
Figure BDA00017506026300000611
点数据的频域结果,并将计算结果进行缓存;使用所有数据对后
Figure BDA00017506026300000612
点数据进行蝶形运算的同时,输出前点数据的卷积计算结果
Figure BDA00017506026300000614
Figure BDA00017506026300000615
点数据进行到倒数第二级的蝶形运算;根据前
Figure BDA00017506026300000616
点数据的卷积计算结果以及后点数据的倒数第二级的蝶形运算结果,进行后
Figure BDA00017506026300000618
点数据的最后一级蝶形运算,输出后点数据频域变换结果
Figure BDA00017506026300000620
Figure BDA00017506026300000621
本发明实施例在数据传输过程中对所有数据进行卷积计算,得到前
Figure BDA00017506026300000622
点数据的频域结果,数据全部到达后,使用所有数据对后
Figure BDA00017506026300000623
点数据进行蝶形运算并运算到倒数第二级,然后利用前点数据的计算结果以及后点数据倒数第二级的蝶形运算结果计算后
Figure BDA00017506026300000626
点数据的最后一级的蝶形运算结果,能够利用现有FPGA结构实现时延更低的处理结果。
本发明实施例可以利用现有FPGA结构灵活在传统基-2算法和低时延算法中进行切换。若采用传统的基-2算法,只需要使状态基只运行蝶形运算并遍历所有点即可。
本发明实施例可以适用于任意2的整数倍的FFT运算,易于FPGA应用及控制。
本发明实施例还提供一种基于FPGA的FFT处理装置。
图6示出了本发明实施例提供的一种基于FPGA的FFT处理装置的结构示意图。
如图6所示,本发明实施例提供的基于FPGA的FFT处理装置包括第一计算单元11、第二计算单元12以及第三计算单元13,其中:
所述第一计算单元11,用于在接收N点数据的过程中进行卷积运算,得到前
Figure BDA0001750602630000071
点数据的运算结果,N为2的整次幂;
所述第二计算单元12,用于在N点数据全部到达后,对后
Figure BDA0001750602630000072
点数据进行蝶形运算,直到得到后
Figure BDA0001750602630000073
点数据的倒数第二级的蝶形运算结果;
所述第三计算单元13,用于根据前点数据的运算结果和后
Figure BDA0001750602630000075
点数据的倒数第二级的蝶形运算结果计算后
Figure BDA0001750602630000076
点数据的最后一级的蝶形运算结果。
本发明实施例通过在接收数据过程中开始进行运算,并根据前点数据的结果和后
Figure BDA0001750602630000078
点数据的倒数第二级的蝶形运算结果计算后
Figure BDA0001750602630000079
点数据的最后一级的蝶形运算结果,能够进一步减少FFT处理时延。
在上述实施例的基础上,所述第三计算单元13计算出的后
Figure BDA00017506026300000710
点数据的最后一级的蝶形运算结果为其中:
j的取值范围为
Figure BDA00017506026300000712
k的取值范围为r的取值范围为
Figure BDA00017506026300000714
WN为旋转因子;
Xm(j)为后
Figure BDA00017506026300000715
点数据的最后一级蝶形运算结果;
Xm(k)为前
Figure BDA00017506026300000716
点数据的运算结果;
Xm-1(j)为后点数据的倒数第二级的蝶形运算结果。
本发明实施例根据蝶形运算最后一级的计算特点,在已知前
Figure BDA00017506026300000718
点数据的频域变换结果后,能够计算出后
Figure BDA0001750602630000081
点数据最后一级蝶形运算的结果。
在上述实施例的基础上,所述装置还包括:
缓存单元,用于在得到前
Figure BDA0001750602630000082
点数据的运算结果后,将前
Figure BDA0001750602630000083
点数据的运算结果进行缓存。
在上述实施例的基础上,所述装置还包括:
第一输出单元,用于在对后
Figure BDA0001750602630000084
点数据进行蝶形运算的同时输出前
Figure BDA0001750602630000085
点数据的运算结果。
本发明实施例在对后
Figure BDA0001750602630000086
点数据进行蝶形运算时,已经完成了前点数据的卷积运算结果,并进行输出。
在上述实施例的基础上,所述装置还包括:
第二输出单元,用于在得到后
Figure BDA0001750602630000088
点数据的最后一级的蝶形运算结果之后,输出后点数据的最后一级的蝶形运算结果。
本发明实施例输出后点数据的最后一级的蝶形运算结果,得到完整的N点数据的频域变换结果。
本发明实施例中的功能模块可以通过硬件处理器(hardware processor)来实现相关功能模块,本发明实施例不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如图2的方法。
图7示出了本发明一实施例提供的电子设备的结构示意图。
如图7所示,本发明实施例提供的电子设备包括存储器21、处理器22、总线23以及存储在存储器21上并可在处理器22上运行的计算机程序。其中,所述存储器21、处理器22通过所述总线23完成相互间的通信。
所述处理器22用于调用所述存储器21中的程序指令,以执行所述程序时实现如图2的方法。
例如,所述处理器执行所述程序时实现如下方法:
在接收N点数据的过程中进行卷积运算,得到前
Figure BDA0001750602630000091
点数据的运算结果;
在N点数据全部到达后,对后
Figure BDA0001750602630000092
点数据进行蝶形运算,直到得到后
Figure BDA0001750602630000093
点数据的倒数第二级的蝶形运算结果;
根据前
Figure BDA0001750602630000094
点数据的运算结果和后
Figure BDA0001750602630000095
点数据的倒数第二级的蝶形运算结果计算后
Figure BDA0001750602630000096
点数据的最后一级的蝶形运算结果。
本发明实施例提供的电子设备,本发明实施例通过在接收数据过程中开始进行运算,并根据前
Figure BDA0001750602630000097
点数据的结果和后
Figure BDA0001750602630000098
点数据的倒数第二级的蝶形运算结果计算后
Figure BDA0001750602630000099
点数据的最后一级的蝶形运算结果,能够进一步减少FFT处理时延。
本发明实施例还提供一种非暂态计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现如图2的步骤。
例如,所述处理器执行所述程序时实现如下方法:
在接收N点数据的过程中进行卷积运算,得到前
Figure BDA00017506026300000910
点数据的运算结果;
在N点数据全部到达后,对后
Figure BDA00017506026300000911
点数据进行蝶形运算,直到得到后
Figure BDA00017506026300000912
点数据的倒数第二级的蝶形运算结果;
根据前点数据的运算结果和后
Figure BDA00017506026300000914
点数据的倒数第二级的蝶形运算结果计算后
Figure BDA00017506026300000915
点数据的最后一级的蝶形运算结果。
本发明实施例提供的非暂态计算机可读存储介质,本发明实施例通过在接收数据过程中开始进行运算,并根据前
Figure BDA00017506026300000916
点数据的结果和后
Figure BDA00017506026300000917
点数据的倒数第二级的蝶形运算结果计算后
Figure BDA00017506026300000918
点数据的最后一级的蝶形运算结果,能够进一步减少FFT处理时延。
本发明一实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
在接收N点数据的过程中进行卷积运算,得到前
Figure BDA0001750602630000101
点数据的运算结果;
在N点数据全部到达后,对后
Figure BDA0001750602630000102
点数据进行蝶形运算,直到得到后
Figure BDA0001750602630000103
点数据的倒数第二级的蝶形运算结果;
根据前
Figure BDA0001750602630000104
点数据的运算结果和后
Figure BDA0001750602630000105
点数据的倒数第二级的蝶形运算结果计算后
Figure BDA0001750602630000106
点数据的最后一级的蝶形运算结果。
本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于FPGA的FFT处理方法,其特征在于,所述方法包括:
在接收N点数据的过程中进行卷积运算,得到前
Figure FDA0001750602620000011
点数据的运算结果,N为2的整次幂;
在N点数据全部到达后,对后
Figure FDA0001750602620000012
点数据进行蝶形运算,直到得到后
Figure FDA0001750602620000013
点数据的倒数第二级的蝶形运算结果;
根据前
Figure FDA0001750602620000014
点数据的运算结果和后
Figure FDA0001750602620000015
点数据的倒数第二级的蝶形运算结果计算后
Figure FDA0001750602620000016
点数据的最后一级的蝶形运算结果。
2.根据权利要求1所述的方法,其特征在于,所述根据前
Figure FDA0001750602620000017
点数据的运算结果和后
Figure FDA0001750602620000018
点数据的倒数第二级的蝶形运算结果计算后
Figure FDA0001750602620000019
点数据的最后一级的蝶形运算结果包括:
点数据的最后一级的蝶形运算结果为
Figure FDA00017506026200000111
其中:
j的取值范围为
Figure FDA00017506026200000112
k的取值范围为
Figure FDA00017506026200000113
r的取值范围为WN为旋转因子;
Xm(j)为后
Figure FDA00017506026200000115
点数据的最后一级蝶形运算结果;
Xm(k)为前
Figure FDA00017506026200000116
点数据的运算结果;
Xm-1(j)为后
Figure FDA00017506026200000117
点数据的倒数第二级的蝶形运算结果。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在得到前
Figure FDA00017506026200000118
点数据的运算结果后,将前
Figure FDA00017506026200000119
点数据的运算结果进行缓存。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对后
Figure FDA00017506026200000120
点数据进行蝶形运算的同时输出前点数据的运算结果。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在得到后
Figure FDA00017506026200000122
点数据的最后一级的蝶形运算结果之后,输出后点数据的最后一级的蝶形运算结果。
6.一种基于FPGA的FFT处理装置,其特征在于,所述装置包括:
第一计算单元,用于在接收N点数据的过程中进行卷积运算,得到前
Figure FDA0001750602620000021
点数据的运算结果,N为2的整次幂;
第二计算单元,用于在N点数据全部到达后,对后
Figure FDA0001750602620000022
点数据进行蝶形运算,直到得到后
Figure FDA0001750602620000023
点数据的倒数第二级的蝶形运算结果;
第三计算单元,用于根据前
Figure FDA0001750602620000024
点数据的运算结果和后
Figure FDA0001750602620000025
点数据的倒数第二级的蝶形运算结果计算后
Figure FDA0001750602620000026
点数据的最后一级的蝶形运算结果。
7.根据权利要求6所述的装置,其特征在于,
所述第三计算单元13计算出的后
Figure FDA0001750602620000027
点数据的最后一级的蝶形运算结果为
Figure FDA0001750602620000028
其中:
j的取值范围为k的取值范围为
Figure FDA00017506026200000210
r的取值范围为
Figure FDA00017506026200000211
WN为旋转因子;
Xm(j)为后点数据的最后一级蝶形运算结果;
Xm(k)为前
Figure FDA00017506026200000213
点数据的运算结果;
Xm-1(j)为后
Figure FDA00017506026200000214
点数据的倒数第二级的蝶形运算结果。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
缓存单元,用于在得到前
Figure FDA00017506026200000215
点数据的运算结果后,将前
Figure FDA00017506026200000216
点数据的运算结果进行缓存。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述基于FPGA的FFT处理方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述基于FPGA的FFT处理方法的步骤。
CN201810864583.0A 2018-08-01 2018-08-01 基于fpga的fft处理方法和装置 Withdrawn CN110795685A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810864583.0A CN110795685A (zh) 2018-08-01 2018-08-01 基于fpga的fft处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810864583.0A CN110795685A (zh) 2018-08-01 2018-08-01 基于fpga的fft处理方法和装置

Publications (1)

Publication Number Publication Date
CN110795685A true CN110795685A (zh) 2020-02-14

Family

ID=69425071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810864583.0A Withdrawn CN110795685A (zh) 2018-08-01 2018-08-01 基于fpga的fft处理方法和装置

Country Status (1)

Country Link
CN (1) CN110795685A (zh)

Similar Documents

Publication Publication Date Title
US8819097B2 (en) Constant geometry split radix FFT
US9559886B2 (en) Device and method for implementing fast fourier transform/discrete fourier transform
US9934199B2 (en) Digital filter device, digital filtering method, and storage medium having digital filter program stored thereon
EP3789891A1 (en) Number-theoretic transform hardware
US20170317663A1 (en) Signal Processing Method and Apparatus
Kim et al. High speed eight-parallel mixed-radix FFT processor for OFDM systems
Singh et al. Design of radix 2 butterfly structure using vedic multiplier and CLA on xilinx
CN102799564A (zh) 基于多核dsp平台的fft并行方法
CN104657334B (zh) 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用
US8010588B2 (en) Optimized multi-mode DFT implementation
CN110795685A (zh) 基于fpga的fft处理方法和装置
CN111291315B (zh) 一种数据处理方法、装置及设备
Pariyal et al. Comparison based analysis of different FFT architectures
Arun et al. Design of high speed FFT algorithm For OFDM technique
JP2014127804A (ja) サンプリングレート変換装置及びプログラム
Bansal et al. High speed pipelined 64-point FFT processor based on radix-2 2 for wireless LAN
Kannan et al. FPGA implementation of FFT architecture using modified Radix-4 algorithm
Coskun et al. The design of low complexity low power pipelined short length Winograd Fourier transforms
CN103440228B (zh) 一种基于融合乘加指令加速fft计算的方法
CN110808935B (zh) 线性调频信号自相关运算的精确高效实现方法及装置
RU61444U1 (ru) Устройство вычисления коэффициента масштабирования сигнала при выполнении вейвлет-преобразования
WO2008023253A2 (en) Fft-based signal processing with reduced latency
US20150113030A1 (en) Novel approach for significant improvement of fft performance in microcontrollers
CN105630738B (zh) 基于lte系统的fft/ifft变换装置
US10698973B2 (en) Method and apparatus for concurrent reading and calculation of mixed radix DFT/IDFT

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20200214