CN110795685A - 基于fpga的fft处理方法和装置 - Google Patents
基于fpga的fft处理方法和装置 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast 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
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种基于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表示为两个点DFT的线性组合,然后再把点的DFT一分为二,表示为两个点DFT。如此重复下去,直至分解成两点DFT的运算,两点DFT只有加减运算。FFT每一级运算以蝶形运算的形式开展,因此N点DFT的FFT变换可以转为log2(N)级级联的蝶形运算,每一级均包含有次蝶形计算,而每一个蝶形运算包含了1次乘法,因此N点FFT计算的总乘法计算量为
如图1所示,为基-2 FFT算法的8点DFT的蝶形运算流图,由于输入信号y(n)是交织使用的,所以在实现时需要等到8个y(n)全部收到后才可以开始进行蝶形运算,并经过次乘法运算后得到最终的X(n)序列,因此FFT的处理时延就是次乘法所需的时间。
现有的FFT蝶形运算减少了FPGA的乘法运算量,但是需要等到所有数据到达后才能开始运算,因此,如何更快速地实现FFT过程成为亟待解决的问题,特别是在5G所要求的低时延场景中,每一步处理的时延降低都更加重要。
发明内容
针对现有技术问题,本发明实施例提供一种基于FPGA的FFT处理方法和装置。
一方面,本发明实施例提供一种基于FPGA的FFT处理方法,所述方法包括:
另一方面,本发明实施例提供一种基于FPGA的FFT处理装置,所述装置包括:
另一方面,本发明实施例还提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述基于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处理方法具体包括以下步骤:
具体地,DFT对离散有限长序列进行时域到频域的变换,DFT在时域和频域上都呈离散的形式。
线性卷积是求离散系统响应的主要方法之一,本发明实施例在接收N点数据的过程中,对数据进行卷积运算,得到前点数据在频域的结果。
由于DFT运算采用的是卷积运算,所以无需数据全部到达,仅需要将数据流依次输入FPGA的乘法器进行卷积即可,FPGA移位进行卷积,不消耗乘法器。与现有的FFT实现算法相比,本发明实施例利用数据传输的时间段开始进行运算,在接收数据的过程中将数据输入现有的FFT算法的FPGA电路中执行卷积,进一步降低无线通信系统的处理时延,并且乘法器使用数量不变。
图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。
图4示出了最后一级蝶形运算的运算流图。
其中,乘2的操作可以使用移位代替不占用乘法单元,因此每个数据点只进行了一次乘法运算完成了最后一级蝶形运算,得到了最终的FFT结果。
本发明实施例与现有的实现FFT的蝶形算法相比,只进行后一半数据的蝶形运算,而前一半数据的运算结果则在数据传输过程中卷积计算完成,因此总的处理时延为现有实现FFT算法的一半。
具体地,所述方法还包括:
具体地,所述方法还包括:
具体地,所述方法还包括:
在得到后点数据的最后一级的蝶形运算结果之后,输出后点数据的最后一级的蝶形运算结果。
图5示出了本发明又一实施例基于FPGA的FFT处理方法的流程示意图。
如图5所示,输入数据D(0)……D(N),N为2的整次幂,数据传输的同时进行卷积运算,得到前点数据的频域结果,并将计算结果进行缓存;使用所有数据对后点数据进行蝶形运算的同时,输出前点数据的卷积计算结果后点数据进行到倒数第二级的蝶形运算;根据前点数据的卷积计算结果以及后点数据的倒数第二级的蝶形运算结果,进行后点数据的最后一级蝶形运算,输出后点数据频域变换结果
本发明实施例在数据传输过程中对所有数据进行卷积计算,得到前点数据的频域结果,数据全部到达后,使用所有数据对后点数据进行蝶形运算并运算到倒数第二级,然后利用前点数据的计算结果以及后点数据倒数第二级的蝶形运算结果计算后点数据的最后一级的蝶形运算结果,能够利用现有FPGA结构实现时延更低的处理结果。
本发明实施例可以利用现有FPGA结构灵活在传统基-2算法和低时延算法中进行切换。若采用传统的基-2算法,只需要使状态基只运行蝶形运算并遍历所有点即可。
本发明实施例可以适用于任意2的整数倍的FFT运算,易于FPGA应用及控制。
本发明实施例还提供一种基于FPGA的FFT处理装置。
图6示出了本发明实施例提供的一种基于FPGA的FFT处理装置的结构示意图。
如图6所示,本发明实施例提供的基于FPGA的FFT处理装置包括第一计算单元11、第二计算单元12以及第三计算单元13,其中:
Xm-1(j)为后点数据的倒数第二级的蝶形运算结果。
在上述实施例的基础上,所述装置还包括:
在上述实施例的基础上,所述装置还包括:
在上述实施例的基础上,所述装置还包括:
本发明实施例输出后点数据的最后一级的蝶形运算结果,得到完整的N点数据的频域变换结果。
本发明实施例中的功能模块可以通过硬件处理器(hardware processor)来实现相关功能模块,本发明实施例不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如图2的方法。
图7示出了本发明一实施例提供的电子设备的结构示意图。
如图7所示,本发明实施例提供的电子设备包括存储器21、处理器22、总线23以及存储在存储器21上并可在处理器22上运行的计算机程序。其中,所述存储器21、处理器22通过所述总线23完成相互间的通信。
所述处理器22用于调用所述存储器21中的程序指令,以执行所述程序时实现如图2的方法。
例如,所述处理器执行所述程序时实现如下方法:
本发明实施例还提供一种非暂态计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现如图2的步骤。
例如,所述处理器执行所述程序时实现如下方法:
本发明实施例提供的非暂态计算机可读存储介质,本发明实施例通过在接收数据过程中开始进行运算,并根据前点数据的结果和后点数据的倒数第二级的蝶形运算结果计算后点数据的最后一级的蝶形运算结果,能够进一步减少FFT处理时延。
本发明一实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述基于FPGA的FFT处理方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述基于FPGA的FFT处理方法的步骤。
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) |
-
2018
- 2018-08-01 CN CN201810864583.0A patent/CN110795685A/zh not_active Withdrawn
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 |