CN104657334B - 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用 - Google Patents
一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用 Download PDFInfo
- Publication number
- CN104657334B CN104657334B CN201410834299.0A CN201410834299A CN104657334B CN 104657334 B CN104657334 B CN 104657334B CN 201410834299 A CN201410834299 A CN 201410834299A CN 104657334 B CN104657334 B CN 104657334B
- Authority
- CN
- China
- Prior art keywords
- base
- unit
- radix
- algorithm
- butterfly
- 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
Landscapes
- Complex Calculations (AREA)
Abstract
本发明涉及一种快速傅里叶变化的基2‑4‑8混合基蝶算器,包括基2单元、基4单元以及基8单元,所述基8单元包括主要由第一复数加法器、实数运算单元连接组成的前置运算单元与基4单元,所述前置运算单元通过第一寄存器与所述基4单元连接,所述基8单元、基4单元以及基2单元并接形成流水线架构。益效果为:相对于完整的基8蝶形运算器资源开销小使用更加灵活,同时有良好的并行性来满足高吞吐率系统的需求;基2‑4‑8混合基的结构使蝶算器可以像基2算法一样可以支持2的整数次幂点的序列长度。
Description
技术领域
本发明涉及一种应用在数字信号处理中的快速傅里叶变换数字集成电路设计,尤其是一种快速傅里叶变化的基2-4-8混合基蝶算器。
背景技术
1965年Cooley和Tukey提出快速傅里叶变换算法,利用旋转因子的周期性和对称性,把长序列的DFT分解成更小点数的DFT从而减少乘法次数提高计算效率。此算法一经问世就得到极大关注,并迅速发展出现了很多相关的算法。1968年Bergland对FFT的基2,基4算法进行了改进推导出了基8、基16算法。FFT算法被广泛运用于雷达系统、图像处理、通信系统、航天航空等领域,随着对系统性能指标要求的提升、传统的基2算法已不能满足雷达、通信和电子对抗等高速处理系统的计算要求,采用高基数算法成为提高FFT处理速度的主要途径之一。
目前,公知的快速傅立叶变换模块多采用蝶形运算器完成运算。但是蝶形运算器的大小,蝶算器采用的算法都会对FFT模块的性能产生影响。蝶算器越大,快速傅立叶变换运算并行度越大,FFT模块的性能越高,同时开销也越大,即数字电路设计所消耗的逻辑资源多、芯片面积大。蝶形运算器可以采用不同的2的整数次幂作为基,如基2、基4以及基8等算法。对于基2算法实现最为直接可以支持2的整数次幂点长度序列的FFT运算。基2算法虽然简单且易于实现,但是在源数据序列较长的大点数FFT运算时所需要的运算级数也最多,如2的n次幂点长度的序列需要进行n级运算才能完成快速傅里叶变换。基4、基8等高基的算法可以有效减少长序列的运算技术从而提高性能,但是高基数的算法也存在一定的局限:第一,高基数算法的蝶算器设计相对复杂,如一个完整基8蝶形运算器比基2蝶算器的资源开销大4倍以上,同时对访存的带宽的需求是基2蝶形运算器的4倍;第二,高基的蝶算器不能像基2算法一样支持的2整数次幂的序列长度,而是所选用高基算法的基数的整数次幂。例如,基8算法支持的序列长度应为8的整数次幂点。当需要运算的长度越大时,高基数的FFT算法带来的性能提升也越明显。
发明内容
本发明目的在于克服以上现有技术之不足,提供一种对于大数据量、大点数的数据处理有很好的性能提升的快速傅里叶变化的基2-4-8混合基蝶算器,具体有以下技术方案实现:
所述快速傅里叶变化的基2-4-8混合基蝶算器,包括基2单元、基4单元以及基8单元,所述基8单元包括主要由第一复数加法器、实数运算单元连接组成的前置运算单元与基4单元,所述前置运算单元通过第一寄存器与所述基4单元连接,所述基8单元、基4单元以及基2单元并接形成流水线架构。
所述快速傅里叶变化的基2-4-8混合基蝶算器的进一步设计在于,所述基8单元的前置运算单元还包括第二寄存器,所述实数运算单元的输入端连接复数加法器的输出端,输出端连接所述第一寄存器,所述第一复数加法器通过所述第二寄存器与第一寄存器连接,所述实数运算单元由两条运算支路并接组成,每条运算支路由一个实数加法器与一个实数乘法器串接组成。
所述快速傅里叶变化的基2-4-8混合基蝶算器的进一步设计在于,所述基2单元为一个复数加法器。
所述快速傅里叶变化的基2-4-8混合基蝶算器的进一步设计在于,所述基4单元包括第一复数加法单元、第二复数加法单元以及流水线寄存器,所述每个复数加法单元由两个复数加法器并接组成,第一复数加法单元通过所述流水线寄存器与第二复数加法单元连接。
所述快速傅里叶变化的基2-4-8混合基蝶算器的进一步设计在于,各运算单元与寄存器之间的通过配置相应参数从而选通多路复选器实现通信连接,采用流水线的方式完成基8算法,每个周期执行完整基8算法的1/8。
根据上述的快速傅里叶变化的基2-4-8混合基蝶算器,提供一种基2-4-8混合基蝶算器的应用,所述混合基蝶算器支持2的整数次幂长的FFT变换。
本发明的优点如下:
本发明提供的蝶形运算器的有益效果在于相对于完整的基8蝶形运算器资源开销小使用更加灵活,同时有良好的并行性来满足高吞吐率系统的需求;基2-4-8混合基的结构使蝶算器可以像基2算法一样可以支持2的整数次幂点的序列长度。
附图说明
图1是基8运算旋转因子的对称性示意图。
图2是基8蝶形运算示意图。
图3是基2与基2-4-8混合基算法运算复杂度对比示意图。
图4是FFT蝶形运算模块的结构图。
图5是FFT蝶形运算混合基结构图。
图6是并行采用两组本蝶形运算器示意图。
图7基2-4-8混合基蝶算器与基2蝶算器实施例性能对照示意图。
具体实施方式
下面结合附图对本发明方案进行详细说明。
由离散傅立叶变换(DFT)的定义,有
为旋转因子,
其中,
对点数N=2L、L为整数的复数序列x(n),n=0,1,...,N-1,进行按频率抽取(DIF)的基-8FFT变换。
由FFT的定义,有
再利用旋转因子的周期性和对称性,将上式化为
式中具有对称性。如图1中所示完成一组基8的蝶形运算需要的计算操作包括(1,0)(0,1),(-1,0),(0,-0),
在图2中示意了完成基8蝶型运算需要的计算步骤,其中包括了3级加减运算以及3级与固定旋转因子的乘法运算。加减法运算采用浮点数加减法运算单元来执行,对于旋转因子的乘法运算考虑到旋转因子的特殊性,(1,0),(0,1),(-1,0),(0,-1)采用数据符号位取反,以及交换数据的实部和虚部完成,这样既提高了效率也节省了资源开销。对于这样的旋转因子则对数据的实部虚部分别与相乘,然后对结果符号位取反,以及交换数据的实部和虚部完成。相比于基8的蝶形运算基4基2的蝶形运算需要相乘的选择因子为(1,0),(0,1),(-1,0),(0,-1)和(1,0),(-1,0),这样的乘法运算可以通过数据符号位取反,以及交换数据的实部和虚部完成。所以基8蝶形运算器本身已经具备了完成基2、基4蝶形运算的硬件资源,利用基8蝶形运算的这个特点,本发明设计了基2-4-8混合蝶形运算器,这种蝶算器通过配置信号和复选器可以完成基2、基4以及基8的蝶形运算。
由FFT公式可知点数为n的序列做FFT变换的运算复杂度为n*log2 n,其中n为序列长度,log2 n为FFT变换所需级数。本设计中采用的基2-4-8混合基算法通过高基数的蝶算器使得运算复杂度降低至接近基2算法的1/3。如图3所示,在序列长度为8的整数次幂时,基2-4-8混合基算法运算效率最高,为基2算法的1/3。当序列长度不为8的整数次幂时基2-4-8混合基算法运算复杂度会略高于基2算法的1/3,并且随着序列长度的增加越来越接近1/3。如对于序列长度为2K点32K点和128K点的混合算法运算复杂度为基2算法运算复杂度的36.4%、35.7%和35.2%。
在图4中,示意了本蝶形运算的结构,在一个蝶算器中使用了6个复数加法运算单元,2个实数加法运算单元,1个复数乘法运算单元和2个实数乘法运算单元以及构成流水架构的寄存器。运算单元之间的互联通过配置相应参数从而选通多路复选器来完成。
在图5中示意了设计中蝶算器的混合基结构,在基2、基4和基8算法中,基8的算法最为复杂同时也包含了基2算法和基4算法中所需的必要运算。本设计利用FFT不同基算法的这一特性,在基8蝶算器的基础上进行优化使得在增加了小量开销之后可以兼容基2和基4蝶算器的功能。图4中以虚线框标出当蝶算器工作于不同基的算法时所使用的电路。
本实施例提供的快速傅里叶变化的基2-4-8混合基蝶算器,主要由基2单元、基4单元以及基8单元组成。基8单元包括主要由第一复数加法器、实数运算单元连接组成的前置运算单元与基4单元。前置运算单元通过第一寄存器与基4单元连接,基8单元、基4单元以及基2单元并接形成流水线架构。
进一步的,基8单元的前置运算单元还包括第二寄存器,实数运算单元的输入端连接复数加法器的输出端,输出端连接第一寄存器,第一复数加法器通过第二寄存器与第一寄存器连接,实数运算单元由两条运算支路并接组成,每条运算支路由一个实数加法器与一个实数乘法器串接组成。
本实施例提供的基2单元为一个复数加法器。
进一步的,基4单元主要由第一复数加法单元、第二复数加法单元以及流水线寄存器组成。每个复数加法单元由两个复数加法器并接组成,第一复数加法单元通过流水线寄存器与第二复数加法单元连接。
当需要运算的长度越大时,高基数的FFT算法带来的性能提升也越明显。为了有效利用基8算对运算的性能提升的同时解决基8算法蝶形运算器的灵活性问题,设置各运算单元与寄存器之间的通过配置相应参数从而选通多路复选器实现通信连接,采用流水线的方式完成基8算法,每个周期执行完整基8算法的1/8。相对于完整的基8蝶形运算器资源开销小,使用更加灵活,基2-4-8混合基的结构使蝶算器可以向基2算法一样可以支持2的整数次幂点的序列长度。
为证明进一步验证本设计在实际应用中的性能与灵活性,以一款采用2组上述基2-4-8混合基蝶算器实现的数字集成电路设计为例,说明本发明的优势。
本实施例提供的的蝶算器是一种资源开销较小的设计,使其可以在运算资源有限的条件完成基8算法的FFT运算,与此同时本发明的蝶形运算器在资源足够但是对计算性能要求高的条件下有着很好的可并行性。在图6中具体说明本实施例中以两个混合基蝶形运算器完成64点FFT运算的过程。图中实线和虚线分别表示两个蝶形运算器各自执行的运算内容。64点的数据需要2级基8运算完成傅立叶变换,在第一级运算中蝶形运算器BU1计算x2n,BU2计算x2n+1,其中n=0,1,2,3…31。在第2级基8运算中BU1计算xn,BU2计算x32+n,其中n=0,1,2,3…31。从而可见本设计的基2-4-8混合基运算单元有良好的灵活性与可并行性。
本实施例完成的设计可支持序列长度为64至256K复数点的FFT变换,工作主频达1GHz。为说明性能上的优势,图7展示了本实施例与采用基2蝶形运算器的FFT数字集成电路设计对于不同长度序列的FFT变换时的性能对照。可见本设计的基2-4-8混合基蝶算器在实施应用中有很好的性能优势,并随着序列长度的增加性能优势越明显,序列长度为256K点时加速比可达2.83倍。
Claims (3)
1.一种快速傅里叶变化的基2-4-8混合基蝶算器,其特征在于包括基2单元与基8单元,所述基8单元包括由第一复数加法器、实数运算单元连接组成的前置运算单元与基4单元,所述前置运算单元通过第一寄存器与所述基4单元连接,所述基8单元、基4单元以及基2单元并接形成流水线架构;各运算单元与寄存器之间的通过配置相应参数从而选通多路复选器实现通信连接,采用流水线的方式完成基8算法,每个周期执行完整基8算法的1/8;
所述基2单元为一个复数加法器;所述基4单元由第一复数加法单元、第二复数加法单元以及流水线寄存器组成,每个复数加法单元由两个复数加法器并接组成,第一复数加法单元通过流水线寄存器与复数加法单元连接。
2.根据权利要求1所述的快速傅里叶变化的基2-4-8混合基蝶算器,其特征在于所述基8单元的前置运算单元还包括寄存器,所述实数运算单元的输入端连接复数加法器的输出端,输出端连接所述第一寄存器,所述第一复数加法器通过所述寄存器与第一寄存器连接,所述实数运算单元由两条运算支路并接组成,每条运算支路由一个实数加法器与一个实数乘法器串接组成。
3.如权利要求1-2任一项所述的快速傅里叶变化的基2-4-8混合基蝶算器的应用,其特征在于所述混合基蝶算器支持2的整数次幂长的FFT变换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410834299.0A CN104657334B (zh) | 2014-12-29 | 2014-12-29 | 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410834299.0A CN104657334B (zh) | 2014-12-29 | 2014-12-29 | 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104657334A CN104657334A (zh) | 2015-05-27 |
CN104657334B true CN104657334B (zh) | 2018-12-28 |
Family
ID=53248484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410834299.0A Active CN104657334B (zh) | 2014-12-29 | 2014-12-29 | 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104657334B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951394A (zh) * | 2017-03-27 | 2017-07-14 | 南京大学 | 一种可重构定浮点通用fft处理器 |
CN109117188B (zh) * | 2018-08-06 | 2022-11-01 | 合肥工业大学 | 一种多路混合基fft可重构蝶形运算器 |
CN109815438A (zh) * | 2019-01-21 | 2019-05-28 | 清华大学 | 基于混合基运算的高效能浮点fft硬件加速器设计方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002132747A (ja) * | 2000-10-30 | 2002-05-10 | Nec Corp | Fft演算回路 |
CN102339271A (zh) * | 2010-07-15 | 2012-02-01 | 中国科学院微电子研究所 | 一种基8的快速傅立叶变换实现系统及方法 |
CN102955760A (zh) * | 2011-08-23 | 2013-03-06 | 上海华魏光纤传感技术有限公司 | 基于dif的基-2并行fft处理器及其处理方法 |
US8838661B2 (en) * | 2010-12-07 | 2014-09-16 | International Business Machines Corporation | Radix-8 fixed-point FFT logic circuit characterized by preservation of square root-i operation |
-
2014
- 2014-12-29 CN CN201410834299.0A patent/CN104657334B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002132747A (ja) * | 2000-10-30 | 2002-05-10 | Nec Corp | Fft演算回路 |
CN102339271A (zh) * | 2010-07-15 | 2012-02-01 | 中国科学院微电子研究所 | 一种基8的快速傅立叶变换实现系统及方法 |
US8838661B2 (en) * | 2010-12-07 | 2014-09-16 | International Business Machines Corporation | Radix-8 fixed-point FFT logic circuit characterized by preservation of square root-i operation |
CN102955760A (zh) * | 2011-08-23 | 2013-03-06 | 上海华魏光纤传感技术有限公司 | 基于dif的基-2并行fft处理器及其处理方法 |
Non-Patent Citations (4)
Title |
---|
一种高性能FFT蝶形运算单元的设计;荣瑜等;《东南大学学报(自然科学版)》;20070720;第565-568页 * |
基于 FPGA 的级联结构FFT处理器的优化设计;张竺君;《现代电子技术》;20091115;第141-143页 * |
基于FPGA的高速基4FFT设计与实现;王金川;《物联网技术》;20120715;第38-41页 * |
实时成像多核计算系统设计及大点数FFT优化;韩峰;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130815;第2.3.2、4.1节,图3-1 * |
Also Published As
Publication number | Publication date |
---|---|
CN104657334A (zh) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cheng et al. | High-throughput VLSI architecture for FFT computation | |
US20070266070A1 (en) | Split-radix FFT/IFFT processor | |
Huang et al. | CORDIC based fast radix-2 DCT algorithm | |
Nguyen et al. | A high-performance, resource-efficient, reconfigurable parallel-pipelined FFT processor for FPGA platforms | |
CN102760117B (zh) | 一种实现矢量运算的方法和系统 | |
Wang et al. | Novel memory reference reduction methods for FFT implementations on DSP processors | |
Oruklu et al. | Reduced memory and low power architectures for CORDIC-based FFT processors | |
CN104657334B (zh) | 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用 | |
Xiao et al. | Reduced memory architecture for CORDIC-based FFT | |
CN108021781A (zh) | 一种可参数化的fft ip核设计和优化方法 | |
Wang et al. | Design of pipelined FFT processor based on FPGA | |
CN112231626A (zh) | 一种fft处理器 | |
Revanna et al. | A scalable FFT processor architecture for OFDM based communication systems | |
CN112559954B (zh) | 基于软件定义可重构处理器的fft算法处理方法及装置 | |
Singh et al. | Design of radix 2 butterfly structure using vedic multiplier and CLA on xilinx | |
Patil et al. | An area efficient and low power implementation of 2048 point FFT/IFFT processor for mobile WiMAX | |
Banerjee et al. | A Novel Paradigm of CORDIC-Based FFT Architecture Framed on the Optimality of High-Radix Computation | |
Nguyen et al. | An FPGA-based implementation of a pipelined FFT processor for high-speed signal processing applications | |
Vergara et al. | A 195K FFT/s (256-points) high performance FFT/IFFT processor for OFDM applications | |
Valencia et al. | Compact and high‐throughput parameterisable architectures for memory‐based FFT algorithms | |
Qu et al. | High real-time design of digital pulse compression based on FPGA | |
Malladhi et al. | Novel architecture of FFT implementation for 5G module using machine learning algorithms | |
Karlsson et al. | Cost-efficient mapping of 3-and 5-point DFTs to general baseband processors | |
Cetin et al. | Real-time fft computation using gpgpu for OFDM-based systems | |
Kannan et al. | FPGA implementation of FFT architecture using modified Radix-4 algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |