一种流水结构定点fft字长配置方法

文档序号:6536950阅读:329来源:国知局
一种流水结构定点fft字长配置方法
【专利摘要】本发明在保证R22SDF定点FFT输出SQNR的情况下,实现节省存储资源的目标,提出一种流水结构定点FFT字长配置方法,首先按照每级加减法运算按照运算法则产生进位,即字长增加一位,计算一个基22FFT从输入到输出各级运算的字长,以此字长配置方案作为一个待优化的方案的模板;然后针对该模板,在保持每一级乘法的运算输入输出的数据字长不变的情况下,按照SQNR要求降低各级加减法运算的字长,确定字长配置方案;最后,根据前面确定的字长配置方案进行FFT算法的硬件实现,设计相应的带有截位器的基本蝶形运算单元,并且按照单路延时反馈的电路结构进行FFT的硬件实现。
【专利说明】一种流水结构定点FFT字长配置方法
【技术领域】
[0001]本发明属于数字信号处理【技术领域】,涉及一种流水结构定点FFT字长配置方法。【背景技术】
[0002]FFT算法是一种实现的DFT (离散傅里叶变换)的有效的快速算法,随着大规模集成电路和数字信号处理技术的发展,FFT算法具有不可替代的作用,广泛应用于雷达、声纳、通信等领域。一种高精度、高实时性且资源占用少的FFT实现算法一直是该领域的重要研究课题,在不同的应用需求下可以采用不同的实现方式。
[0003]FFT算法在实现时可以采用定点或者浮点的数据格式,浮点FFT精度高,但是由于采用了浮点的数据格式,存储资源消耗大,并且浮点运算相对复杂,所以运算速度也相对缓慢。定点FFT具有存储资源占用少、运算速度快等优势,虽然定点运算会产生量化噪声,但是采用适当的字长,在相应的工程指标要求下,可以很好地完成系统中的FFT运算。虽然定点FFT具备很多优势,但是一直缺少一种科学有效的字长配置方法,工程应用中多数是通过经验配置定点FFT各级字长,这对定点FFT性能有较大影响,本发明在一定理论模型的基础上,提出一种可以作为依据的行之有效的定点FFT各级字长配置方法。
[0004]传统的FFT结构包括基于存储的、流水的、阵列的和缓存结构的,在高实时性系统当中,流水结构的FFT是经常被采用的,流水结构在实现高实时性的同时,代价是占用的存储资源较大,定点FFT各级字长的配置直接影响到各级分配的存储容量,所以一种在保证FFT性能的前提下,尽可能优化的字长配置对于节省存储容量是十分重要的,本发明保证了定点FFT性能的同时,针对流水结构进行优化,使得存储资源得以节省。

【发明内容】

[0005]本发明的目的是为了克服已有技术的缺陷,在保证R22SDF(基22单路延时反馈)定点FFT输出SQNR (信号-量化噪声功率比)的情况下,实现节省存储资源的目标,提出一种流水结构定点FFT字长配置方法。
[0006]为了解决上述技术问题,技术方案如下:
[0007]一种流水结构定点FFT字长配置方法,首先按照每级加减法运算按照运算法则产生进位,即字长增加一位,计算一个基22FFT从输入到输出各级运算的字长,以此字长配置方案作为一个待优化的方案的模板;然后针对该模板,在保持每一级乘法的运算输入输出的数据字长不变的情况下,按照SQNR要求降低各级加减法运算的字长,确定字长配置方案;最后,根据前面确定的字长配置方案进行FFT算法的硬件实现,设计相应的带有截位器的基本蝶形运算单元,并且按照单路延时反馈的电路结构进行FFT的硬件实现。
[0008]本发明的有益效果:
[0009]为了优化R22SDF (基22单路延时反馈)结构定点FFT实时性好但存储资源占用较多的缺陷,本发明在一定的定点FFT误差理论模型支持下,通过降低FFT各级加减法运算的字长降低了各级所需的存储容量,同时各级FFT的乘法运算采用较大的字长完成以保证FFT的输出SQNR (信号功率-量化噪声功率比)性能。此方法为定点FFT的实现提供了配置字长的依据。
[0010]本发明方法对比已有技术,能够有效减少FFT各级加减法运算的字长,从而节省了流水结构各级的存储资源消耗,同时保持各级乘法运算的字长不变,使得FFT运算精度得以保证,为高性能定点FFT的实际实现提供了字长配置的依据,在资源优化和性能保持两方面达到了良好的平衡。
【专利附图】

【附图说明】
[0011]图1为未进行字长优化的FFT字长配置;
[0012]图2为进行字长优化的FFT字长配置;
[0013]图3为硬件实现时的基本蝶形运算单元;
[0014]图4为本发明一种流水结构定点FFT字长配置方法电路结构原理框图。
【具体实施方式】
[0015]下面结合附图对本发明方法的实施方式做详细说明。
[0016]一种流水结构定点FFT字长配置方法,其具体步骤包括:
[0017]步骤一、建立待优化的方案:图1所示为未进行字长优化的FFT各级字长配置图,这组字长配置方案将作为优化方案的基础。建立这个模板的方法:如图1所示,首先按照基22FFT结构,256点FFT将被分解为4级,每级包含两个加法运算和一个复数乘法运算,对加法运算,输出字长相比于输入字长增加一位;对于复数乘法运算,图中用I个乘法和I个加法表示,虽然复数乘法中包含加法,但是由于FFT运算中的旋转因子均为O?I之间的纯小数,所以并不产生进位,所以保持复数乘法的输出字长和输入字长一致。按照上述的加法、乘法进位原则逐级设置字长,即可得到待优化的字长方案。
[0018]步骤二、对待优化方案进行优化:图2所示为进行字长优化的FFT各级字长配置图,这组字长配置方案为在步骤一的模板基础上优化得到的方案。具体方法如下:对比图1各级,保证乘法运算的结果字长不变,这对保持运算精度很重要;对于FFT运算的第I级和第2级,第一个加法运算结果字长相对于输入字长减少lbit,第二个加法运算结果字长相对于输入字长保持不变,这样做硬件实现时将节省更多存储;对于FFT运算的第3级,由于需要缓存的数据点数越来越小,对存储的需求下降,所以可以将加法运算的输入字长增大以补偿精度,但是字长变化规律不变,即如图2所示第3级第一个加法运算,输出字长仍然比输入字长减少lbit,但是输入字长的绝对大小扩大到了 20bit (比前一级的运算结果增加2bit),第二个加法运算输出字长仍然与输入字长相同;最后一级FFT运算不包含乘法运算,对于两个加法运算,字长配置策略保持与未优化的模板相同。按照上述步骤就可以得到一组优化的字长配置。
[0019]步骤三、设计基本蝶形运算单元:为了硬件实现步骤二中得到的优化的字长配置方案,需要设计FFT运算中的基本运算单元,图3所示为硬件实现时的基本蝶形运算单元。它主要由蝶形运算单元、截位器、乘法器组成。蝶形运算单元完成FFT运算中每一级的加法运算(或减法运算),输入字长为bin,输出字长为bin+l ;截位器按照步骤二中的字长配置策略对加减法的输出结果进行截位,即减少加减法运算结果的字长,通过#24来截去TiMt ;
乘法器完成复数乘法操作,输入输出字长保持一致。这样构成一个蝶形运算单元。
[0020]步骤四、硬件实现:图4所示为一个256点R22SDF结构FFT的结构框图,所谓的单路延时反馈结构即从输入到输出只有一条数据通路,每一级蝶形运算的结果数据需要反馈缓存到相应的RAM中。图中的BFI和BFII即步骤三中设计的基本蝶形运算单元,蝶形单元的一部分运算结果反馈到上面标有存储容量的RAM中,另一部分沿着唯一的运算通路传递向下一级继续运算。按照图4组合蝶形运算单元和存储资源,并且对蝶形运算单元设置图2得到的优化的字长配置方法就可以实现这种字长优化的流水结构FFT。
[0021]上述步骤仅以256点FFT为例,此方法可以推广到其他点数的FFT上,实现步骤相同。
[0022]虽然结合附图描述了本发明的实施方式,但是对于本领域技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些也应视为属于本发明的保护范围。
【权利要求】
1.一种流水结构定点FFT字长配置方法,其特征在于:首先按照每级加减法运算按照运算法则产生进位,即字长增加一位,计算一个基22FFT从输入到输出各级运算的字长,以此字长配置方案作为一个待优化方案的模板;然后针对该模板,在保持每一级乘法的运算输入输出的数据字长不变的情况下,按照SQNR要求降低各级加减法运算的字长,确定字长配置方案;最后,根据前面确定的字长配置方案进行FFT算法的硬件实现,设计相应的带有截位器的基本蝶形运算单元,并且按照单路延时反馈的电路结构进行FFT的硬件实现。
2.如权利要求1所述的一种流水结构定点FFT字长配置方法,其特征在于,建立待优化方案的模板采用以下方法:首先按照基22FFT结构,256点FFT将被分解为4级,每级包含两个加法运算和一个复数乘法运算,对加法运算,输出字长相比于输入字长增加一位;对于复数乘法运算,用I个乘法和I个加法表示,虽然复数乘法中包含加法,由于FFT运算中的旋转因子均为0-1之间的纯小数,所以并不产生进位,因此保持复数乘法的输出字长和输入字长一致;按照上述的加法、乘法进位原则逐级设置字长,即得到待优化方案的模板。
3.如权利要求1或2所述的一种流水结构定点FFT字长配置方法,其特征在于,确定字长配置方案采用以下方法:对于FFT运算的第I级和第2级,第一个加法运算结果字长相对于输入字长减少lbit,第二个加法运算结果字长相对于输入字长保持不变;对于FFT运算的第3级,将加法运算的输入字长增大以补偿精度,字长变化规律不变。
4.如权利要求1或2所述的一种流水结构定点FFT字长配置方法,其特征在于,设计的基本蝶形运算单元由蝶形运算模块、截位器、乘法器组成;蝶形运算模块完成FFT运算中每一级的加法运算或减法运算,输入字长为bin,输出字长为bin+l ;截位器按照字长配置策略对加减法的输出结果进行截位,即减少加减法运算结果的字长,通过来截去TiMt ;其中Ti表示每一级截去的字长位数,乘法器完成复数乘法操作,输入输出字长保持一致,即构成一个基本蝶形运算单元。
【文档编号】G06F9/38GK103761074SQ201410038044
【公开日】2014年4月30日 申请日期:2014年1月26日 优先权日:2014年1月26日
【发明者】陈禾, 杨晨, 谢宜壮, 杜青, 陈亮, 龙腾 申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1