CN113569189A - 一种快速傅立叶变换计算方法及装置 - Google Patents
一种快速傅立叶变换计算方法及装置 Download PDFInfo
- Publication number
- CN113569189A CN113569189A CN202110751893.3A CN202110751893A CN113569189A CN 113569189 A CN113569189 A CN 113569189A CN 202110751893 A CN202110751893 A CN 202110751893A CN 113569189 A CN113569189 A CN 113569189A
- Authority
- CN
- China
- Prior art keywords
- fourier transform
- fast fourier
- data
- reading
- write
- 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.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 abstract description 9
- 238000004891 communication Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本发明公开了通信系统技术领域的一种快速傅立叶变换计算方法及装置,旨在解决在快速傅立叶变换计算过程中对同一地址段进行密集的读写,易造成读写冲突的技术问题。一种快速傅立叶变换计算方法,在进行快速傅立叶变换的多级计算时,按照分解调度方法对一个自然顺序的计算过程进行分解调度操作,并将分解调度操作后不同批次的输出数据通过缓存读写方法存储到memory中。本发明通过设计一种调度算法,改变蝶形运算的顺序,使得memory的读写尽量均匀分散,避免读数冲突;且引入了一种缓存读写机制,以很小的开销重新调度数据的写操作,最终完全避免了并行写操作的冲突。
Description
技术领域
本发明涉及一种快速傅立叶变换计算方法及装置,属于通信系统技术领域。
背景技术
FFT是一种DFT的高效算法,称为快速傅立叶变换(fast Fourier transform),广泛应用于各种数字信号处理系统,例如分析信号频谱特性,5G无线通信系统中的transformprecoding,OFDMmudulation,PRACH波形生成,以及接收端都会用到。它每次输入N个数,变换输出N个数,这里的N被称为FFT的点数,也记为FFTSize。例如5G系统需要支持所有N=12*RBnum的FFT,其中0<RB<=273,在PRACH模块甚至可能用到高达N=48*4096的FFT。
5G系统需要支持很高的数据吞吐率,所以FFT模块的吞吐率是一个重要的设计指标。在平台主频受限的情况下,需要通过并行计算或者pipeline的方式来提高吞吐率。另外由于需要支持多种N值,其中一些N值可能很大,所以硬件实现时,希望使用memory而不是register来存储数据和旋转因子;再加上Cooley-Turkey算法本身有内在的数据依赖关系和对应寻址方式,意味着并行计算需要在同一个clk中读写多个数据,另外一方面同一个memory在同一个clk只能读写一次,这是实现并行算法的难点。
现有技术中,在快速傅立叶变换计算过程中对同一地址段进行密集的读写,易造成读写冲突,为此,我们提出一种快速傅立叶变换计算方法及装置解决上述问题。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种快速傅立叶变换计算方法及装置,解决现有技术中直接使用普通的FFT来计算时,对于不同的LRA需要做不同点数的FFT,计算复杂的技术问题。
为达到上述目的,本发明是采用下述技术方案实现的:
第一方面,本发明提供了一种快速傅立叶变换计算方法,在进行快速傅立叶变换的多级计算时,按照分解调度方法对一个自然顺序的计算过程进行分解调度操作,并将分解调度操作后不同批次的输出数据通过缓存读写方法存储到memory中;
其中,memory为暂存每一级数据的装置。
进一步的,所述分解调度方法包括:将一个自然顺序的计算过程分解为多个子阶段,且每个子阶段按照指定间隔选址实现调度操作。
进一步的,所述缓存读写方法包括:将不同批次的输出数据暂存于catch中,并通过循环行列读写方法对数据进行重新分组,最终存储到memory中。
进一步的,所述循环行列读写方法包括:将数据按行写入catch中,待写满之后再按列读出;在读出后按列写入catch中,待写满之后再按行读出,并按照上述顺序持续读写。
第二方面,本发明提供了一种快速傅立叶变换计算装置,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据上述任一项所述快速傅立叶变换计算方法的步骤。
第三方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述任一项所述快速傅立叶变换计算方法的步骤。
与现有技术相比,本发明所达到的有益效果:
本发明通过设计一种调度算法,改变蝶形运算的顺序,使得memory的读写尽量均匀分散,避免读数冲突;且引入了一种缓存读写机制,以很小的开销重新调度数据的写操作,最终完全避免了并行写操作的冲突。
附图说明
图1是本发明实施例一提供的循环行列读写方法示意图。
具体实施方式
Cooley-Turkey算法作为一种FFT算法,它通过把一个很大N值的FFT分解为几级较短的FFT的组合,例如对于N=N1N2,则通过Cooley-Turkey算法可以分解为:
其中:0≤n1≤N1-1;0≤n2≤N2-1;n=N2n1+n2;k=N1k2+k1
类似的,假如N=N1N2N3,则通过Cooley-Turkey算法可以分解为:
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例一:
本发明实施例一公开了一种快速傅立叶变换计算方法,在进行快速傅立叶变换的多级计算时,按照分解调度方法对一个自然顺序的计算过程进行分解调度操作,并将分解调度操作后不同批次的输出数据通过缓存读写方法存储到memory中。
其中,memory为暂存每一级数据的装置,所述分解调度方法包括:将一个自然顺序的计算过程分解为多个子阶段,且每个子阶段按照指定间隔选址实现调度操作。
所述缓存读写方法包括:将不同批次的输出数据暂存于catch中,并通过循环行列读写方法对数据进行重新分组,最终存储到memory中。所述循环行列读写方法包括:将数据按行写入catch中,待写满之后再按列读出;在读出后按列写入catch中,待写满之后再按行读出,并按照上述顺序持续读写,请参阅图1,图中:不同条纹表示不同的block,空白表示空闲位置,不含有效数据。
一、行模式,先读出D2next个数,后写入D2个数,写入的同一行有可能属于同一个block,但是读出的同一个列的block(条纹)各不相同,由于catch的初始态是空闲的,此时读出的都是无效数据;
二、列模式,先读出D2next个数,后写入D2个数,写入的同一列有可能属于同一个block,但是读出的同一个行的block(条纹)各不相同;
三、行模式,先读出D2next个数,后写入D2个数,写入的同一行有可能属于同一个block,但是读出的同一个列的block(条纹)各不相同,只有第一行写入N个数,后面的行没有数据写入。
需要说明的是,本发明在计算过程中采用分解调度方法改变了读数顺序,避免对同一地址段进行密集的读写带来的读数冲突。同时,本发明引入缓存机制catch读写机制,暂时缓存前几clk中的数据,由于FFT由多个叠形运算构成,输入输出均为均匀间隔,或有冲突,将不同批次的输出数据暂存于catch中,通过catch来对数据进行重新分组,使得新的分组不再冲突,把不同批次的数据重新分组,构成新的分组,使其不再冲突并可以顺利存储到memory中。在具体进行读写时,按行写入,写满之后按列读出,在读出后按列写入,写满之后再按行读出,并按照上述顺序持续读写,避免读写冲突。
实施例二:
本发明实施例二还提供了一种快速傅立叶变换计算装置,其特征在于,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行实施例一中任一项所述快速傅立叶变换计算方法的步骤。
实施例三:
本发明实施例三还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例一中任一项所述快速傅立叶变换计算方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (6)
1.一种快速傅立叶变换计算方法,其特征是,在进行快速傅立叶变换的多级计算时,按照分解调度方法对一个自然顺序的计算过程进行分解调度操作,并将分解调度操作后不同批次的输出数据通过缓存读写方法存储到memory中;
其中,memory为暂存每一级数据的装置。
2.根据权利要求1所述的一种快速傅立叶变换计算方法,其特征是,所述分解调度方法包括:将一个自然顺序的计算过程分解为多个子阶段,且每个子阶段按照指定间隔选址实现调度操作。
3.根据权利要求1所述的一种快速傅立叶变换计算方法,其特征是,所述缓存读写方法包括:将不同批次的输出数据暂存于catch中,并通过循环行列读写方法对数据进行重新分组,最终存储到memory中。
4.根据权利要求3所述的一种快速傅立叶变换计算方法,其特征是,所述循环行列读写方法包括:将数据按行写入catch中,待写满之后再按列读出;在读出后按列写入catch中,待写满之后再按行读出,并按照上述顺序持续读写。
5.一种快速傅立叶变换计算装置,其特征在于,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据权利要求1~4中任一项所述快速傅立叶变换计算方法的步骤。
6.计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~4中任一项所述快速傅立叶变换计算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110751893.3A CN113569189B (zh) | 2021-07-02 | 2021-07-02 | 一种快速傅立叶变换计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110751893.3A CN113569189B (zh) | 2021-07-02 | 2021-07-02 | 一种快速傅立叶变换计算方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113569189A true CN113569189A (zh) | 2021-10-29 |
CN113569189B CN113569189B (zh) | 2024-03-15 |
Family
ID=78163639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110751893.3A Active CN113569189B (zh) | 2021-07-02 | 2021-07-02 | 一种快速傅立叶变换计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569189B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569190A (zh) * | 2021-07-02 | 2021-10-29 | 星思连接(上海)半导体有限公司 | 一种快速傅立叶变换旋转因子计算系统和方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060022815A1 (en) * | 2004-07-30 | 2006-02-02 | Fischer Jeffrey H | Interference monitoring in an RFID system |
CN101630308A (zh) * | 2008-07-16 | 2010-01-20 | 财团法人交大思源基金会 | 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法 |
CN102855222A (zh) * | 2011-06-27 | 2013-01-02 | 中国科学院微电子研究所 | 并行分支蝶形单元的fft的地址映射方法及装置 |
US20130046806A1 (en) * | 2010-02-16 | 2013-02-21 | Ntt Docomo, Inc. | Fast fourier transform circuit |
US8630362B1 (en) * | 2011-05-02 | 2014-01-14 | Urbain A. von der Embse | QLM co-state MAP trellis |
EP3182375A1 (en) * | 2015-12-17 | 2017-06-21 | Samsung Electronics Co., Ltd. | Apparatus and method for performing fourier transform |
CN107391440A (zh) * | 2017-07-31 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种快速傅里叶变换算法输出数据的处理装置及方法 |
WO2018027706A1 (zh) * | 2016-08-10 | 2018-02-15 | 深圳市汇顶科技股份有限公司 | Fft处理器及运算方法 |
US20190303346A1 (en) * | 2018-03-31 | 2019-10-03 | Micron Technology, Inc. | Loop Thread Order Execution Control of a Multi-Threaded, Self-Scheduling Reconfigurable Computing Fabric |
RU2717950C1 (ru) * | 2020-01-17 | 2020-03-27 | Акционерное общество Научно-производственный центр «Электронные вычислительно-информационные системы» (АО НПЦ «ЭЛВИС») | Высокоскоростное устройство быстрого преобразования фурье с бесконфликтным линейным доступом к памяти |
-
2021
- 2021-07-02 CN CN202110751893.3A patent/CN113569189B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060022815A1 (en) * | 2004-07-30 | 2006-02-02 | Fischer Jeffrey H | Interference monitoring in an RFID system |
CN101630308A (zh) * | 2008-07-16 | 2010-01-20 | 财团法人交大思源基金会 | 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法 |
US20130046806A1 (en) * | 2010-02-16 | 2013-02-21 | Ntt Docomo, Inc. | Fast fourier transform circuit |
US8630362B1 (en) * | 2011-05-02 | 2014-01-14 | Urbain A. von der Embse | QLM co-state MAP trellis |
CN102855222A (zh) * | 2011-06-27 | 2013-01-02 | 中国科学院微电子研究所 | 并行分支蝶形单元的fft的地址映射方法及装置 |
EP3182375A1 (en) * | 2015-12-17 | 2017-06-21 | Samsung Electronics Co., Ltd. | Apparatus and method for performing fourier transform |
WO2018027706A1 (zh) * | 2016-08-10 | 2018-02-15 | 深圳市汇顶科技股份有限公司 | Fft处理器及运算方法 |
CN107391440A (zh) * | 2017-07-31 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种快速傅里叶变换算法输出数据的处理装置及方法 |
US20190303346A1 (en) * | 2018-03-31 | 2019-10-03 | Micron Technology, Inc. | Loop Thread Order Execution Control of a Multi-Threaded, Self-Scheduling Reconfigurable Computing Fabric |
RU2717950C1 (ru) * | 2020-01-17 | 2020-03-27 | Акционерное общество Научно-производственный центр «Электронные вычислительно-информационные системы» (АО НПЦ «ЭЛВИС») | Высокоскоростное устройство быстрого преобразования фурье с бесконфликтным линейным доступом к памяти |
Non-Patent Citations (2)
Title |
---|
刘志哲: "基于分级存储并行运算的FFT处理器设计", 北京理工大学学报, vol. 31, no. 06, 15 June 2011 (2011-06-15), pages 691 - 694 * |
梁东: "基于FPGA的基2DIT-FFT蝶形运算设计与实现", 信息通信, no. 07, 15 July 2020 (2020-07-15), pages 41 - 43 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569190A (zh) * | 2021-07-02 | 2021-10-29 | 星思连接(上海)半导体有限公司 | 一种快速傅立叶变换旋转因子计算系统和方法 |
CN113569190B (zh) * | 2021-07-02 | 2024-06-04 | 星思连接(上海)半导体有限公司 | 一种快速傅立叶变换旋转因子计算系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113569189B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7640284B1 (en) | Bit reversal methods for a parallel processor | |
US9934199B2 (en) | Digital filter device, digital filtering method, and storage medium having digital filter program stored thereon | |
CN103699515A (zh) | 一种fft并行处理装置和方法 | |
US10339200B2 (en) | System and method for optimizing mixed radix fast fourier transform and inverse fast fourier transform | |
CN113569189B (zh) | 一种快速傅立叶变换计算方法及装置 | |
EP4162355A1 (en) | Protection of transformations by intermediate randomization in cryptographic operations | |
CN113378108B (zh) | 音频处理装置的快速傅立叶变换电路 | |
Hinitt et al. | Gpu-based fft computation for multi-gigabit wirelesshd baseband processing | |
CN112163184B (zh) | 一种实现fft的装置及方法 | |
US20100179978A1 (en) | Fft-based parallel system with memory reuse scheme | |
KR100825771B1 (ko) | 메모리를 반감하는 고속 푸리에 변환 프로세서 및 그 방법 | |
US9268744B2 (en) | Parallel bit reversal devices and methods | |
CN113591022B (zh) | 一种可分解数据的读写调度处理方法和装置 | |
US20100318769A1 (en) | Using vector atomic memory operation to handle data of different lengths | |
US10282387B2 (en) | FFT device and method for performing a Fast Fourier Transform | |
CN113569190B (zh) | 一种快速傅立叶变换旋转因子计算系统和方法 | |
CN111368250B (zh) | 基于傅里叶变换/逆变换的数据处理系统、方法及设备 | |
CN106469134A (zh) | 一种用于fft处理器的数据无冲突存取方法 | |
CN109753629B (zh) | 多粒度并行fft计算装置 | |
CN114116012B (zh) | 基于混洗操作的fft码位反序算法向量化实现方法及装置 | |
Baek et al. | New address generation scheme for memory-based FFT processor using multiple radix-2 butterflies | |
US20220188014A1 (en) | Digital filter device, operation method for digital filter device, and non-transitory computer-readable medium storing program | |
CN110337637A (zh) | 数据处理方法和设备 | |
US20230289397A1 (en) | Fast fourier transform device, digital filtering device, fast fourier transform method, and non-transitory computer-readable medium | |
Wang et al. | Implementation of a soft morphological filter based on gpu framework |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |