CN103761074B - 一种流水结构定点fft字长配置方法 - Google Patents
一种流水结构定点fft字长配置方法 Download PDFInfo
- Publication number
- CN103761074B CN103761074B CN201410038044.3A CN201410038044A CN103761074B CN 103761074 B CN103761074 B CN 103761074B CN 201410038044 A CN201410038044 A CN 201410038044A CN 103761074 B CN103761074 B CN 103761074B
- Authority
- CN
- China
- Prior art keywords
- word length
- fft
- input
- output
- point
- 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
本发明在保证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 (3)
1.一种流水结构定点FFT字长配置方法,其特征在于:首先按照每级加减法运算按照运算法则产生进位,即字长增加一位,计算一个基22FFT从输入到输出各级运算的字长,以此字长配置方案作为一个待优化方案的模板;然后针对该模板,在保持每一级乘法的运算输入输出的数据字长不变的情况下,按照SQNR要求降低各级加减法运算的字长,确定字长配置方案;最后,根据前面确定的字长配置方案进行FFT算法的硬件实现,设计相应的带有截位器的基本蝶形运算单元,并且按照单路延时反馈的电路结构进行FFT的硬件实现;
建立待优化方案的模板采用以下方法:首先按照基22FFT结构,256点FFT将被分解为4级,每级包含两个加法运算和一个复数乘法运算,对加法运算,输出字长相比于输入字长增加一位;对于复数乘法运算,用1个乘法和1个加法表示,虽然复数乘法中包含加法,由于FFT运算中的旋转因子均为0-1之间的纯小数,所以并不产生进位,因此保持复数乘法的输出字长和输入字长一致;按照上述的加法、乘法进位原则逐级设置字长,即得到待优化方案的模板。
2.如权利要求1所述的一种流水结构定点FFT字长配置方法,其特征在于,确定字长配置方案采用以下方法:对于FFT运算的第1级和第2级,第一个加法运算结果字长相对于输入字长减少1bit,第二个加法运算结果字长相对于输入字长保持不变;对于FFT运算的第3级,将加法运算的输入字长增大以补偿精度,字长变化规律不变。
3.如权利要求1所述的一种流水结构定点FFT字长配置方法,其特征在于,设计的基本蝶形运算单元由蝶形运算模块、截位器、乘法器组成;蝶形运算模块完成FFT运算中每一级的加法运算或减法运算,输入字长为bin,输出字长为bin+1;截位器按照字长配置策略对加减法的输出结果进行截位,即减少加减法运算结果的字长,通过乘来截去Tibit;其中Ti表示每一级截去的字长位数,乘法器完成复数乘法操作,输入输出字长保持一致,即构成一个基本蝶形运算单元。
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 CN103761074A (zh) | 2014-04-30 |
CN103761074B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750249B (zh) * | 2018-07-24 | 2021-08-20 | 华为技术有限公司 | 一种快速傅里叶变换代码的生成方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700203A (zh) * | 2005-06-16 | 2005-11-23 | 中国航天时代电子公司第七七一研究所 | 基2单路深度延时反馈的流水线构成fft处理器的实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700203A (zh) * | 2005-06-16 | 2005-11-23 | 中国航天时代电子公司第七七一研究所 | 基2单路深度延时反馈的流水线构成fft处理器的实现方法 |
Non-Patent Citations (3)
Title |
---|
可变2n点流水线FFT处理器的设计与实现;高振斌等;《北京理工大学学报》;20050330;第25卷(第3期);第268页至第271页 * |
基于FPGA的高速基4FFT设计与实现;王金川等;《物联网技术》;20120715;第38页至第40页 * |
流水线结构FFT/IFFT处理器的设计与实现;何星等;《微电子学与计算机》;20070405;第24卷(第4期);第141页至第147页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103761074A (zh) | 2014-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017092283A1 (zh) | 数据累加装置、方法及数字信号处理装置 | |
CN109146067B (zh) | 一种基于FPGA的Policy卷积神经网络加速器 | |
CN108647779B (zh) | 一种低位宽卷积神经网络可重构计算单元 | |
CN102722352A (zh) | 一种Booth乘法器 | |
CN102799563A (zh) | 一种可重构计算阵列及构建方法 | |
CN104765713A (zh) | 基于分段查表三角函数实现fpga数字信号处理的方法 | |
CN102799411B (zh) | 浮点数累加电路及其实现方法 | |
CN103412851A (zh) | 一种高精度低功耗的fft处理器 | |
CN106951394A (zh) | 一种可重构定浮点通用fft处理器 | |
CN104317754B (zh) | 面向异构计算系统的跨步数据传输优化方法 | |
CN103544111B (zh) | 一种基于实时性处理的混合基fft方法 | |
Zong-ling et al. | The design of lightweight and multi parallel CNN accelerator based on FPGA | |
CN112559954B (zh) | 基于软件定义可重构处理器的fft算法处理方法及装置 | |
CN103761074B (zh) | 一种流水结构定点fft字长配置方法 | |
CN108647780B (zh) | 面向神经网络的可重构池化操作模块结构及其实现方法 | |
CN102566965B (zh) | 一种误差平坦的浮点数对数运算装置 | |
CN103838704A (zh) | 一种高吞吐率的fft加速器 | |
US20210044303A1 (en) | Neural network acceleration device and method | |
CN104657334B (zh) | 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用 | |
Yin et al. | FPGA-based high-performance CNN accelerator architecture with high DSP utilization and efficient scheduling mode | |
Wu et al. | An efficient lightweight CNN acceleration architecture for edge computing based-on FPGA | |
CN101551790B (zh) | 应用于通信领域的快速傅立叶变换实现方法及装置 | |
CN110309877B (zh) | 一种特征图数据的量化方法、装置、电子设备及存储介质 | |
CN108008665B (zh) | 基于单片fpga的大规模圆阵实时波束形成器及波束形成计算方法 | |
CN103365826B (zh) | 一种小面积的基-3fft蝶形单元 |
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 |