CN112163187B - 一种超长点数高性能fft计算装置 - Google Patents
一种超长点数高性能fft计算装置 Download PDFInfo
- Publication number
- CN112163187B CN112163187B CN202011290004.XA CN202011290004A CN112163187B CN 112163187 B CN112163187 B CN 112163187B CN 202011290004 A CN202011290004 A CN 202011290004A CN 112163187 B CN112163187 B CN 112163187B
- Authority
- CN
- China
- Prior art keywords
- data
- fft
- module
- dimensional
- ultra
- 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.)
- Active
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
-
- 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
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
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
本发明涉及数字信号处理领域,具体涉及一种超长点数超高性能FFT计算装置。本发明通过以下技术方案得以实现的:一种超长点数超高性能FFT计算装置,包含FFT计算模块和控制单元,所述FFT计算模块数量为两个,分别为计算模块一和计算模块二;还包含两个三维转置存储器和二维转置存储器;三维转置存储器一的数据输入端连接主存,数据输出端连接计算模块一;所述二维转置存储器的数据输入端连接所述计算模块一,数据输出端连接所述计算模块二。本发明的目的是提供一种超长点数超高性能FFT计算装置,通过全新的数据转置处理方式,增加数据平滑性,使得FFT数据处理过程中数据带宽利用率高,大大增加处理效率。
Description
技术领域
本发明涉及数字信号处理领域,具体涉及一种超长点数高性能FFT计算装置。
背景技术
离散傅里叶变换(Discrete Fourier Transform,DFT)是数字信号处理的核心技术之一,广泛应用于数字通讯、语音处理、图像处理、谱估计、仿真、系统分析、雷达、光学、医学影像、天文等应用领域中。而快速傅里叶变换(Fast Fourier Transform,FFT)则是建立在DFT的基础上的,利用DFT的系数特性,合并DFT运算中的某些项,把长序列DFT变成短序列DFT,从而减少其运算量。FFT是最常见的数字信号处理算法,在各种数字信号处理系统中扮演重要的角色,是时域和频域转换的基本运算。例如,在电子对抗中,利用FFT算法可以实时地进行谱估计,从而检测噪声调频干扰信号;在雷达信号处理中,FFT算法可以用来完成频率检测、引导以及各种相关处理。
在FFT中,蝶形计算单元为基本的组成部分,一次蝶形运算往往由复乘和实数相加构成。蝶形变换方法将N点DFT的运算量降低,包括时间抽取和频率抽取两种分解方式,每种抽取方式又分为基-2、基-4、基-8、基-16或者质数基等不同实现方式。
进一步的,随着FFT处理点数的增加,FFT算法不仅存在处理器资源受限的问题,而且其性能也很难满足现有应用系统对强实时性的要求。目前芯片技术的发展已经不能够适应摩尔定律和突破存储墙的限定,传统FFT算法性能已接近极限值。为了追求更高的处理性能,如公开号为CN201611214049.2的中国专利文件公开了一种超大点数FFT算法。其对于大点数FFT计算,将一维大点数序列FFT拆分成二维小点数来运算,该方法能够将FFT运算划分成更小的粒度来进行处理。其实现的主要流程为:将一维序列拆分成二维矩阵并转置;行方向FFT处理;乘以铰链因子;对结果转置存储;列方向FFT处理;将处理结果转置存储,得到序列的FFT结果。
这样的计算方式的确能使每一级的FFT处理点数大大减小,降低了对存储资源的需求。但依然存在着一定的缺陷:
首先,即便采用一维FFT的二维级联处理,能够处理的点数仍然受限。
其次,在FFT点数超过计算装置处理能力时,数据的多次读写涉及大量缓冲和互连结构,并且效率极大受损。
第三,在这个过程中需要使用到旋转因子和铰链因子,而旋转因子和铰链因子的生成需要使用CORDIC算法,即坐标旋转数字计算方法,在这个过程中面积开销和电路延迟都较大。
发明内容
本发明的目的是提供一种超长点数高性能FFT计算装置,通过全新的数据转置处理方式,增加数据平滑性,使得FFT数据处理过程中数据带宽利用率高,大大增加处理效率。
本发明通过以下技术方案得以实现:一种超长点数高性能FFT计算装置,包含FFT计算模块和控制单元,所述FFT计算模块数量为两个,分别为计算模块一和计算模块二;
该种超长点数高性能FFT计算装置还包含两个三维转置存储器和二维转置存储器;
三维转置存储器一的数据输入端连接主存,数据输出端连接计算模块一;
所述二维转置存储器的数据输入端连接所述计算模块一,数据输出端连接所述计算模块二;
三维转置存储器二的数据输入端连接所述计算模块二,数据输出端连接所述主存;
所述控制单元包含输出维度控制模块,所述输出维度控制模块用于控制两个所述三维转置存储器的数据输出时的维度输出方式。
作为本发明的优选,所述控制单元包含读写控制器,所述读写控制器包含计数模块和映射表,所述计数模块对于所述三维转置存储器的输出次数进行计数,所述映射表中预存有次数与维度输出方式对应关系的数据。
作为本发明的优选,所述FFT计算模块包含N点FFT运算模块和铰链因子处理模块。
作为本发明的优选,所述铰链因子处理模块将从所述N点FFT运算模块中输出的数据乘以铰链因子。
作为本发明的优选,在所述主存与所述三维转置存储器一之间设有读缓冲模块,在所述主存与所述三维转置存储器二之间设有写缓冲模块。
作为本发明的优选,所述控制单元收到数据读取命令后,控制主存将对应的数据发送给三维转置存储器一,所述读取命令包含数据点数总量信息和数据地址信息。
作为本发明的优选,所述数据地址信息包含数据起始地址信息。
综上所述,本发明具备如下有益效果:
1.整个运算流程包含了两次FFT运算,运算效率高。
2.三维转置存储器一采用硬件加速的设计方式来满足FFT运算对于输入数据的格式要求,无数据空载,也舍去了软件寻址这一过程,极大提升数据传输效率。
3.三维转置存储器一和二维转置存储器的配合满足运算模块二对于FFT运算的输入数据格式要求。
4.三维转置存储器二将FFT运算后的结果转置为连续数据,满足主存的数据要求。
附图说明
图1为实施例一的总体结构示意图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。
实施例1,一种超长点数高性能FFT计算装置,包含主存和控制单元。其中,控制单元包含读写控制器,读写控制器可以通过电路结构实现,来实现对各个存储器数据输入、输出等命令的控制。图1中的指令流水线来自于处理器核心,命令队列接收指令,对指令进行解析。控制单元的具体电路结构的设计方式和命令队列的软件编写方式均为现有技术,本领域技术人员可以使用成熟的产品或结构,这里不做赘述。
在本案中,命令队列首先接收到指令流水线发来的数据读取命令,该数据读取命令中至少包含有两项有效信息,分别为:需要FFT运算处理的数据总数和这些数据对应的信息,在实际处理中,为了计算的便捷,无需附上所有数据的地址,只需附上起始点的地址即可。
读写控制器接收到命令且解析出地址后,读缓冲就从主存中取到对应地址的数据,随后将数据发送给三维转置存储器一。
这个步骤为本技术方案关键点之一,在FFT运算过程中,FFT对输入数据以组为单位,即在每一个时钟周期内,需要输入一组数据给FFT运算模块。而每组的点数为固定的,按照内存的位宽和数据的格式来定。例如,系统存储的位宽为1024位,每点数据为64位,则一组数据共16个点。由于FFT运算自身的特点,其在不同的运算阶段,对于输入数据的连续性的要求是不同的,例如在某些计算时刻,其输入的数据为相邻数据,无间隔。而在某些计算时刻,其输入的数据为间隔均匀数据,非相邻数据,例如前后数据之间均需要间隔16个地址单位。这就造成了两个缺陷,缺陷一,系统需要按顺序去寻找不同地址不同位置的数据,使之匹配FFT运算的数据输入格式要求,这个过程耗费大量的系统资源,并且随着点数的增加,此工作的资源消耗量增大,严重影响了数据的处理速度。缺陷二,诚如上文所述,数据以“组”为单位进行传输,而这样的方式极易引起一组数据中的空载,即例子中一组数据16个,其中一部分顺利获得数据,另一部分则没有获得需要的数据,形成了数据空载,这一组数据就发给了N点FFT运算模块,这个过程的数据空载就造成了资源浪费,进而同样影响了最终的数据处理速度。
而在本案中,数据同样以组为单位从读缓冲进入到三维转置存储器一,但是存储的数据以组为单位进行三维形式的转置储存。即在第一维度排列存储满之后开始第二维度上的继续存储,随后再在第三维度上存储。存储完毕后需要从三维转置存储器一输出到计算模块一,而这个过程中,无论此时的FFT运算需要间隔16还是需要间隔256,均可以通过输出维度改变的方式来输出连续的、符合FFT输入格式的数据,且每一组不会出现空载的情况。
这里需要说明的是,数据从读缓冲输入到三维转置存储器一这一过程,数据输入的维度均是固定的,不需要额外设置额外改变,而在数据从三维转置存储器一输出到计算模块一时,在不同的FFT运算过程阶段下,输出的维度设置是不一样的,而这个维度设置就依靠读写控制器来实现。
具体的,读写控制器可以包含计数器,其对输出次数进行计数。而读写控制器还存储有一个映射表,该映射表就记录着输出次数与维度输出方式的对应映射关系。至此,读写控制器可以根据映射表上的数据,控制当前的维度输出方式为“2-3-1”还是“3-2-1”。
至此,三维转置存储器一将符合FFT运算要求的数据以组为单位发送给运算模块一,整个过程去除了软件寻址这一过程,极大地提升系统速度,且这一过程每次数据传输都不会出现组内数据空载,不会造成系统资源的浪费。
在本案中,运算模块为两个,分别为运算模块一和运算模块二,这两个模块的设计结构是相似的,均为一个N点FFT运算模块和一个铰链因子处理模块。其中,N点FFT运算模块是对数据进行FFT运算,而铰链因子处理模块是将FFT运算后的结果进行铰链因子的相乘,这一部分与现有技术中的FFT处理一致,不再展开赘述。
如图1所示,在运算模块一(即图中左侧的N点FFT运算模块和铰链因子处理模块)处理完之后,处理结果进入到二维转置存储器中。数据输入以组为单位输入,并且以二维方式进行转置存储。与上文的三维输出的情况不同的是,二维转置在输出维度顺序上是固定的,故无需读写控制器对于输出方式进行控制,自然输出即可。
经过二维转置后的数据依次以组为单位发送给运算模块二,经过一次三维转置和一次二维转置后,其格式数据的顺序是符合FFT运算的数据输入的格式要求的,于是可以再进行一次FFT运算。
运算模块二处理结束后,所有的FFT运算至此已经结束,然而此时并不能直接写入主存,原因依然是数据连续性的要求。主存中的数据需要数据之间无间隔,为自然连续的数据格式。
于是,在写入主存前,需要使用三维转置存储器二再进行一次三维转置,三维转置存储器二的原理、操作控制方式与三维转置存储器一一样,同样以组为单位进行数据的输入输出,输出时同样需要读写控制器对维度输出方式进行有效控制。
经过三维转置存储器二对于数据的三维转置后,输入到写缓冲时的数据已经是连续无间隔数据,写缓冲根据写地址将数据写回主存。
Claims (7)
1.一种超长点数高性能FFT计算装置,包含FFT计算模块和控制单元,其特征在于:所述FFT计算模块数量为两个,分别为计算模块一和计算模块二; 该种超长点数高性能FFT计算装置还包含两个三维转置存储器和二维转置存储器; 三维转置存储器一的数据输入端连接主存,数据输出端连接计算模块一; 所述二维转置存储器的数据输入端连接所述计算模块一,数据输出端连接所述计算模块二; 三维转置存储器二的数据输入端连接所述计算模块二,数据输出端连接所述主存; 所述控制单元包含输出维度控制模块,所述输出维度控制模块用于控制两个所述三维转置存储器的数据输出时的维度输出方式。
2.根据权利要求1所述的一种超长点数高性能FFT计算装置,其特征在于: 所述控制单元包含读写控制器,所述读写控制器包含计数模块和映射表,所述计数模块对于所述三维转置存储器的输出次数进行计数,所述映射表中预存有次数与维度输出方式对应关系的数据。
3.根据权利要求1所述的一种超长点数高性能FFT计算装置,其特征在于:所述FFT计算模块包含N点FFT运算模块和铰链因子处理模块。
4.根据权利要求3所述的一种超长点数高性能FFT计算装置,其特征在于: 所述铰链因子处理模块将从所述N点FFT运算模块中输出的数据乘以铰链因子。
5.根据权利要求1-4任意一项所述的一种超长点数高性能FFT计算装置,其特征在于:在所述主存与所述三维转置存储器一之间设有读缓冲模块,在所述主存与所述三维转置存储器二之间设有写缓冲模块。
6.根据权利要求1-4任意一项所述的一种超长点数高性能FFT计算装置,其特征在于:所述控制单元收到数据读取命令后,控制主存将对应的数据发送给三维转置存储器一,所述读取命令包含数据点数总量信息和数据地址信息。
7.根据权利要求6所述的一种超长点数高性能FFT计算装置,其特征在于:所述数据点数地址信息包含数据起始地址信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011290004.XA CN112163187B (zh) | 2020-11-18 | 2020-11-18 | 一种超长点数高性能fft计算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011290004.XA CN112163187B (zh) | 2020-11-18 | 2020-11-18 | 一种超长点数高性能fft计算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112163187A CN112163187A (zh) | 2021-01-01 |
CN112163187B true CN112163187B (zh) | 2023-07-07 |
Family
ID=73865881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011290004.XA Active CN112163187B (zh) | 2020-11-18 | 2020-11-18 | 一种超长点数高性能fft计算装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112163187B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6088714A (en) * | 1998-07-27 | 2000-07-11 | Agilent Technologies | Mechanism for calculating one-dimensional fast fourier transforms |
KR20080013315A (ko) * | 2006-08-08 | 2008-02-13 | 엠텍비젼 주식회사 | 고속 푸리에 변환 장치 및 이를 포함하는 직교 주파수 분할다중화 수신기 |
CN101504638A (zh) * | 2009-03-19 | 2009-08-12 | 北京理工大学 | 一种可变点数流水线fft处理器 |
CN103955447A (zh) * | 2014-04-28 | 2014-07-30 | 中国人民解放军国防科学技术大学 | 基于dsp芯片的fft加速器 |
CN104699624A (zh) * | 2015-03-26 | 2015-06-10 | 中国人民解放军国防科学技术大学 | 面向fft并行计算的无冲突存储访问方法 |
CN105224505A (zh) * | 2015-10-29 | 2016-01-06 | 中国人民解放军国防科学技术大学 | 基于矩阵转置操作的fft加速器装置 |
CN109445882A (zh) * | 2017-08-21 | 2019-03-08 | 深圳市鼎阳科技有限公司 | 一种频谱三维显示装置、方法及计算机可读存储介质 |
CN109635513A (zh) * | 2019-01-18 | 2019-04-16 | 中国科学院地质与地球物理研究所 | 三维TTI介质qP波波场模拟方法及装置 |
CN109977347A (zh) * | 2019-03-29 | 2019-07-05 | 南京大学 | 一种支持多模式配置的可重构fft处理器 |
CN110647719A (zh) * | 2019-09-20 | 2020-01-03 | 西安电子科技大学 | 基于fpga的三维fft计算装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9785444B2 (en) * | 2013-08-16 | 2017-10-10 | Analog Devices Global | Hardware accelerator configuration by a translation of configuration data |
-
2020
- 2020-11-18 CN CN202011290004.XA patent/CN112163187B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6088714A (en) * | 1998-07-27 | 2000-07-11 | Agilent Technologies | Mechanism for calculating one-dimensional fast fourier transforms |
KR20080013315A (ko) * | 2006-08-08 | 2008-02-13 | 엠텍비젼 주식회사 | 고속 푸리에 변환 장치 및 이를 포함하는 직교 주파수 분할다중화 수신기 |
CN101504638A (zh) * | 2009-03-19 | 2009-08-12 | 北京理工大学 | 一种可变点数流水线fft处理器 |
CN103955447A (zh) * | 2014-04-28 | 2014-07-30 | 中国人民解放军国防科学技术大学 | 基于dsp芯片的fft加速器 |
CN104699624A (zh) * | 2015-03-26 | 2015-06-10 | 中国人民解放军国防科学技术大学 | 面向fft并行计算的无冲突存储访问方法 |
CN105224505A (zh) * | 2015-10-29 | 2016-01-06 | 中国人民解放军国防科学技术大学 | 基于矩阵转置操作的fft加速器装置 |
CN109445882A (zh) * | 2017-08-21 | 2019-03-08 | 深圳市鼎阳科技有限公司 | 一种频谱三维显示装置、方法及计算机可读存储介质 |
CN109635513A (zh) * | 2019-01-18 | 2019-04-16 | 中国科学院地质与地球物理研究所 | 三维TTI介质qP波波场模拟方法及装置 |
CN109977347A (zh) * | 2019-03-29 | 2019-07-05 | 南京大学 | 一种支持多模式配置的可重构fft处理器 |
CN110647719A (zh) * | 2019-09-20 | 2020-01-03 | 西安电子科技大学 | 基于fpga的三维fft计算装置 |
Non-Patent Citations (3)
Title |
---|
A Pipelined Memory-efficient Architecture for Ultra-long Variable-size FFT Processors;Chen He;《IEEE》;第357-361页 * |
超长可变点数FFT处理器设计与实现;高振斌;《电讯技术》;第92-96页 * |
超长点数FFT的设计与实现技术;郭骁;张月;陈曾平;李涛;;信号处理(11);第54-60页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112163187A (zh) | 2021-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112199040B (zh) | 存储访问方法及智能处理装置 | |
Yu et al. | FPGA architecture for 2D Discrete Fourier Transform based on 2D decomposition for large-sized data | |
Xiao et al. | Reduced memory architecture for CORDIC-based FFT | |
CN110647719A (zh) | 基于fpga的三维fft计算装置 | |
Wang et al. | Design of pipelined FFT processor based on FPGA | |
WO2022100578A1 (zh) | 5g系统中ofdm变换方法及相关产品 | |
US9098449B2 (en) | FFT accelerator | |
US20050289207A1 (en) | Fast fourier transform processor, dynamic scaling method and fast Fourier transform with radix-8 algorithm | |
CN115033293A (zh) | 零知识证明硬件加速器及生成方法、电子设备和存储介质 | |
CN112163187B (zh) | 一种超长点数高性能fft计算装置 | |
EP2854134A1 (en) | A method and a system for determining a product vector for performing Dynamic Time Warping | |
US9268744B2 (en) | Parallel bit reversal devices and methods | |
Takala et al. | Scalable FFT processors and pipelined butterfly units | |
WO2022100584A1 (zh) | 二次fft和ifft变换方法及相关产品 | |
Lin et al. | Expandable MDC-based FFT architecture and its generator for high-performance applications | |
Jin et al. | Design of spaceborne SAR imaging processing and fast Verification Based on FPGA | |
Ghosh et al. | FPGA based implementation of FFT processor using different architectures | |
Mohan et al. | Implementation of N-Point FFT/IFFT processor based on Radix-2 Using FPGA | |
Zhang et al. | Small area high speed configurable FFT processor | |
Lee et al. | Parallel srp-phat for GPUs | |
Lenart et al. | A pipelined FFT processor using data scaling with reduced memory requirements | |
CN104572578B (zh) | 用于显著改进微控制器中fft性能的新颖方法 | |
CN106483505A (zh) | 一种通用的fpga原位数据转置分块方法 | |
CN117493746B (zh) | 一种基于现场可编程门阵列的多维快速傅里叶变换系统 | |
CN117670644A (zh) | 一种基于sram存内计算的二维fft硬件加速器 |
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 |