CN110765709A - 一种基于fpga的基2-2快速傅里叶变换硬件设计方法 - Google Patents
一种基于fpga的基2-2快速傅里叶变换硬件设计方法 Download PDFInfo
- Publication number
- CN110765709A CN110765709A CN201910978042.5A CN201910978042A CN110765709A CN 110765709 A CN110765709 A CN 110765709A CN 201910978042 A CN201910978042 A CN 201910978042A CN 110765709 A CN110765709 A CN 110765709A
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- twiddle factor
- butterfly
- twiddle
- 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
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
-
- 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
Abstract
本发明涉及一种基于FPGA的基2‑2快速傅里叶变换硬件设计方法,由四级相似的蝶形单元、旋转因子乘法器模块、正序输出模块和控制模块组成:每级蝶形单元电路结构和工作方式均相似,只是其中的移位寄存器深度按等比数列方式依次递减;蝶型单元,其作用是对输入数据的实部和虚部进行加减运算,运算结果进入后面的旋转因子乘法器单元,实现数据与旋转因子相乘的功能,其中奇数级进入简单旋转因子乘法器单元,而偶数级进入通用旋转因子乘法器单元,其中第四级运算之后的旋转因子都为1;正序输出模块通过比特反位的方式将最终数据结果重新排序,使其按照正确的顺序输出。
Description
技术领域
本发明属于超大规模集成电路(Very Large Scale Integration,简称VLSI)设计范畴,设计出一种基于现代FPGA技术特点的基22算法结构的快速傅里叶变换的硬件实现结构。
背景技术
快速傅里叶变换(Fast Fourier Transform,FFT)由离散傅里叶变换(DiscreteFourier Transformation,DFT)发展而来,已经成为信号处理中最重要的算法之一,在通信、滤波以及数字频谱分析等领域都有着广泛应用。为满足数字信号处理的实时性需求,人们已经提出许多算法和硬件结构,来提高处理速度以及减少硬件资源的使用情况。
目前主要有Good-Thomas算法、Winograd算法、CORDIC算法以及Cooley-Tukey算法四种形式。其中Cooley-Tukey算法应用最多,该算法于1965年被J.W.Cooley和J.W.Tukey提出,它利用旋转因子的特性,将一维长序列的DFT转换为容易计算的二维或多维DFT,从而减少运算量。分解的基数越高,运算量越少,但蝶形结构越复杂而不易实现。紧接着G.Sande和J.W.Tukey又提出了快速频域抽取(Decimation In Frequency,DIF)基2算法,使得FFT得到了迅速的发展,其应用成为可能,开启了数字信号处理的新纪元。1996年瑞典隆德大学的Prof.He在论文《ANew Approach to Pipeline FFT Processor》[1]中综合了高基数算法硬件消耗少和基2算法易于实现的优点提出了基22-FFT算法,其以运算量小、蝶形运算简单等优势,一经提出便得到了迅速发展,此算法的提出是FFT硬件架构设计的里程碑。
目前FFT处理器的典型处理方式主要有顺序处理,流水线处理,并行处理和阵列处理四种,这几种处理方式的硬件消耗依次增加,运算速度也依次提升,综合折中考虑这两个因素,流水线处理方式有较大优势。它是把一个重复的过程分解为几个独立并行的子过程,每一级都使用一个独立的蝶形运算单元和存储单元,用它们来完成这一级所有数据的计算和保存工作,各蝶形运算单元之间按照顺序工作。上世纪70年代开始至今,流水线型FFT架构发展出两种常用结构:一种是串行流水线结构,这种结构每个时钟周期处理1个采样点数据,主要有单路延迟反馈结构(Single-path Delay Feedback,SDF)和单路延迟交叉结构(Single-path Delay Commutator,SDC);另一种是并行流水线结构,这种结构每个时钟周期处理多个采样点数据,主要有多路径延迟反馈结构(Multi-path Delay Feedback,MDF)和多路延迟交叉结构(Multi-path Delay Commutator,MDC)。
基2算法的SDF架构是第一个被提出的串行流水线FFT架构[2]。此后的研究重点为改进或创新架构以减少硬件占用,提升运算速度等性能。改进主要集中在蝶形单元和旋转因子设计两方面。在蝶形单元方面,梁煜等人改变了数据输入顺序和控制逻辑使加法器数量减半[3],但乱序数据控制非常复杂,不利于大点数FFT计算;ZhongG等用指针FIFO作为蝶形单元中的存储单元并嵌入了格雷码计数器,增加了大点数计算时的稳定性[4],但资源占用并未减少。在旋转因子设计方面,LiJ等采用基于CORDIC算法的复乘法器来去除冗余因子存储,并利用3乘5加乘法器结构来减少复数乘法器的数量[5],但缺点是CORDIC算法迭代次数较多,运算时间较长;张萌等人将旋转因子提前计算好储存在ROM中,并通过普通的乘法器完成乘旋转因子的操作[6],虽然控制操作简便,但乘法器资源占用较大;Wang和Liu采用分时复用乘法器和加法器[7],提高了计算速度,但会占用较多硬件资源。
目前对于FFT的FPGA实现的优化主要集中在FFT算法和架构层面,以及算法与架构之间的映射关系层面,对于结合FPGA硬件特点的架构优化方法研究很少,因此在减少硬件资源消耗、提高计算速度方面还有优化的空间。
参考文献
[1]He S,Torkelson M.A New Approach to Pipeline FFT Processor[C]//International Parallel Processing Symposium.IEEE Computer Society,1996.Honolulu:IEEE,1996:766-770.
[2]Groginsky H L,Works G A.A Pipeline Fast Fourier Transform[J].IEEETransactions on Computers,1970,C-19(11):1015-1019.
[3]梁煜.基2-2算法的快速傅里叶变换硬件设计方法:中国,201811479787.9[P].2019.03.26.
[4]Zhong G,Zheng H,Jin Z H,et al.1024-point pipeline FFT processorwith pointer FIFOs based on FPGA[C]//IEEE/IFIP 19th International Conferenceon VLSI and System-on-Chip,VLSI-SoC 2011,Kowloon,Hong Kong,China,October 3-5,2011.IEEE,2011.
[5]Li J,Liu F,Long T,et al.Research on pipeline R22SDF FFT[C]//International Radar Conference.IET,2009.
[6]张萌.一种应用于FFT/IFFT的基4蝶形单元电路:中国,201120017083.7[P].2011.09.28.
[7]Wang Z,Liu X,He B,et al.A Combined SDC-SDF Architecture for NormalI/O Pipelined Radix-2FFT[J].IEEE Transactions onVery Large Scale IntegrationSystems,2015,23(5):973-977.
发明内容
本发明的目的是提供一种基22快速傅里叶变换硬件设计方法。在结合现代XilinxFPGA硬件结构特点的基础上,提出了一种新型串行基22流水线FFT架构。与现有的SDF和SDC架构相比,其蝶形单元具有最少的加法器数量,并且这些加法器的利用率为100%,旋转因子乘法器模块的移位相加操作也最少,因此大幅度减少了硬件资源消耗;而且此架构具有与SDF和SDC架构相同的控制结构和数据顺序,因此,可以将其与其他两种架构灵活组合;本发明的技术方案为:
一种基于FPGA的基2-2快速傅里叶变换硬件设计方法,采用16点基于串行蝶形单元的基22FFT的整体架构,此架构由四级相似的蝶形单元、旋转因子乘法器模块、正序输出模块和控制模块组成:每级蝶形单元电路结构和工作方式均相似,只是其中的移位寄存器深度按等比数列方式依次递减,分别为8、4、2、1;蝶型单元,其作用是对输入数据的实部和虚部进行加减运算,运算结果进入后面的旋转因子乘法器单元,实现数据与旋转因子相乘的功能,其中奇数级进入简单旋转因子乘法器单元,而偶数级进入通用旋转因子乘法器单元,其中第四级运算之后的旋转因子都为1;正序输出模块通过比特反位的方式将最终数据结果重新排序,使其按照正确的顺序输出;控制模块的作用是控制以上所有模块满足流水线时序要求、正常工作,其中,简单旋转因子乘法器的乘虚部操作通过将数据的实部取反后再把实部虚部换位完成;通用旋转因子乘法器单元需要将数据与旋转因子相乘,用移位和加法器构成无乘法器结构的常数乘法器。
优先地蝶形单元为采用如下的改进SDF蝶形架构:包括2个移位寄存器,2个加法器SRL1、SRL2和2个多路选择器MUX1、MUX2,其中2个移位寄存器被综合进同一个LUT,将2个多路选择器分别放在相应的加法器之前;多路选择器在控制信号的作用下,用于选择需要完成计算的两个数据,其中第一多路选择器用于选择第一移位寄存器SRL1中的数据或是这个数据按位取反之后的结果,第二多路选择器用于选择择已经被存入第二移位寄存器SRL2中的数据或是刚刚输入的数据;两个加法器分别完成由两个选择器所选数据的实部和虚部的相加操作。
蝶形单元工作流程为:输入数据依次进入SRL1、SRL2中,且每时钟周期右移一位,当控制信号S为1时,多路选择器MUX1依次输出SRL1中的数据,MUX2依次输出刚刚输入数据,S经过反相器后为0,则两个加法器分别完成两个多路选择器输出数据的实部和虚部的加法操作;当S为0时,MUX1依次输出SRL1中数据按位取反之后的结果,MUX2依次输出SRL2中存储的数据,S经过反相器后为1,则两个加法器分别完成两个多路选择器输出数据的实部和虚部的减法操作。
采用多常数乘法器MCM设计方法最大限度的复用不同旋转因子乘法器的相同部分。
附图说明
图1为16点频域抽取结构基22FFT整体架构示意图
图2为本设计的改进SDF结构的蝶形单元示意图
图3为传统SDF结构的蝶形单元示意图
图4为常数乘法器示意图
图5为通用旋转因子乘法器单元示意图
具体实施方式
本发明的基于FPGA的基2-2快速傅里叶变换硬件设计方法,采用16点基于串行蝶形单元的基22FFT的整体架构,此架构由四级相似的蝶形单元、旋转因子乘法器模块、正序输出模块和控制模块组成:每级蝶形单元电路结构和工作方式均相似,只是其中的移位寄存器深度按等比数列方式依次递减,分别为8、4、2、1。蝶型单元是核心运算单元,其作用是对输入数据的实部和虚部进行加减运算,运算结果进入后面的旋转因子乘法器单元,实现数据与旋转因子相乘的功能,其中奇数级进入简单旋转因子乘法器单元,而偶数级进入通用旋转因子乘法器单元,其中第四级运算之后的旋转因子都为1,故这个乘法器单元可以省略不计。正序输出模块通过比特反位的方式将最终数据结果重新排序,使其按照正确的顺序输出。控制模块主要由计数器组成,其作用是控制以上所有模块满足流水线时序要求、正常工作。
本设计的核心模块为蝶形单元,与传统的SDF结构相比,本设计的改进SDF蝶形架构由2个移位寄存器(SRL)、2个加法器和2个多路选择器组成,其中2个SRL可以被综合进同一个查找表LUT(Look-Up-Table),而且本设计将选择器放在加法器之前,可以有效利用一些空闲端口,因此可以进一步减少硬件资源占用,更高效的综合和布局布线。SRL用于暂存输入数据,使其满足流水线的时序要求;多路选择器在控制信号的作用下,用于选择需要完成计算的两个数据,其中多路选择器MUX1用于选择SRL1中的数据或是这个数据按位取反之后的结果,MUX2用于选择已经被存入SRL2中的数据或是刚刚输入的数据;两个加法器分别完成由两个选择器所选数据的实部和虚部的相加操作。工作流程为:输入数据依次进入SRL1、SRL2中,且每时钟周期右移一位,当控制信号S为1时,多路选择器MUX1依次输出SRL1中的数据,MUX2依次输出刚刚输入数据,S经过反相器后为0,则两个加法器分别完成两个多路选择器输出数据的实部和虚部的加法操作。当S为0时,MUX1依次输出SRL1中数据按位取反之后的结果,MUX2依次输出SRL2中存储的数据,S经过反相器后为1,则两个加法器分别完成两个多路选择器输出数据的实部和虚部的减法操作。
本设计还针对奇数处理级和偶数处理级分别设计出简单旋转因子乘法器单元和通用旋转因子乘法器单元。简单旋转因子乘法器的乘虚部操作通过将数据的实部取反后再把实部虚部换位完成。通用旋转因子乘法器单元需要将数据与旋转因子相乘,用移位和加法器构成无乘法器结构的常数乘法器,可以大大减少硬件资源占用,提高计算速度,同时采用多常数乘法器(Multiple-constant Multiplier,MCM)的设计方法最大限度的复用不同旋转因子乘法器的相同部分,进一步减少硬件资源占用。
正序输出模块和控制模块均采用常规方法设计:正序输出模块通过比特反位的方式将最终计算结果重新排序,即当前输出顺序比特反位之后的结果为正确的输入顺序;控制模块由一个4比特计数器构成,最高位为第一级的控制信号,最低位为第四级的控制信号,以此类推
下面结合附图对本发明进行详细说明。
如图1所示,给出了16点频域抽取的基22架构的FFT。此架构包含4级处理单元、控制模块和正序输出模块,每级处理单元都包括蝶形单元和旋转因子乘法器模块。其中第四级运算之后的旋转因子都为1,故此级乘法器单元可以省略不计。简单结构旋转因子乘法器使用菱形表示,通用旋转因子乘法器使用圆形表示。
具体的数据处理过程如下:
(1)第一级:本级控制信号命名为S1,从输入端口依次将数据读入移位寄存器中,且高位地址存储实部数据,低位地址存储虚部数据。前八个时钟周期S1为0,每个时钟周期数据在移位寄存器中的位置右移一位,8个时钟周期后,深度为8的存储单元SRL1已存满,从第九个时钟周期开始,S1变为1,SRL1中的数据依次移入SRL2中,同时,多路选择器MUX2输出第九个输入数据,MUX1输出SRL1中的第一个数据,S1取反为0,这两个数据和0在后面的加法器中完成三者的实部和虚部的相加操作。在第9~16个时钟周期内依次完成第一个与第九个,第二个与第十个,……第八个与第十六个数据的相加操作,且SRL2存满第1~8个数据,SRL1存满第9~16个数据。在第17~24个时钟周期内,S1变为0,MUX2依次输出SRL2中第1~8个数据,MUX1依次输出SRL1中第9~16个数据按位取反之后的结果,S1取反为1,在后面的加法器中完成这两个数据和数字1的相加操作(数据按位取反再加1就变成了负数,也就是实现了两数相减的操作)。第一级蝶形单元处理结束,即依次输出了8个数据相加结果和8个数据相减结果。输出数据依次进入简单结构旋转因子乘法器,对第12~16个数据完成乘虚数-j操作。
(2)第二级:本级控制信号命名为S2,第一级输出的前4个数据依次进入第二级的深度为4的SRL1中,前4个时钟周期S2为0,在接下来的5~8个时钟周期,S2变为1,完成4个加法操作,9~12个时钟周期,S2为0,完成4个减法操作,此时第一级的前8个加法结果已完成第二级的运算。第13~20个时钟周期,重复第5~12个时钟周期的操作,完成第一级的后8个减法结果在第二级的运算。输出结果依次进入通用旋转因子乘法器,通过控制单元依次完成常数乘法器操作。
(3)后面2级的数据处理过程和前两个步骤中描述的过程类似,当完成四级运算之后,数据进入正序输出模块,调整顺序之后,再串行输出。至此16点FFT运算结束。
接下来具体阐述FFT处理器核心创新模块的设计方法。
蝶形运算单元:
现代Xilinx FPGA的slice中的LUT可以用作一个分布式32位移位寄存器(SRL32)或两个16位移位寄存器(SRL16),因此长度为32或更短的移位寄存器可以被映射到分布式资源中,而较长的移位寄存器被映射到块RAM中。充分利用这一特性设计蝶形单元,可以有效减少硬件资源占用,本设计的蝶形单元中的两个SRL总共占用1个LUT。传统SDF结构的蝶形单元为“加减法器在选择器之前”的结构,在ISE软件上综合后,加法器被综合成一个二输入的LUT,加法器的输出和后面的多路选择器被综合成1个三输入的LUT。而当使用输入端口数大于2的LUT执行两个数据的加法操作时,只使用了两个端口,其余的都是空闲的,就会导致上述硬件资源浪费的现象。但是,如果将其他逻辑输入连接到这些空闲端口,则可以充分利用硬件资源,减少不必要的浪费,更高效的综合和布局布线。因此将选择器放在加法器之前,这两者就会被综合进同一个LUT中,就能达到充分利用空闲输入端口、减少硬件占用的目的。基于这两点思想设计的蝶形单元理论上只需要占用2个LUT,相比于传统结构的3.5个,减少了43%,因此可以大大减少硬件资源消耗。但由于LUT最多可以被用作32位移位寄存器(SRL32),因此当处理点数大于64时,这种新架构的减少硬件消耗优势就有所下降,但此架构具有与SDF和SDC架构相同的控制结构和数据顺序,因此,可以将三者灵活组合构成混合架构,在小点数处理时使用此架构,大点数处理时采用SDF或SDC架构。
此外,将减法操作改为减数取负数,即按位取反再+1之后的结果,并将+1操作并入后续的加法器中占用进位cin形成一个三元加法器结构,而若是分别计算减数按位取反后的+1操作和后续的二元加法器操作,则会形成两个二元加法器。因此这一改动也会减少硬件资源消耗。
以第三级蝶形单元的数据时序表来说明其工作原理:
第三级的控制信号变化周期为4个时钟周期。
1~2个时钟周期时,S=0,数据x0、x1依次存入SRL1中,3~4个时钟周期,S=1,数据x2、x3依次存入SRL1中,且原来的数据x0、x1依次右移进入SRL2中,MUX1依次输出x0、x1,MUX2依次输出input信号x2、x3,S经过反相器后为0,两个加法器分别完成x0+x2、x1+x3的实部和虚部加法操作。5~6个时钟周期,S=0,数据x4、x5依次存入SRL1中,且原来的数据x2、x3依次右移进入SRL2中,MUX1依次输出x2、x3按位取反之后的结果,MUX2依次输出SRL2中存储的数据x0、x1,S经过反相器后为1,两个加法器分别完成x0+(~x2)+1、x1+(~x3)+1的加法操作,即x0-x2、x1-x3的实部和虚部减法操作。至此,四个数据的蝶形运算结束。
旋转因子乘法器单元:
对于奇数级处理之后的简单旋转因子乘法器单元,需要对数据进行乘虚部操作,由公式(1)可知
(a+bj)(-j)=b-aj (1)
只需将实部取反后再把实部虚部换位即可。第一级处理后的简单旋转因子乘法器单元只需对本级蝶形运算单元的后四个输出数据进行乘虚部操作,这种情况时计数器前两位为“01”,第三级处理后的简单旋转因子乘法器单元只需对本级蝶形运算单元的最后一个输出数据进行乘虚部操作,这种情况时计数器后两位为“01”,因此可用计数器数值作为控制信号,满足条件的数据进行乘虚部操作,其余数据直接进入下一级处理。
对于第二级处理之后的通用旋转因子乘法器单元,根据公式(2)可知
(xre+jxim)(cosa-jsina)=(xre cosa+xim sina)+j(xim cosa-xre sina) (2)
需要将数据的实部、虚部分别与旋转角度的正弦、余弦值相乘再相加减,由旋转因子W16系数表可知
只需要设计出0.9239、0.3827、0.7071三种数值的常数乘法器即可。而整数的常数乘法器设计更加简单,因此可以采用系数放大的方式设计成整数常数乘法器,即扩大28倍后为236、97、181,最后再将乘法结果右移8位缩小为近似的正确值。这三个常数的乘法器设计图如图4所示,采用多常数乘法器(Multiple-constant Multiplier,MCM)的设计方法,用移位和加法器来代替普通的乘法器,并且最大限度的复用组成这三个数据的常数乘法器的相同部分,从而大大减少硬件资源占用,提高计算速度。图5为通用旋转因子乘法器示意图,输入数据的实部和虚部分别进入图4的常数乘法器模块后,得到扩大236、97、181倍后的三个值,再将其缩小28倍后得到乘0.9239、0.3827、0.7071的三个值,通过乘法结果旋转器从中选出相应的结果,实部和虚部的两个结果相加减即可得到通用旋转因子乘法器单元的最终值。
Reg | Luts | Slices | |
传统蝶形架构 | 399 | 625 | 170 |
本设计的改进蝶形架构 | 128 | 393 | 122 |
减少百分比 | 67.9% | 37.1% | 28.2% |
将本设计的改进蝶形单元的16点基22FFT架构用硬件描述语言Verilog HDL进行编码,并在Xilinx Virtex-6上进行仿真,硬件开销结果如下表所示,与传统蝶形架构对比,可以看出本设计的架构能够大大减少硬件资源占用率。
Claims (4)
1.一种基于FPGA的基2-2快速傅里叶变换硬件设计方法,采用16点基于串行蝶形单元的基22FFT的整体架构,此架构由四级相似的蝶形单元、旋转因子乘法器模块、正序输出模块和控制模块组成:每级蝶形单元电路结构和工作方式均相似,只是其中的移位寄存器深度按等比数列方式依次递减,分别为8、4、2、1;蝶型单元,其作用是对输入数据的实部和虚部进行加减运算,运算结果进入后面的旋转因子乘法器单元,实现数据与旋转因子相乘的功能,其中奇数级进入简单旋转因子乘法器单元,而偶数级进入通用旋转因子乘法器单元,其中第四级运算之后的旋转因子都为1;正序输出模块通过比特反位的方式将最终数据结果重新排序,使其按照正确的顺序输出;控制模块的作用是控制以上所有模块满足流水线时序要求、正常工作,其中,简单旋转因子乘法器的乘虚部操作通过将数据的实部取反后再把实部虚部换位完成;通用旋转因子乘法器单元需要将数据与旋转因子相乘,用移位和加法器构成无乘法器结构的常数乘法器。
2.根据权利要求1所述的设计方法,其特征在于,蝶形单元为采用如下的改进SDF蝶形架构:包括2个移位寄存器,2个加法器SRL1、SRL2和2个多路选择器MUX1、MUX2,其中2个移位寄存器被综合进同一个LUT,将2个多路选择器分别放在相应的加法器之前;多路选择器在控制信号的作用下,用于选择需要完成计算的两个数据,其中第一多路选择器用于选择第一移位寄存器SRL1中的数据或是这个数据按位取反之后的结果,第二多路选择器用于选择择已经被存入第二移位寄存器SRL2中的数据或是刚刚输入的数据;两个加法器分别完成由两个选择器所选数据的实部和虚部的相加操作。
3.根据权利要求1所述的设计方法,其特征在于,蝶形单元工作流程为:输入数据依次进入SRL1、SRL2中,且每时钟周期右移一位,当控制信号S为1时,多路选择器MUX1依次输出SRL1中的数据,MUX2依次输出刚刚输入数据,S经过反相器后为0,则两个加法器分别完成两个多路选择器输出数据的实部和虚部的加法操作;当S为0时,MUX1依次输出SRL1中数据按位取反之后的结果,MUX2依次输出SRL2中存储的数据,S经过反相器后为1,则两个加法器分别完成两个多路选择器输出数据的实部和虚部的减法操作。
4.根据权利要求1所述的设计方法,其特征在于,采用多常数乘法器MCM设计方法最大限度的复用不同旋转因子乘法器的相同部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910978042.5A CN110765709B (zh) | 2019-10-15 | 2019-10-15 | 一种基于fpga的基2-2快速傅里叶变换硬件设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910978042.5A CN110765709B (zh) | 2019-10-15 | 2019-10-15 | 一种基于fpga的基2-2快速傅里叶变换硬件设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110765709A true CN110765709A (zh) | 2020-02-07 |
CN110765709B CN110765709B (zh) | 2023-08-29 |
Family
ID=69332009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910978042.5A Active CN110765709B (zh) | 2019-10-15 | 2019-10-15 | 一种基于fpga的基2-2快速傅里叶变换硬件设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765709B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732339A (zh) * | 2021-01-20 | 2021-04-30 | 上海微波设备研究所(中国电子科技集团公司第五十一研究所) | 一种分时复用时间抽取fft实现方法、系统及介质 |
CN112799634A (zh) * | 2021-01-18 | 2021-05-14 | 南京航空航天大学 | 一种基于基22mdc ntt结构的高性能环多项式乘法器 |
CN112966209A (zh) * | 2021-03-11 | 2021-06-15 | 北京理工大学 | 一种fft处理器及其处理数据的方法 |
CN113378110A (zh) * | 2021-06-11 | 2021-09-10 | 电子科技大学 | 一种基于rns动态范围扩展fft系统 |
CN113449256A (zh) * | 2021-07-13 | 2021-09-28 | 湖南大学 | 基于忆阻器的可编程fft算法及其电路结构 |
CN114186183A (zh) * | 2021-12-01 | 2022-03-15 | 中国电子科技集团公司第二十研究所 | 一种轻量化的fft运算方法及其实现装置 |
CN115080503A (zh) * | 2022-07-28 | 2022-09-20 | 中国人民解放军63921部队 | 一种针对fft基模块映射的脉动阵列可重构处理器 |
CN117555515A (zh) * | 2024-01-11 | 2024-02-13 | 成都市晶蓉微电子有限公司 | 一种用于平衡性能与面积的数字asic串并结合乘法器 |
CN117892694A (zh) * | 2024-03-14 | 2024-04-16 | 中国石油大学(华东) | 一种fft旋转因子索引生成电路及其设计方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080062003A (ko) * | 2006-12-28 | 2008-07-03 | 삼성전자주식회사 | 기수 2의 제곱 구조를 이용하는 가변적인 입력 크기를허용하는 파이프라인 방식의 고속 푸리에 변환 장치 및방법 |
CN107544942A (zh) * | 2017-07-13 | 2018-01-05 | 天津大学 | 一种快速傅里叶变换的vlsi设计方法 |
CN109522674A (zh) * | 2018-12-05 | 2019-03-26 | 天津大学 | 基2-2算法的快速傅里叶变换硬件设计方法 |
-
2019
- 2019-10-15 CN CN201910978042.5A patent/CN110765709B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080062003A (ko) * | 2006-12-28 | 2008-07-03 | 삼성전자주식회사 | 기수 2의 제곱 구조를 이용하는 가변적인 입력 크기를허용하는 파이프라인 방식의 고속 푸리에 변환 장치 및방법 |
CN107544942A (zh) * | 2017-07-13 | 2018-01-05 | 天津大学 | 一种快速傅里叶变换的vlsi设计方法 |
CN109522674A (zh) * | 2018-12-05 | 2019-03-26 | 天津大学 | 基2-2算法的快速傅里叶变换硬件设计方法 |
Non-Patent Citations (3)
Title |
---|
MARIO GARRIDO等: "The Serial Commutator FFT", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II:EXPRESS BRIEFS》, vol. 63, no. 10, pages 1 - 8 * |
MICHAEL PARKER等: "Multi-GSPS FFTs using FPGAs", 《2016 IEEE NATIONAL AEROSPACE AND ELECTRONICS CONFERENCE (NAECON)AND OHIO INNOVATION SUMMIT (OIS)》, pages 1 - 7 * |
张为: "一种高性能快速傅里叶变换的硬件设计", 《西安电子科技大学学报(自然科学版)》, vol. 45, no. 3, pages 63 - 67 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799634A (zh) * | 2021-01-18 | 2021-05-14 | 南京航空航天大学 | 一种基于基22mdc ntt结构的高性能环多项式乘法器 |
CN112799634B (zh) * | 2021-01-18 | 2024-03-29 | 南京航空航天大学 | 一种基于基22mdc ntt结构的高性能环多项式乘法器 |
CN112732339B (zh) * | 2021-01-20 | 2022-09-13 | 上海微波设备研究所(中国电子科技集团公司第五十一研究所) | 一种分时复用时间抽取fft实现方法、系统及介质 |
CN112732339A (zh) * | 2021-01-20 | 2021-04-30 | 上海微波设备研究所(中国电子科技集团公司第五十一研究所) | 一种分时复用时间抽取fft实现方法、系统及介质 |
CN112966209A (zh) * | 2021-03-11 | 2021-06-15 | 北京理工大学 | 一种fft处理器及其处理数据的方法 |
CN113378110A (zh) * | 2021-06-11 | 2021-09-10 | 电子科技大学 | 一种基于rns动态范围扩展fft系统 |
CN113449256B (zh) * | 2021-07-13 | 2023-08-18 | 湖南大学 | 基于忆阻器的可编程fft方法及其电路结构 |
CN113449256A (zh) * | 2021-07-13 | 2021-09-28 | 湖南大学 | 基于忆阻器的可编程fft算法及其电路结构 |
CN114186183A (zh) * | 2021-12-01 | 2022-03-15 | 中国电子科技集团公司第二十研究所 | 一种轻量化的fft运算方法及其实现装置 |
CN114186183B (zh) * | 2021-12-01 | 2024-04-16 | 中国电子科技集团公司第二十研究所 | 一种轻量化的fft运算方法及其实现装置 |
CN115080503A (zh) * | 2022-07-28 | 2022-09-20 | 中国人民解放军63921部队 | 一种针对fft基模块映射的脉动阵列可重构处理器 |
CN117555515A (zh) * | 2024-01-11 | 2024-02-13 | 成都市晶蓉微电子有限公司 | 一种用于平衡性能与面积的数字asic串并结合乘法器 |
CN117555515B (zh) * | 2024-01-11 | 2024-04-02 | 成都市晶蓉微电子有限公司 | 一种用于平衡性能与面积的数字asic串并结合乘法器 |
CN117892694A (zh) * | 2024-03-14 | 2024-04-16 | 中国石油大学(华东) | 一种fft旋转因子索引生成电路及其设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110765709B (zh) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765709B (zh) | 一种基于fpga的基2-2快速傅里叶变换硬件设计方法 | |
CN107544942B (zh) | 一种快速傅里叶变换的vlsi设计方法 | |
CN101847137B (zh) | 一种实现基2fft计算的fft处理器 | |
CN100390782C (zh) | 一种实时快速傅立叶变换电路 | |
CN112231626A (zh) | 一种fft处理器 | |
Wang et al. | Design of pipelined FFT processor based on FPGA | |
Ramachandran et al. | Performance analysis of mantissa multiplier and dadda tree multiplier and implementing with DSP architecture | |
Kala et al. | High throughput, low latency, memory optimized 64K point FFT architecture using novel radix-4 butterfly unit | |
Singh et al. | Design of radix 2 butterfly structure using vedic multiplier and CLA on xilinx | |
Badar et al. | High speed FFT processor design using radix− 4 pipelined architecture | |
JP2001101160A (ja) | 高速フーリエ変換用データ記憶パターン | |
Wang et al. | An area-and energy-efficient hybrid architecture for floating-point FFT computations | |
Laguri et al. | VLSI implementation of efficient split radix FFT based on distributed arithmetic | |
Kumar et al. | Implementation of Area Efficient Pipelined R2 2 SDF FFT Architecture | |
Mookherjee et al. | A hardware efficient technique for linear convolution of finite length sequences | |
CN112597432A (zh) | 基于fft算法的复序列互相关在fpga上的加速实现方法及系统 | |
Parvatham et al. | A novel architecture for an efficient implementation of image compression using 2D-DWT | |
Malviya | Design and Verification of High-Speed Radix-2 Butterfly FFT Module for DSP Applications | |
Biswas et al. | Analysis of Area Efficient Parallel FIR Filters using FPGA | |
Singh et al. | Minimum Path Delay for Discrete Hartley Transform using XOR-XNOR Technique | |
Chen et al. | Fpga implementation of high speed fft algorithm based on split-radix | |
Mangaiyarkarasi et al. | Simulation of 32-Point Split-Radix Multipath Delay Commutator (SRMDC) based FFT Architecture | |
CN101296211A (zh) | 3780点离散傅立叶变换处理器 | |
Jing et al. | A configurable FFT processor | |
Kumar et al. | Complex-multiplier implementation for pipelined FFTs in FPGAs |
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 |