CN109753629B - 多粒度并行fft计算装置 - Google Patents
多粒度并行fft计算装置 Download PDFInfo
- Publication number
- CN109753629B CN109753629B CN201711085582.8A CN201711085582A CN109753629B CN 109753629 B CN109753629 B CN 109753629B CN 201711085582 A CN201711085582 A CN 201711085582A CN 109753629 B CN109753629 B CN 109753629B
- Authority
- CN
- China
- Prior art keywords
- butterfly
- data
- computing device
- output
- computation
- 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
-
- 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
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种多粒度并行FFT计算装置,其包括外缓存装置、旋转因子提取装置、第一蝶形计算装置、第二蝶形计算装置、第一数据重排装置、及第二数据重排装置;外缓存装置存储原始数据及旋转因子;旋转因子抽取装置交替地为第一蝶形计算装置及第二蝶形计算装置提供各级旋转因子;第一蝶形计算装置及第二蝶形计算装置分别进行相应的蝶形计算;第一数据重排装置对第一蝶形计算装置输出的计算结果进行位反序操作;第二数据重排装置对第二蝶形计算装置输出的计算结果进行位反序操作。本发明提供的多粒度并行FFT计算装置运算效率高,结构简单,易于操作与实施。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及一种多粒度并行FFT计算装置。
背景技术
FFT(Fast Fourier Transformatio,快速傅立叶变换)是离散傅氏变换的快速算法,其由离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进而获得。并具有程序简单、运算量少、运算速度快等特点,从而受到广大技术人员的青睐。
为进一步提高运算速率,技术人员通常采用多粒度并行FFT计算的方式来对数据进行运算,即同时读取多个数据进行FFT计算。在目前的多粒度并行FFT计算装置中,通常采用一个计算单元以及一个与其相对应的旋转因子存储器为其提供相应的旋转因子。然而,目前的多粒度并行FFT计算装置计算效率仍较低,无法满足对高效率计算的需求。
发明内容
鉴于上述问题,本发明提供了一种克服上述问题或者至少部分地解决上述问题的多粒度并行FFT计算装置。
根据本发明的一个方面提供了一种多粒度并行FFT计算装置,包括:
外缓存装置、旋转因子抽取装置、第一蝶形计算装置、第二蝶形计算装置、第一数据重排装置、以及第二数据重排装置;
其中,所述外缓存装置中存储有原始数据以及旋转因子;
所述旋转因子抽取装置中的内缓存单元中存储有所述外缓存装置输出的旋转因子,所述旋转因子抽取装置用于交替地为所述第一蝶形计算装置以及所述第二蝶形计算装置提供相应的各级旋转因子;
所述第一蝶形计算装置根据所述第一数据重排装置输出的蝶形组数据以及所述旋转因子抽取装置输出的相应的旋转因子进行各级蝶形计算,并将计算结果写回至所述第一数据重排装置中的内缓存单元,其中,所述第一数据重排装置输出的蝶形组数据存储于所述第一蝶形计算装置的内缓存单元中;
所述第二蝶形计算装置根据所述第二数据重排装置输出的蝶形组数据以及所述旋转因子抽取装置输出的相应的旋转因子进行各级蝶形计算,并将计算结果写回至所述第二数据重排装置中的内缓存单元,其中,所述第二数据重排装置输出的蝶形组数据存储于所述第二蝶形计算装置的内缓存单元中;
所述第一数据重排装置用于针对所述第一蝶形计算装置输出的计算结果进行位反序操作;
所述第二数据重排装置用于针对所述第二蝶形计算装置输出的计算结果进行位反序操作。
根据本发明提供的多粒度并行FFT计算装置,包括外缓存装置、旋转因子抽取装置、第一蝶形计算装置、第二蝶形计算装置、第一数据重排装置、及第二数据重排装置;外缓存装置存储原始数据及旋转因子;旋转因子抽取装置交替地为第一蝶形计算装置及第二蝶形计算装置提供各级旋转因子;第一蝶形计算装置及第二蝶形计算装置分别进行相应的蝶形计算;第一数据重排装置对第一蝶形计算装置输出的计算结果进行位反序操作;第二数据重排装置对第二蝶形计算装置输出的计算结果进行位反序操作。本发明提供的多粒度并行FFT计算装置运算效率高,结构简单,易于操作与实施。
上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明实施例一提供的一种多粒度并行FFT计算装置的结构示意图;
图2是根据本发明实施例一提供的另一种多粒度并行FFT计算装置的结构示意图;
图3是根据本发明实施例二提供的一种多粒度并行FFT计算装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
图1示出了根据本发明实施例一提供的一种多粒度并行FFT计算装置。如图1所示,该多粒度并行FFT计算装置包括:外缓存装置11、旋转因子抽取装置12、第一蝶形计算装置13、第二蝶形计算装置14、第一数据重排装置15以及第二数据重排装置16。外缓存装置11中存储有原始数据以及旋转因子;旋转因子抽取装置12中的内缓存单元中存储有外缓存装置11输出的旋转因子,并且,旋转因子抽取装置12用于交替地为第一蝶形计算装置13以及第二蝶形计算装置14提供相应的各级旋转因子;第一蝶形计算装置13根据第一数据重排装置15输出的蝶形组数据以及旋转因子抽取装置12输出的相应的旋转因子进行各级蝶形计算,并将计算结果写回至第一数据重排装置15中的内缓存单元,其中,第一数据重排装置15输出的蝶形组数据存储于第一蝶形计算装置13的内缓存单元中;第二蝶形计算装置14根据第二数据重排装置16输出的蝶形组数据以及旋转因子抽取装置12输出的相应的旋转因子进行各级蝶形计算,并将计算结果写回至第二数据重排装置16中的内缓存单元,其中,第二数据重排装置16输出的蝶形组数据存储于第二蝶形计算装置的内缓存单元中;第一数据重排装置15用于所述第一蝶形计算装置13输出的计算结果进行位反序操作;第二数据重排装置16用于针对第二蝶形计算装置14输出的计算结果进行位反序操作。
具体地,在第一蝶形计算装置13以及第二计算装置14进行蝶形计算之前,外缓存装置11中的旋转因子写入旋转因子抽取装置12的内缓存单元中。而外缓存装置11中的原始数据为第一蝶形计算装置13以及第二蝶形计算装置14进行蝶形计算所需的蝶形组数据。外缓存装置11中的原始数据可进一步划分为第一原始数据以及第二原始数据两部分,其中第一原始数据用于第一蝶形计算装置13的蝶形计算,而第二原始数据用于第二蝶形计算装置14的蝶形计算。
可选的,如图1所示,当外缓存装置11中存储的原始数据为经过位反序操作之后的原始数据时,可将原始数据直接写入第一蝶形计算装置13的内缓存单元以及第二蝶形计算装置14的内缓存单元中。即将第一原始数据写入第一蝶形计算装置13的内缓存单元,将第二原始数据写入第二蝶形计算装置14的内缓存单元。则第一蝶形计算装置13可根据外缓存装置11输出的原始数据以及旋转因子抽取装置12输出的对应的第一级旋转因子进行第一级蝶形计算;第二蝶形计算装置14可根据外缓存装置11输出的原始数据以及旋转因子抽取装置12输出的对应的第一级旋转因子进行第一级蝶形计算。
可选的,当外缓存装置11中存储的原始数据为未过位反序操作之后的原始数据时,则实施例一中的多粒度并行FFT计算装置的各个部件的连接关系如图2所示。外缓存装置11中的原始数据可写入第一数据重排装置15的内缓存单元以及第二数据重排装置16的内缓存单元。第一数据重排装置15对外缓存装置11输出的原始数据进行位反序操作,并将位反序操作之后的结果输出至第一蝶形计算装置;第二数据重排装置16对外缓存装置11输出的原始数据进行位反序操作,将位反序操作之后的结果输出至第一蝶形计算装置。
在第一蝶形计算装置13及第二蝶形计算装置14蝶形计算时,第一数据重排装置15以及第二数据重排装置16分别为第一蝶形计算装置13以及第二蝶形计算装置14提供相应的蝶形组数据,而旋转因子抽取装置12交替地为第一蝶形计算装置13及第二蝶形计算装置14提供所需的各级旋转因子。其中,第一蝶形计算装置13以及第二蝶形计算装置14在进行各级蝶形计算时,是通过各级内的多组蝶形计算单元来实现多粒度并行计算。
具体地,在tn时刻,旋转因子抽取装置12为第一蝶形计算装置提供相应的第n级旋转因子,而第一蝶形计算装置13根据该第n级旋转因子以及第一数据重排装置15提供的第n级蝶形组数据进行第n级蝶形计算;
在tn+△t时刻,旋转因子抽取装置12为第二蝶形计算装置14提供相应的第n级旋转因子,而第二蝶形计算装置14根据该第n级旋转因子以及第二数据重排装置16提供的第n级蝶形组数据进行第n级蝶形计算;
在tn+1时刻,旋转因子抽取装置12为第一蝶形计算装置提供相应的第n+1级旋转因子,而第一蝶形计算装置13根据该第n+1级旋转因子以及第一数据重排装置15提供的第n+1级蝶形组数据进行第n级蝶形计算;
在tn+1+△t时刻,旋转因子抽取装置12为第二蝶形计算装置14提供相应的第n+1级旋转因子,而第二蝶形计算装置14根据该第n+1级旋转因子以及第二数据重排装置16提供的第n+1级蝶形组数据进行第n级蝶形计算;
其中,tn+1>tn+△t,且tn、tn+1、以及△t大于0,n为大于或等于0的自然数。
如此循环,可通过一个旋转因子抽取装置为两个蝶形计算装置提供旋转因子,并且,在循环过程中各步骤具有紧凑的时序关系,而在此过程中不产生数据读写的冲突。
以下以一具体示例来具体阐述本实施例中的多粒度并行FFT计算装置的处理过程:
蝶形计算过程中,每级蝶形计算所需的蝶形组数据为第一数据A及第二数据B,其中第一数据A和第二数据B分别为数据向量。而每级蝶形计算的输出结果为A+W*B,以及A-W*B,其中,W为相应的旋转因子。每级蝶形计算输出结果经过数据重排后作为下一级蝶形计算的输入数据,如此循环来完成整个FFT计算。
如表1所示,W0为旋转因子抽提取装置12为第一蝶形计算装置13提供的旋转因子,W1为旋转因子抽取装置12为第二蝶形计算装置14提供的旋转因子。为避免数据读写冲突,每个蝶形计算装置的内缓存中设置有至少两个存储块。具体地,Ab c表示第b个蝶形计算装置的内缓存的第c个存储块中存储的蝶形组数据中的一个数据向量(对应上述数据向量A),Bb c表示第b个蝶形计算装置的内缓存的第c个存储块中存储的蝶形组数据中的另一个数据向量(对应上述数据向量B),Wb c表示第b个蝶形计算装置的内缓存的第c个存储块中存储的旋转因子;其中,当b=0时,表示第一蝶形计算装置13,当b=1时,表示第二蝶形计算装置14;当c=0时,表示第一存储块,当c=1时,表示第二存储块。
在第0周期,第一数据重排装置15为第一蝶形计算装置13提供进行第一级蝶形计算的蝶形数据组中的一个数据向量A0 0(存储在第一蝶形计算装置13的内缓存中的第一存储块中)。
在第1周期时,旋转因子抽取装置12为第一蝶形计算装置13提供相应的旋转因子W0,而第一数据重排装置15为第一蝶形计算装置13提供进行第一级蝶形计算的蝶形数据组中的另一个数据向量B0 0(存储在第一蝶形计算装置13的内缓存中的第一存储块中),第二数据重排装置16为第二蝶形计算装置14提供进行第一级蝶形计算的蝶形数据组中的一个数据向量A1 0(存储在第二蝶形计算装置14的内缓存中的第一存储块中)。
在第2周期,第一蝶形计算装置13根据内缓存的第一存储块中的A0 0、B0 0、以及W0 0进行第一级蝶形计算,获得A0 0+B0 0×W0 0计算结果,并存储至第一数据重排装置15中,待第一数据重排装置15对该计算结果进行位反序操作后,将重排后的结果写入第一蝶形计算装置13的内缓存中的第二存储块(即写入A0 1数据向量),而旋转因子抽取装置12为第二蝶形计算装置14提供相应的旋转因子W1,第二数据重排装置16为第二蝶形计算装置14提供进行第一级蝶形计算的蝶形数据组中的另一个数据向量B1 0。
在第3周期,第一蝶形计算装置13根据内缓存的第一存储块中的A0 0、B0 0、以及W0 0进行第一级蝶形计算,获得A0 0-B0 0×W0 0计算结果,并存储至第一数据重排装置15中,待第一数据重排装置15对该计算结果进行位反序操作后,将重排后的结果写入第一蝶形计算装置13的内缓存中的第二存储块(即写入B0 1数据向量),至此,第一蝶形计算装置13完成第一级蝶形计算;第二蝶形计算装置14根据内缓存的第一存储块中的A1 0、B1 0、以及W1 0进行第一级蝶形计算,获得A1 0+B1 0×W1 0计算结果,并存储至第二数据重排装置16中,待第二数据重排装置16对该计算结果进行位反序操作后,将重排后的结果写入第二蝶形计算装置14的内缓存中的第二存储块(即写入A1 1数据向量);旋转因子抽取装置12为第一蝶形计算装置13提供进行第二级蝶形计算的旋转因子W0,并存储至第一蝶形计算装置13内缓存的第二存储块(即形成W0 1)。
表1
在第4周期,第一蝶形计算装置13根据内缓存的第二存储块中的A0 1、B0 1、以及W0 1进行第二级蝶形计算,获得A0 1+B0 1×W0 1计算结果,并存储至第一数据重排装置15中,待第一数据重排装置15对该计算结果进行位反序操作后,将重排后的结果写入第一蝶形计算装置13的内缓存中的第一存储块(即写入A0 0数据向量);第二蝶形计算装置14根据内缓存的第一存储块中的A1 0、B1 0、以及W1 0进行蝶形计算,获得A1 0-B1 0×W1 0计算结果,并存储至第二数据重排装置16中,待第二数据重排装置16对该计算结果进行位反序操作后,将重排后的结果写入第二蝶形计算装置14的内缓存中的第二存储块(即写入B1 1数据向量),至此,第二蝶形计算装置14完成第一级蝶形计算;旋转因子抽取装置12为第二蝶形计算装置14提供进行第二级蝶形计算的旋转因子W1。如此循环,使旋转因子抽取装置交替地为第一蝶形计算装置及第二蝶形计算装置提供各级旋转因子,而不产生数据读写的冲突。
根据本实施例提供的多粒度并行FFT计算装置,包括外缓存装置、旋转因子抽取装置、第一蝶形计算装置、第二蝶形计算装置、第一数据重排装置、及第二数据重排装置;外缓存装置存储原始数据及旋转因子;旋转因子抽取装置交替地为第一蝶形计算装置及第二蝶形计算装置提供各级旋转因子;第一蝶形计算装置及第二蝶形计算装置分别进行相应的蝶形计算;第一数据重排装置对第一蝶形计算装置输出的计算结果进行位反序操作;第二数据重排装置对第二蝶形计算装置输出的计算结果进行位反序操作。本实施例提供的多粒度并行FFT计算装置运算效率高,结构简单,易于操作与实施。
图3示出了根据本发明实施例二提供的一种多粒度并行FFT计算装置。如图3所示,在图1所示多粒度并行FFT计算装置的基础上,该装置还包括:外部重排装置21。
其中,第一蝶形计算装置13进一步用于:当每完成预设级数的蝶形计算时,输出第一计算结果至外缓存装置11。
第二蝶形计算装置14进一步用于:当每完成预设级数的蝶形计算时,输出第二计算结果至外缓存装置11。
则外部重排装置21用于:对第一蝶形计算装置13输出至外缓存装置11的计算结果进行位反序操作。则外缓存装置11中还存储有经过外部重排装置21对第一蝶形计算装置13的计算结果进行位反序操作后的数据。则第一蝶形计算装置13进一步用于:根据外缓存装置输出的对第一蝶形计算装置13的计算结果进行位反序操作后的数据以及旋转因子抽取装置12输出的相应的旋转因子进行蝶形计算;
和/或,外部重排装置21用于:对第二蝶形计算装置14输出至外缓存装置11的计算结果进行位反序操作。则外缓存装置11中还存储有经过外部重排装置21对第二蝶形计算装置14的计算结果进行位反序操作后的数据;则第二蝶形计算装置14进一步用于:根据外缓存装置11输出的对第二蝶形计算装置的计算结果进行位反序操作后的数据以及旋转因子抽取装置输出的相应的旋转因子进行蝶形计算。
可选的,上述预设级数可通过预设配置项进行灵活配置。
可选的,为进一步提高外部重排装置21的灵活性及处理效率,外部重排装置21可通过多粒度并行存储器来实现数据的重排。具体地,可利用多粒度并行存储器可按照矩阵形式行进列出,或者列进行出的方式,灵活地实现数据的重排。
举例来说,预设级数可配置为5级。则当第一蝶形计算装置13根据第一数据重排装置15输出的蝶形组数据以及旋转因子抽取装置12输出的相应的旋转因子完成1-5级蝶形计算之后,将计算结果写回至外部缓存器11中,外部重排装置进一步对该数据进行位反序重排操作,获得第6级蝶形计算的输入数据,并将其存储至外缓存装置11中,则第一蝶形计算装置13可将该重排后的数据写入第一蝶形计算装置13的内缓存中,从而进一步根据旋转因子抽取装置12输出的第6级蝶形计算的旋转因子进行第6级蝶形计算,在第6级蝶形计算完成后将计算结果写回至第一数据重排装置15中,以供第一数据重排装置15对计算结果进行位反序操作,获得第7级蝶形计算输入数据。待第一蝶形计算装置13完成第10级蝶形计算之后,将计算结果写回至外缓存装置11,以供外部排序装置21对其进行位反序操作。
同理,当第二蝶形计算装置14每完成5级蝶形计算时将结果写回外缓存装置11,以供外部重排装置21对计算结果进行位反序操作。
可选的,在第一蝶形计算装置13及第二蝶形计算装置14进行蝶形计算过程中,第一蝶形计算装置13进一步用于:根据第一数据重排装置13输出的蝶形组数据以及旋转因子抽取装置12输出的相应的旋转因子进行各级蝶形计算,并对计算过程中的数据以及计算结果进行精度优化处理;第二蝶形计算装置14进一步用于:根据第二数据重排装置14输出的蝶形组数据以及旋转因子抽取装置12输出的相应的旋转因子进行各级蝶形计算,并对计算结果进行精度优化处理。其中,精度优化处理具体为移位处理。
例如,第一蝶形计算装置13在某一级蝶形计算过程中,会获得A+B×W,则B×W的结果为进行蝶形计算过程中的数据,A+B×W为计算结果。则可对B×W的结果以及A+B×W的结果进行移位操作以达到精度优化的目的。当16位数据相乘,其结果为32位,其中,最高两位为符号位,则可通过配置项任意移位后截取高或低16位结果。例如,若32位计算结果为00001010010110110010101001011011,其中最高两位为符号位,现有技术中截取16位后的结果为0001010010110110,而本实施例中可针对上述32位计算结果左移三位后截取高16位,从而使结果为01010010110110,从而相较于现有技术提高了两位精度。
可选的,第一蝶形计算装置13进一步用于:根据第一数据重排装置15输出的蝶形组数据以及旋转因子抽取装置12输出的相应的旋转因子进行复数乘法及复数加减法操作,完成各级蝶形计算;和/或,第二蝶形计算装置14进一步用于:根据第二数据重排装置15输出的蝶形组数据以及旋转因子抽取装置12输出的相应的旋转因子进行复数乘法及复数加减法操作,完成各级蝶形计算。本实施例中的第一蝶形计算装置13及第二蝶形计算装置14在进行各级蝶形计算过程中,可直接进行复数乘法及复数加减法的运算,而不需对复数的实部和虚部进行分离后分别计算,从而降低运算时间,提高运算效率。
本实施例提供的多粒度并行FFT计算装置在图1所示装置的基础上进一步包括外部重排装置,使第一蝶形计算装置以及第二蝶形计算装置每进行完预设级数之后将计算结果写回至外部重排装置,从而可缓解第一数据重排装置以及第二数据重排装置的运行压力,提高整体运行效率;并且,在蝶形运算过程中,进一步对计算过程中的数据以及计算结果进行精度优化,从而可进一步提高数据精度;并且,本实施例中的多粒度并行FFT计算装置可支持复数的直接乘法及加减法,从而进一步地提高计算效率,节省计算时间。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (9)
1.一种多粒度并行FFT计算装置,其包括:外缓存装置、旋转因子抽取装置、第一蝶形计算装置、第二蝶形计算装置、第一数据重排装置、以及第二数据重排装置;
其中,所述外缓存装置中存储有原始数据以及旋转因子;
所述旋转因子抽取装置中的内缓存单元中存储有所述外缓存装置输出的旋转因子,所述旋转因子抽取装置用于交替地为所述第一蝶形计算装置以及所述第二蝶形计算装置提供相应的各级旋转因子;具体地,在tn时刻,为所述第一蝶形计算装置提供相应的第n级旋转因子;在tn+△t时刻,为所述第二蝶形计算装置提供相应的第n级旋转因子;在tn+1时刻,为所述第一蝶形计算装置提供相应的第n+1级旋转因子;在tn+1+△t时刻,为所述第二蝶形计算装置提供相应的第n+1级旋转因子;其中,tn+1>tn+△t,且tn、tn+1以及△t大于0,n为大于或等于0的自然数;
所述第一蝶形计算装置根据所述第一数据重排装置输出的蝶形组数据以及所述旋转因子抽取装置输出的相应的旋转因子进行各级蝶形计算,并将计算结果写回至所述第一数据重排装置中的内缓存单元,其中,所述第一数据重排装置输出的蝶形组数据存储于所述第一蝶形计算装置的内缓存单元中;
所述第二蝶形计算装置根据所述第二数据重排装置输出的蝶形组数据以及所述旋转因子抽取装置输出的相应的旋转因子进行各级蝶形计算,并将计算结果写回至所述第二数据重排装置中的内缓存单元,其中,所述第二数据重排装置输出的蝶形组数据存储于所述第二蝶形计算装置的内缓存单元中;
所述第一数据重排装置用于针对所述第一蝶形计算装置输出的计算结果进行位反序操作;
所述第二数据重排装置用于针对所述第二蝶形计算装置输出的计算结果进行位反序操作。
2.根据权利要求1所述的装置,其特征在于,所述外缓存装置中存储的原始数据为经过位反序操作之后的原始数据;
则所述第一蝶形计算装置进一步用于:根据所述外缓存装置输出的原始数据以及所述旋转因子抽取装置输出的对应的第一级旋转因子进行第一级蝶形计算;
所述第二蝶形计算装置进一步用于:根据所述外缓存装置输出的原始数据以及所述旋转因子抽取装置输出的对应的第一级旋转因子进行第一级蝶形计算。
3.根据权利要求1所述的装置,其特征在于,所述外缓存装置中存储的原始数据为未经过位反序操作之后的原始数据;
则所述第一数据重排装置中的内缓存单元存储有所述外缓存装置输出的原始数据,所述第一数据重排装置进一步用于对所述外缓存装置输出的原始数据进行位反序操作;
所述第二数据重排装置中的内缓存单元存储有所述外缓存装置输出的原始数据,所述第二数据重排装置进一步用于对所述外缓存装置输出的原始数据进行位反序操作。
4.根据权利要求1所述的装置,其特征在于,当所述第一蝶形计算装置每完成预设级数的蝶形计算时,输出第一计算结果至所述外缓存装置;
和/或,当所述第二蝶形计算装置完成预设级数的蝶形计算时,输出第二计算结果至所述外缓存装置。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括外部重排装置;
则所述外部重排装置用于:对所述第一蝶形计算装置输出至所述外缓存装置的计算结果进行位反序操作;则所述外缓存装置中还存储有经过所述外部重排装置对所述第一蝶形计算装置的计算结果进行位反序操作后的数据;则所述第一蝶形计算装置进一步用于:根据所述外缓存装置输出的对所述第一蝶形计算装置的计算结果进行位反序操作后的数据以及所述旋转因子抽取装置输出的相应的旋转因子进行蝶形计算;
和/或,所述外部重排装置用于:对所述第二蝶形计算装置输出至所述外缓存装置的计算结果进行位反序操作;则所述外缓存装置中还存储有经过所述外部重排装置对所述第二蝶形计算装置的计算结果进行位反序操作后的数据;则所述第二蝶形计算装置进一步用于:根据所述外缓存装置输出的对所述第二蝶形计算装置的计算结果进行位反序操作后的数据以及所述旋转因子抽取装置输出的相应的旋转因子进行蝶形计算。
6.根据权利要求4或5所述的装置,其特征在于,所述预设级数通过预设配置项配置。
7.根据权利要求1所述的装置,其特征在于,所述第一蝶形计算装置进一步用于:根据所述第一数据重排装置输出的蝶形组数据以及所述旋转因子抽取装置输出的相应的旋转因子进行各级蝶形计算,并对计算过程中的数据以及计算结果进行精度优化处理;
所述第二蝶形计算装置进一步用于:根据所述第二数据重排装置输出的蝶形组数据以及所述旋转因子抽取装置输出的相应的旋转因子进行各级蝶形计算,并对计算过程中的数据以及计算结果进行精度优化处理。
8.根据权利要求7所述的装置,其特征在于,所述精度优化处理具体为移位处理。
9.根据权利要求1所述的装置,其特征在于,所述第一蝶形计算装置进一步用于:根据第一数据重排装置输出的蝶形组数据以及所述旋转因子抽取装置输出的相应的旋转因子进行复数乘法及复数加减法操作,完成各级蝶形计算;
和/或,所述第二蝶形计算装置进一步用于:根据第二数据重排装置输出的蝶形组数据以及所述旋转因子抽取装置输出的相应的旋转因子进行复数乘法及复数加减法操作,完成各级蝶形计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711085582.8A CN109753629B (zh) | 2017-11-07 | 2017-11-07 | 多粒度并行fft计算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711085582.8A CN109753629B (zh) | 2017-11-07 | 2017-11-07 | 多粒度并行fft计算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753629A CN109753629A (zh) | 2019-05-14 |
CN109753629B true CN109753629B (zh) | 2023-05-12 |
Family
ID=66400239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711085582.8A Active CN109753629B (zh) | 2017-11-07 | 2017-11-07 | 多粒度并行fft计算装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753629B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114050956B (zh) * | 2021-11-09 | 2024-06-04 | 上海思朗科技有限公司 | 一种无线信号处理方法及无线信号接收机 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411557A (zh) * | 2011-12-31 | 2012-04-11 | 中国科学院自动化研究所 | 多粒度并行fft计算装置 |
CN102541813A (zh) * | 2011-12-31 | 2012-07-04 | 中国科学院自动化研究所 | 一种多粒度并行fft蝶形计算的方法及相应的装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9262378B2 (en) * | 2011-12-31 | 2016-02-16 | Institute Of Automation, Chinese Academy Of Sciences | Methods and devices for multi-granularity parallel FFT butterfly computation |
US9317481B2 (en) * | 2011-12-31 | 2016-04-19 | Institute Of Automation, Chinese Academy Of Sciences | Data access method and device for parallel FFT computation |
GB2515755A (en) * | 2013-07-01 | 2015-01-07 | Ibm | Method and apparatus for performing a FFT computation |
US10339200B2 (en) * | 2015-10-09 | 2019-07-02 | Signalchip Innovations Private Limited | System and method for optimizing mixed radix fast fourier transform and inverse fast fourier transform |
-
2017
- 2017-11-07 CN CN201711085582.8A patent/CN109753629B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411557A (zh) * | 2011-12-31 | 2012-04-11 | 中国科学院自动化研究所 | 多粒度并行fft计算装置 |
CN102541813A (zh) * | 2011-12-31 | 2012-07-04 | 中国科学院自动化研究所 | 一种多粒度并行fft蝶形计算的方法及相应的装置 |
Non-Patent Citations (2)
Title |
---|
An efficient folded pipelined architecture for Fast Fourier Transform using Cordic algorithm;Shymna Nizar N.S等;《2014 IEEE International Conference on Advanced Communications, Control and Computing Technologies》;20150126;第462-467页 * |
基于FPGA流水线结构并行FFT的设计与实现;王英喆等;《电子设计工程》;20150220;第47-50页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109753629A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010521728A (ja) | データ圧縮のための回路及びこれを用いるプロセッサ | |
CN102652315B (zh) | 信息处理设备及其控制方法 | |
CN101847986B (zh) | 一种实现fft/ifft变换的电路及方法 | |
JP2008513903A (ja) | シャッフル演算のためのマイクロプロセッサデバイス及び方法 | |
US10884736B1 (en) | Method and apparatus for a low energy programmable vector processing unit for neural networks backend processing | |
WO2018027706A1 (zh) | Fft处理器及运算方法 | |
JP5549442B2 (ja) | Fft演算装置 | |
JP4160564B2 (ja) | 処理速度の向上した高速フーリエ変換装置およびその処理方法 | |
JP2002351858A (ja) | 処理装置 | |
CN109753629B (zh) | 多粒度并行fft计算装置 | |
JPWO2011036918A1 (ja) | データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法 | |
CN103493039B (zh) | 数据处理方法、数据处理装置、接入设备和用户设备 | |
JP2008217359A (ja) | 高速フーリエ変換装置及び高速フーリエ変換処理方法 | |
CN115756384B (zh) | 张量计算单元及使用方法、数据处理装置及操作方法 | |
CN102541813B (zh) | 一种多粒度并行fft蝶形计算的方法及相应的装置 | |
US6728742B1 (en) | Data storage patterns for fast fourier transforms | |
CN108062289B (zh) | 快速傅里叶变换fft地址换序方法、信号处理方法及装置 | |
US9880974B2 (en) | Folded butterfly module, pipelined FFT processor using the same, and control method of the same | |
JP5269137B2 (ja) | 演算装置 | |
CN111368250B (zh) | 基于傅里叶变换/逆变换的数据处理系统、方法及设备 | |
CN111831207B (zh) | 一种数据处理方法、装置及其设备 | |
US20160357706A1 (en) | Fast fourier transform device, fast fourier transform method, and storage medium having fast fourier transform program stored thereon | |
CN114116012B (zh) | 基于混洗操作的fft码位反序算法向量化实现方法及装置 | |
CN107682121B (zh) | 一种编码方法及装置 | |
US20240039694A1 (en) | Device for processing homomorphically encrypted data |
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 | ||
CB02 | Change of applicant information |
Address after: 201306 building C, No. 888, Huanhu West 2nd Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai Applicant after: Shanghai Silang Technology Co.,Ltd. Address before: 102400 floor 402, building 11, No.1 Yanfu Road, Yancun Town, Fangshan District, Beijing Applicant before: Beijing Si Lang science and Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |