CN105022721B - 一种快速、自动化的定点fft字长配置方法 - Google Patents
一种快速、自动化的定点fft字长配置方法 Download PDFInfo
- Publication number
- CN105022721B CN105022721B CN201510416168.5A CN201510416168A CN105022721B CN 105022721 B CN105022721 B CN 105022721B CN 201510416168 A CN201510416168 A CN 201510416168A CN 105022721 B CN105022721 B CN 105022721B
- Authority
- CN
- China
- Prior art keywords
- mrow
- fft
- word length
- noise ratio
- output signal
- 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
本发明公开了一种快速、自动的定点FFT各级字长配置方法,具体过程如下:首先针对定点快速傅里叶变换FFT,根据需求设定:输入字长、最终输出信噪比以及FFT运算长度;以FFT每一级加减法运算均进行字长扩展和均不进行字长扩展的情况,计算每一级信噪比衰落的范围的下限和上限;利用最终输出信噪比以及每一级信噪比衰落的范围,计算得到FFT中各级输出信噪比的范围;利用各级信噪比的范围计算出各级截位向量的范围,从而得到各级字长的范围,并确定多组字长配置方案;对各组字长配置方案进行输出信噪比的验证,选取满足要求且存储资源消耗最少的一组作为最终字长配置方案。本发明能够节省存储资源,提高定点化子长配置效率。
Description
技术领域
本发明属于数字信号处理技术领域,涉及一种自动配置定点FFT各级字长的方法。
背景技术
FFT算法是一种实现DFT(离散傅里叶变换)的快速算法,得益于FFT算法的高效,FFT在很多对实时性要求很高的应用中扮演着重要角色。如何进一步降低FFT运算的硬件资源,进一步提升FFT算法的运算速度一直都是数字信号处理领域的重要课题。
FFT算法作为一种运算,可以采用不同的数据格式。传统的通用处理器可以采用浮点格式完成FFT运算,但是浮点加减乘除运算更复杂,占用的硬件资源多,并且运算时间长。如今,随着移动/便携设备逐渐普及,半导体厂商诸如因特尔、高通、德州仪器等都在积极的寻找低功耗、高性能的整体解决方案,而FFT作为这些运算密集型应用的主要部分,定制化的定点数据格式开始被采纳。定点数据格式能够带来低功耗,高实时性等好处,同时,通过优化定点字长的配置,可以满足应用需求的运算精度。如何确定FFT各级的字长一直是采用定点格式进行FFT运算的重点和难点。随着SystemC、System Verilog、Matlab Simulink等定点仿真工具的出现,通过仿真的方式训练FFT字长是一种常用方式,但这种方法效率较低,需要长时间的机械化训练才能得到一组字长配置。在这种基于仿真的方法以外,也可以通过理论建模的方式研究定点字长的配置,但是与仿真方法相比,受限于模型的精确性,理论建模的方式可能会与实际结果有所偏差。
发明内容
有鉴于此,本发明提供了一种快速、自动化的定点FFT字长配置方法,从而达到保证定点FFT输出SQNR的情况下,实现节省存储资源的目标。
为了达到上述目的,本发明的技术方案为:一种快速、自动的定点FFT各级字长配置方法,具体过程如下:
步骤一、针对定点快速傅里叶变换FFT,根据需求设定约束条件:输入字长、最终输出信噪比以及FFT运算长度。
步骤二、以FFT每一级加减法运算均进行字长扩展的情况,计算每一级的信噪比衰落值作为衰落值范围的下限,以每一级加减法运算均不进行字长扩展的情况,计算每一级的信噪比衰落值作为衰落值范围的上限,从而得到FFT中每一级信噪比衰落的范围。
步骤三、利用所述最终输出信噪比以及每一级信噪比衰落的范围,计算得到FFT中各级输出信噪比的范围。
步骤四、利用FFT中各级输出信噪比的范围计算出各级截位向量的范围,从而得到各级字长的范围,并确定多组字长配置方案。
步骤五、对各组字长配置方案进行输出信噪比的验证,剔除未达到最终输出信噪比要求的字长配置方案,并在满足最终信噪比要求的字长配置方案中,选取存储资源消耗最少的一组作为最终字长配置方案。
进一步地,步骤二中计算每一级的信噪比衰落值的具体方法为:利用定点仿真语言SystemC,对每一级加减法运算均进行字长扩展、以及每一级加减法运算均不进行字长扩展的两种情况的定点FFT进行仿真,计算两种情况下每一级输出信噪比,并将当前级的下一级输出信噪比与当前级输出信噪比做差作为当前级衰落值。
进一步地,FFT为基22FFT,其中输入字长为b0,最终输出信噪比为SQNRout,FFT运算长度为N,则FFT运算每一级i的字长为其中Ti为第i级截位向量;
则所述步骤四中,利用FFT中各级输出信噪比的范围计算出各级截位向量的范围的具体方法为:根据对基22FFT的建模分析,由第1级开始向最后一级逐级计算截位向量,其中对于第v级截位向量Tv,
SQNRv为第v级输出信噪比。
进一步地,步骤三中,在每一级信噪比衰落范围的区间上根据需要选取多个采样值,其中第i级采样值为Δi,则第i级输出信噪比为则每一级获得多个输出信噪比;然后利用每一级每个输出信噪比计算一个字长,在所述步骤五中,形成多组字长配置方案,每个字长配置方案中均包括log2N+1个字长值分别为则该方案的存储资源消耗为:其中N为FFT运算长度。
有益效果:
1、。为了克服定点仿真方法训练FFT字长耗时长、效率低,建模方法准确度差的缺陷,本发明提出了一种快速且自动化的定点FFT字长配置方法。结合了定点FFT误差模型和SystemC定点仿真,这种方法能够快速并且自动地产生一组合适的FFT字长配置,从而降低FFT运算的存储资源消耗,同时达到要求的信号量化噪声比(SQNR)性能。本发明方法,对比已有技术,能够减少仿真方法确定定点字长所需消耗的时间,能够修正建模方法确定定点字长的准确度,通过快速、自动化的字长配置,达到节省FFT运算存储资源、保证其输出信噪比的目的。
附图说明
图1为输入字长与输入信噪比关系图;
图2为256点FFT为例的信噪比衰落图;
图3为逐级计算各级截位向量流程图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
一种快速、自动的FFT各级字长配置方法,其具体步骤包括:
步骤一、根据应用需求确定输入字长bin、输出信噪比SQNRout、FFT长度N。SQNRout和N为系统参数,可以根据系统性能要求和数据点数直接得到。一般输入字长bin也可由系统直接决定,但如果没有确定的输入字长要求,可以如图1所示,按照1bit字长约6dB输入信噪比的标准进行估算,由于定点FFT中间级会有信噪比损失,所以输入信噪比SQNRin要大于SQNRout才可行,那么可以大致估算SQNRin的大小,然后除以6,得到大致的输入字长bin。
步骤二、利用定点仿真语言SystemC,对中间各级都进行数据位扩展和中间各级都不进行数据位扩展这两种情况下的定点FFT进行仿真,图2所示为以基22FFT为例的这两种情况下的定点FFT字长配置情况,计算各个中间级的输出信噪比SQNRi,并逐级做差:Δi=SQNRi+1-SQNRi,得到各级之间信噪比的衰落值Δi是多少。中间各级都不进行数据位扩展的情况下得到的各级之间的衰落值Δli作为衰落值范围的下限,中间各级都进行数据位扩展的情况下得到的各级之间的衰落值Δui作为衰落值范围的上限,这样就得到了衰落值的范围。
步骤三、利用步骤一当中已经确定下来的SQNRout,估算FFT中间各级的输出信噪比SQNRi。由于信噪比衰落量Δi是Δli~Δui范围内的数值,故SQNRi也是一个范围值,它可以由下式计算得来:
步骤四、对于输入字长b0,FFT运算各中间级的字长可以表示为其中Ti为各级截位向量,只要得到这组截位向量{Ti},就可以得到各级FFT运算的字长。根据对基22FFT的建模分析,可以得到计算Ti的公式如(2)所示,如图3所示,计算当前级截位向量Ti时,需要使用前面各级已经计算得出的截位向量{T1,T2,…,Ti-1},所以需要由第一级向最后一级,逐级计算截位向量。由于SQNRi是一个范围,故得到的{Ti}以及相应的各级字长{bi}也有多组。
步骤五、利用SystemC语言对得到的多组字长配置进行仿真,验证其输出信噪比是否达到系统要求,剔除未达到输出信噪比SQNRout要求的字长配置组,并按照式(3)计算剩余各字长配置组所对应的存储资源消耗MT,选取所需存储资源最小的一组作为最终的字长配置。
以上工作均可用SystemC语言编程实现,并且全流程不需要反复迭代,节省时间同时降低运算量,全程不需要人为干预,快速、自动化的完成定点FFT字长配置。
综上,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种快速、自动的定点FFT各级字长配置方法,其特征在于,具体过程如下:
步骤一、针对定点快速傅里叶变换FFT,根据需求设定约束条件:输入字长、最终输出信噪比以及FFT运算长度;
步骤二、以FFT每一级加减法运算均进行字长扩展的情况,计算每一级的信噪比衰落值作为衰落值范围的下限,以每一级加减法运算均不进行字长扩展的情况,计算每一级的信噪比衰落值作为衰落值范围的上限,从而得到FFT中每一级信噪比衰落的范围;
步骤三、利用所述最终输出信噪比以及每一级信噪比衰落的范围,计算得到FFT中各级输出信噪比的范围;
步骤四、利用FFT中各级输出信噪比的范围计算出各级截位向量的范围,从而得到各级字长的范围,并确定多组字长配置方案;
步骤五、对各组字长配置方案进行输出信噪比的验证,剔除未达到最终输出信噪比要求的字长配置方案,并在满足最终信噪比要求的字长配置方案中,选取存储资源消耗最少的一组作为最终字长配置方案;
所述步骤二中计算每一级的信噪比衰落值的具体方法为:利用定点仿真语言SystemC,对每一级加减法运算均进行字长扩展、以及每一级加减法运算均不进行字长扩展的两种情况的定点FFT进行仿真,计算两种情况下每一级输出信噪比,并将当前级的下一级输出信噪比与当前级输出信噪比做差作为当前级衰落值;
所述FFT为基22FFT,其中输入字长为b0,最终输出信噪比为SQNRout,FFT运算长度为N,则FFT运算每一级i的字长为其中Ti为第i级截位向量;
则所述步骤四中,利用FFT中各级输出信噪比的范围计算出各级截位向量的范围的具体方法为:根据对基22FFT的建模分析,由第1级开始向最后一级逐级计算截位向量,其中对于第v级截位向量Tv,
<mrow>
<msub>
<mi>T</mi>
<mi>v</mi>
</msub>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
<msub>
<mi>log</mi>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mo>-</mo>
<mn>1</mn>
<mo>+</mo>
<msqrt>
<mrow>
<mn>1</mn>
<mo>-</mo>
<mn>4</mn>
<mo>&CenterDot;</mo>
<msup>
<mn>2</mn>
<mrow>
<mo>-</mo>
<mn>3</mn>
<mi>v</mi>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msup>
<mrow>
<mo>(</mo>
<mfrac>
<mn>1</mn>
<mn>4</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mrow>
<mo>-</mo>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow>
<mi>v</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<msub>
<mi>T</mi>
<mi>i</mi>
</msub>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow>
<mi>v</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<msup>
<mrow>
<mo>(</mo>
<mfrac>
<mn>1</mn>
<mn>4</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mrow>
<mi>v</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<msub>
<mi>T</mi>
<mi>j</mi>
</msub>
<mo>-</mo>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>i</mi>
</munderover>
<msub>
<mi>T</mi>
<mi>k</mi>
</msub>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<msup>
<mn>2</mn>
<mrow>
<mo>-</mo>
<mn>3</mn>
<mi>v</mi>
</mrow>
</msup>
<mo>-</mo>
<msub>
<mi>SQNR</mi>
<mrow>
<mi>o</mi>
<mi>u</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>/</mo>
<msub>
<mi>SQNR</mi>
<mi>v</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</msqrt>
</mrow>
<mrow>
<mn>2</mn>
<mo>&CenterDot;</mo>
<msup>
<mn>2</mn>
<mrow>
<mo>-</mo>
<mn>3</mn>
<mi>v</mi>
</mrow>
</msup>
<mo>&CenterDot;</mo>
<msup>
<mrow>
<mo>(</mo>
<mfrac>
<mn>1</mn>
<mn>4</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mrow>
<mo>-</mo>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow>
<mi>v</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<msub>
<mi>T</mi>
<mi>i</mi>
</msub>
</mrow>
</msup>
</mrow>
</mfrac>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
SQNRv为第v级输出信噪比;
所述步骤三中,在每一级信噪比衰落范围的区间上根据需要选取多个采样值,其中第i级采样值为Δi,则第i级输出信噪比为则每一级获得多个输出信噪比;然后利用每一级每个输出信噪比计算一个字长,在所述步骤五中,形成多组字长配置方案,每个字长配置方案中均包括log2 N+1个字长值分别为则该方案的存储资源消耗为:其中N为FFT运算长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510416168.5A CN105022721B (zh) | 2015-07-15 | 2015-07-15 | 一种快速、自动化的定点fft字长配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510416168.5A CN105022721B (zh) | 2015-07-15 | 2015-07-15 | 一种快速、自动化的定点fft字长配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105022721A CN105022721A (zh) | 2015-11-04 |
CN105022721B true CN105022721B (zh) | 2017-10-31 |
Family
ID=54412705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510416168.5A Active CN105022721B (zh) | 2015-07-15 | 2015-07-15 | 一种快速、自动化的定点fft字长配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105022721B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1331781A2 (en) * | 2002-01-24 | 2003-07-30 | Tioga Technologies Ltd. | Efficient FFT implementation for ADSL |
CN101504638A (zh) * | 2009-03-19 | 2009-08-12 | 北京理工大学 | 一种可变点数流水线fft处理器 |
CN102891653A (zh) * | 2012-08-30 | 2013-01-23 | 西安空间无线电技术研究所 | 一种用于解调译码器仿真的白噪声产生方法 |
CN103544111A (zh) * | 2013-10-08 | 2014-01-29 | 北京理工大学 | 一种基于实时性处理的混合基fft方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7467359B2 (en) * | 2002-11-26 | 2008-12-16 | Lsi Corporation | Decoder using a memory for storing state metrics implementing a decoder trellis |
-
2015
- 2015-07-15 CN CN201510416168.5A patent/CN105022721B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1331781A2 (en) * | 2002-01-24 | 2003-07-30 | Tioga Technologies Ltd. | Efficient FFT implementation for ADSL |
CN101504638A (zh) * | 2009-03-19 | 2009-08-12 | 北京理工大学 | 一种可变点数流水线fft处理器 |
CN102891653A (zh) * | 2012-08-30 | 2013-01-23 | 西安空间无线电技术研究所 | 一种用于解调译码器仿真的白噪声产生方法 |
CN103544111A (zh) * | 2013-10-08 | 2014-01-29 | 北京理工大学 | 一种基于实时性处理的混合基fft方法 |
Non-Patent Citations (2)
Title |
---|
基于FPGA的32位浮点FFT处理器的设计;赵忠武等;《电讯技术》;20030630(第6期);第73-77页 * |
定点FFT的有限字长效应分析;李眈等;《北京理工大学学报》;19991031;第19卷(第5期);第617-621页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105022721A (zh) | 2015-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103176767B (zh) | 一种低功耗高吞吐的浮点数乘累加单元的实现方法 | |
CN107291419A (zh) | 用于神经网络处理器的浮点乘法器及浮点数乘法 | |
CN107273090A (zh) | 面向神经网络处理器的近似浮点乘法器及浮点数乘法 | |
CN102314522B (zh) | 一种模拟集成电路设计优化方法 | |
CN104463381A (zh) | 基于kpca与wlssvm的建筑能耗预测方法 | |
CN102842043B (zh) | 基于自动聚类的粒子群优化分类方法 | |
CN104598659B (zh) | 对数字电路进行仿真的方法和设备 | |
CN109992889B (zh) | 风电场模型的建立方法及系统、尾流值计算方法及系统 | |
CN110705080B (zh) | 一种数字孪生模型精准组装方法及装置 | |
CN112268011B (zh) | 多级轴流压气机气动性能预估方法和装置 | |
CN104239625A (zh) | 一种基于修正流体运动方程线性迭代的稳态求解方法 | |
CN105895089A (zh) | 一种语音识别方法及装置 | |
CN105426156A (zh) | 一种高性能非精确乘法器及其应用方法 | |
CN101154216A (zh) | 快速傅立叶变换电路及快速傅立叶变换方法 | |
CN111753405A (zh) | 一种变电站声源设备源强求解方法及系统 | |
CN106228976A (zh) | 语音识别方法和装置 | |
CN106682732A (zh) | 一种应用于神经网络的高斯误差函数电路 | |
CN103837859A (zh) | 一种采用混合蛙跳的小波神经网络来计算声发射源位置的方法 | |
CN105022721B (zh) | 一种快速、自动化的定点fft字长配置方法 | |
CN105631135A (zh) | 基于abaqus基坑开挖快速建模分析系统及其应用方法 | |
Singh et al. | VHDL environment for floating point Arithmetic Logic Unit-ALU design and simulation | |
CN103970610A (zh) | 一种供水管网中节点流量的监控方法 | |
CN101794330B (zh) | 集成电路验证方法及其系统 | |
CN101551790B (zh) | 应用于通信领域的快速傅立叶变换实现方法及装置 | |
CN115859728A (zh) | 基于耦合畸变相似的锥柱组合壳体动态特性预测方法及系统 |
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 |