CN103761074A - 一种流水结构定点fft字长配置方法 - Google Patents
一种流水结构定点fft字长配置方法 Download PDFInfo
- Publication number
- CN103761074A CN103761074A CN201410038044.3A CN201410038044A CN103761074A CN 103761074 A CN103761074 A CN 103761074A CN 201410038044 A CN201410038044 A CN 201410038044A CN 103761074 A CN103761074 A CN 103761074A
- Authority
- CN
- China
- Prior art keywords
- word length
- fft
- output
- input
- template
- 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
Landscapes
- Complex Calculations (AREA)
Abstract
本发明在保证R22SDF定点FFT输出SQNR的情况下,实现节省存储资源的目标,提出一种流水结构定点FFT字长配置方法,首先按照每级加减法运算按照运算法则产生进位,即字长增加一位,计算一个基22FFT从输入到输出各级运算的字长,以此字长配置方案作为一个待优化的方案的模板;然后针对该模板,在保持每一级乘法的运算输入输出的数据字长不变的情况下,按照SQNR要求降低各级加减法运算的字长,确定字长配置方案;最后,根据前面确定的字长配置方案进行FFT算法的硬件实现,设计相应的带有截位器的基本蝶形运算单元,并且按照单路延时反馈的电路结构进行FFT的硬件实现。
Description
技术领域
本发明属于数字信号处理技术领域,涉及一种流水结构定点FFT字长配置方法。
背景技术
FFT算法是一种实现的DFT(离散傅里叶变换)的有效的快速算法,随着大规模集成电路和数字信号处理技术的发展,FFT算法具有不可替代的作用,广泛应用于雷达、声纳、通信等领域。一种高精度、高实时性且资源占用少的FFT实现算法一直是该领域的重要研究课题,在不同的应用需求下可以采用不同的实现方式。
FFT算法在实现时可以采用定点或者浮点的数据格式,浮点FFT精度高,但是由于采用了浮点的数据格式,存储资源消耗大,并且浮点运算相对复杂,所以运算速度也相对缓慢。定点FFT具有存储资源占用少、运算速度快等优势,虽然定点运算会产生量化噪声,但是采用适当的字长,在相应的工程指标要求下,可以很好地完成系统中的FFT运算。虽然定点FFT具备很多优势,但是一直缺少一种科学有效的字长配置方法,工程应用中多数是通过经验配置定点FFT各级字长,这对定点FFT性能有较大影响,本发明在一定理论模型的基础上,提出一种可以作为依据的行之有效的定点FFT各级字长配置方法。
传统的FFT结构包括基于存储的、流水的、阵列的和缓存结构的,在高实时性系统当中,流水结构的FFT是经常被采用的,流水结构在实现高实时性的同时,代价是占用的存储资源较大,定点FFT各级字长的配置直接影响到各级分配的存储容量,所以一种在保证FFT性能的前提下,尽可能优化的字长配置对于节省存储容量是十分重要的,本发明保证了定点FFT性能的同时,针对流水结构进行优化,使得存储资源得以节省。
发明内容
本发明的目的是为了克服已有技术的缺陷,在保证R22SDF(基22单路延时反馈)定点FFT输出SQNR(信号-量化噪声功率比)的情况下,实现节省存储资源的目标,提出一种流水结构定点FFT字长配置方法。
为了解决上述技术问题,技术方案如下:
一种流水结构定点FFT字长配置方法,首先按照每级加减法运算按照运算法则产生进位,即字长增加一位,计算一个基22FFT从输入到输出各级运算的字长,以此字长配置方案作为一个待优化的方案的模板;然后针对该模板,在保持每一级乘法的运算输入输出的数据字长不变的情况下,按照SQNR要求降低各级加减法运算的字长,确定字长配置方案;最后,根据前面确定的字长配置方案进行FFT算法的硬件实现,设计相应的带有截位器的基本蝶形运算单元,并且按照单路延时反馈的电路结构进行FFT的硬件实现。
本发明的有益效果:
为了优化R22SDF(基22单路延时反馈)结构定点FFT实时性好但存储资源占用较多的缺陷,本发明在一定的定点FFT误差理论模型支持下,通过降低FFT各级加减法运算的字长降低了各级所需的存储容量,同时各级FFT的乘法运算采用较大的字长完成以保证FFT的输出SQNR(信号功率-量化噪声功率比)性能。此方法为定点FFT的实现提供了配置字长的依据。
本发明方法对比已有技术,能够有效减少FFT各级加减法运算的字长,从而节省了流水结构各级的存储资源消耗,同时保持各级乘法运算的字长不变,使得FFT运算精度得以保证,为高性能定点FFT的实际实现提供了字长配置的依据,在资源优化和性能保持两方面达到了良好的平衡。
附图说明
图1为未进行字长优化的FFT字长配置;
图2为进行字长优化的FFT字长配置;
图3为硬件实现时的基本蝶形运算单元;
图4为本发明一种流水结构定点FFT字长配置方法电路结构原理框图。
具体实施方式
下面结合附图对本发明方法的实施方式做详细说明。
一种流水结构定点FFT字长配置方法,其具体步骤包括:
步骤一、建立待优化的方案:图1所示为未进行字长优化的FFT各级字长配置图,这组字长配置方案将作为优化方案的基础。建立这个模板的方法:如图1所示,首先按照基22FFT结构,256点FFT将被分解为4级,每级包含两个加法运算和一个复数乘法运算,对加法运算,输出字长相比于输入字长增加一位;对于复数乘法运算,图中用1个乘法和1个加法表示,虽然复数乘法中包含加法,但是由于FFT运算中的旋转因子均为0~1之间的纯小数,所以并不产生进位,所以保持复数乘法的输出字长和输入字长一致。按照上述的加法、乘法进位原则逐级设置字长,即可得到待优化的字长方案。
步骤二、对待优化方案进行优化:图2所示为进行字长优化的FFT各级字长配置图,这组字长配置方案为在步骤一的模板基础上优化得到的方案。具体方法如下:对比图1各级,保证乘法运算的结果字长不变,这对保持运算精度很重要;对于FFT运算的第1级和第2级,第一个加法运算结果字长相对于输入字长减少1bit,第二个加法运算结果字长相对于输入字长保持不变,这样做硬件实现时将节省更多存储;对于FFT运算的第3级,由于需要缓存的数据点数越来越小,对存储的需求下降,所以可以将加法运算的输入字长增大以补偿精度,但是字长变化规律不变,即如图2所示第3级第一个加法运算,输出字长仍然比输入字长减少1bit,但是输入字长的绝对大小扩大到了20bit(比前一级的运算结果增加2bit),第二个加法运算输出字长仍然与输入字长相同;最后一级FFT运算不包含乘法运算,对于两个加法运算,字长配置策略保持与未优化的模板相同。按照上述步骤就可以得到一组优化的字长配置。
步骤三、设计基本蝶形运算单元:为了硬件实现步骤二中得到的优化的字长配置方案,需要设计FFT运算中的基本运算单元,图3所示为硬件实现时的基本蝶形运算单元。它主要由蝶形运算单元、截位器、乘法器组成。蝶形运算单元完成FFT运算中每一级的加法运算(或减法运算),输入字长为bin,输出字长为bin+1;截位器按照步骤二中的字长配置策略对加减法的输出结果进行截位,即减少加减法运算结果的字长,通过来截去Tibit;乘法器完成复数 乘法操作,输入输出字长保持一致。这样构成一个蝶形运算单元。
步骤四、硬件实现:图4所示为一个256点R22SDF结构FFT的结构框图,所谓的单路延时反馈结构即从输入到输出只有一条数据通路,每一级蝶形运算的结果数据需要反馈缓存到相应的RAM中。图中的BFI和BFII即步骤三中设计的基本蝶形运算单元,蝶形单元的一部分运算结果反馈到上面标有存储容量的RAM中,另一部分沿着唯一的运算通路传递向下一级继续运算。按照图4组合蝶形运算单元和存储资源,并且对蝶形运算单元设置图2得到的优化的字长配置方法就可以实现这种字长优化的流水结构FFT。
上述步骤仅以256点FFT为例,此方法可以推广到其他点数的FFT上,实现步骤相同。
虽然结合附图描述了本发明的实施方式,但是对于本领域技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些也应视为属于本发明的保护范围。
Claims (4)
1.一种流水结构定点FFT字长配置方法,其特征在于:首先按照每级加减法运算按照运算法则产生进位,即字长增加一位,计算一个基22FFT从输入到输出各级运算的字长,以此字长配置方案作为一个待优化方案的模板;然后针对该模板,在保持每一级乘法的运算输入输出的数据字长不变的情况下,按照SQNR要求降低各级加减法运算的字长,确定字长配置方案;最后,根据前面确定的字长配置方案进行FFT算法的硬件实现,设计相应的带有截位器的基本蝶形运算单元,并且按照单路延时反馈的电路结构进行FFT的硬件实现。
2.如权利要求1所述的一种流水结构定点FFT字长配置方法,其特征在于,建立待优化方案的模板采用以下方法:首先按照基22FFT结构,256点FFT将被分解为4级,每级包含两个加法运算和一个复数乘法运算,对加法运算,输出字长相比于输入字长增加一位;对于复数乘法运算,用1个乘法和1个加法表示,虽然复数乘法中包含加法,由于FFT运算中的旋转因子均为0-1之间的纯小数,所以并不产生进位,因此保持复数乘法的输出字长和输入字长一致;按照上述的加法、乘法进位原则逐级设置字长,即得到待优化方案的模板。
3.如权利要求1或2所述的一种流水结构定点FFT字长配置方法,其特征在于,确定字长配置方案采用以下方法:对于FFT运算的第1级和第2级,第一个加法运算结果字长相对于输入字长减少1bit,第二个加法运算结果字长相对于输入字长保持不变;对于FFT运算的第3级,将加法运算的输入字长增大以补偿精度,字长变化规律不变。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410038044.3A CN103761074B (zh) | 2014-01-26 | 2014-01-26 | 一种流水结构定点fft字长配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410038044.3A CN103761074B (zh) | 2014-01-26 | 2014-01-26 | 一种流水结构定点fft字长配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103761074A true CN103761074A (zh) | 2014-04-30 |
CN103761074B CN103761074B (zh) | 2016-08-17 |
Family
ID=50528318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410038044.3A Active CN103761074B (zh) | 2014-01-26 | 2014-01-26 | 一种流水结构定点fft字长配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103761074B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750249A (zh) * | 2018-07-24 | 2020-02-04 | 华为技术有限公司 | 一种快速傅里叶变换代码的生成方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700203A (zh) * | 2005-06-16 | 2005-11-23 | 中国航天时代电子公司第七七一研究所 | 基2单路深度延时反馈的流水线构成fft处理器的实现方法 |
US20080071848A1 (en) * | 2006-09-14 | 2008-03-20 | Texas Instruments Incorporated | In-Place Radix-2 Butterfly Processor and Method |
-
2014
- 2014-01-26 CN CN201410038044.3A patent/CN103761074B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700203A (zh) * | 2005-06-16 | 2005-11-23 | 中国航天时代电子公司第七七一研究所 | 基2单路深度延时反馈的流水线构成fft处理器的实现方法 |
US20080071848A1 (en) * | 2006-09-14 | 2008-03-20 | Texas Instruments Incorporated | In-Place Radix-2 Butterfly Processor and Method |
Non-Patent Citations (3)
Title |
---|
何星等: "流水线结构FFT/IFFT处理器的设计与实现", 《微电子学与计算机》, vol. 24, no. 4, 5 April 2007 (2007-04-05), pages 141 - 147 * |
王金川等: "基于FPGA的高速基4FFT设计与实现", 《物联网技术》, 15 July 2012 (2012-07-15), pages 38 - 40 * |
高振斌等: "可变2n点流水线FFT处理器的设计与实现", 《北京理工大学学报》, vol. 25, no. 3, 30 March 2005 (2005-03-30), pages 268 - 271 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750249A (zh) * | 2018-07-24 | 2020-02-04 | 华为技术有限公司 | 一种快速傅里叶变换代码的生成方法及装置 |
CN110750249B (zh) * | 2018-07-24 | 2021-08-20 | 华为技术有限公司 | 一种快速傅里叶变换代码的生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103761074B (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019218896A1 (zh) | 计算方法以及相关产品 | |
CN108647773B (zh) | 一种可重构卷积神经网络的硬件互连系统 | |
CN108647779B (zh) | 一种低位宽卷积神经网络可重构计算单元 | |
WO2017092283A1 (zh) | 数据累加装置、方法及数字信号处理装置 | |
CN102799563B (zh) | 一种可重构计算阵列及构建方法 | |
CN103970718A (zh) | 一种快速傅里叶变换实现装置及方法 | |
CN104268122A (zh) | 一种可变点数的浮点fft处理器 | |
CN103984560A (zh) | 基于大规模粗粒度嵌入式可重构系统及其处理方法 | |
CN102253919A (zh) | 基于gpu和cpu协同运算的并行数值模拟方法和系统 | |
CN103970720A (zh) | 基于大规模粗粒度嵌入式可重构系统及其处理方法 | |
CN103984677A (zh) | 基于大规模粗粒度嵌入式可重构系统及其处理方法 | |
Wang et al. | A low-latency sparse-winograd accelerator for convolutional neural networks | |
CN106951394A (zh) | 一种可重构定浮点通用fft处理器 | |
CN103544111B (zh) | 一种基于实时性处理的混合基fft方法 | |
CN106528490A (zh) | 一种fpga异构加速计算装置及系统 | |
Shi et al. | Design of parallel acceleration method of convolutional neural network based on fpga | |
CN112559954B (zh) | 基于软件定义可重构处理器的fft算法处理方法及装置 | |
Zong-ling et al. | The design of lightweight and multi parallel CNN accelerator based on FPGA | |
CN103838704A (zh) | 一种高吞吐率的fft加速器 | |
CN108647780B (zh) | 面向神经网络的可重构池化操作模块结构及其实现方法 | |
CN103761074B (zh) | 一种流水结构定点fft字长配置方法 | |
CN110309877B (zh) | 一种特征图数据的量化方法、装置、电子设备及存储介质 | |
CN101551790B (zh) | 应用于通信领域的快速傅立叶变换实现方法及装置 | |
Yin et al. | FPGA-based high-performance CNN accelerator architecture with high DSP utilization and efficient scheduling mode | |
CN104714773A (zh) | 基于plb总线的嵌入式旋转角计算ip软核及旋转角计算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |