CN103412851A - 一种高精度低功耗的fft处理器 - Google Patents
一种高精度低功耗的fft处理器 Download PDFInfo
- Publication number
- CN103412851A CN103412851A CN2013103238939A CN201310323893A CN103412851A CN 103412851 A CN103412851 A CN 103412851A CN 2013103238939 A CN2013103238939 A CN 2013103238939A CN 201310323893 A CN201310323893 A CN 201310323893A CN 103412851 A CN103412851 A CN 103412851A
- Authority
- CN
- China
- Prior art keywords
- fft
- data
- multiplication
- fft processor
- consumption
- 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.)
- Pending
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本发明属于集成电路设计技术领域,具体为一种高精度低功耗的FFT处理器。本发明FFT处理器采用基于存储器交互的架构,由蝶形运算单元、地址产生器、数据存储器、旋转因子存储器和缩放因子产生器组成。本发明采用改进后的块浮点技术和基于或门的Trounding技术,数据通路上配备了常系数乘法器阵列和普通复数乘法器,并由一种基于数据序号的判定机制来选择乘法运算用哪个模块实现。本发明误差小,整体变换精度高,并能有效减少乘法运算的功耗。本发明能够较好地应用于嵌入式低功耗系统。
Description
技术领域
本发明属于集成电路设计技术领域,具体涉及一种FFT处理器。
背景技术
近些年来,可穿戴及可植入的生物医疗设备的研发受到了广泛的关注。在信号处理领域,很多生物医疗信号处理平台被提出用于处理多种不同的人体信号,如:心肺信号、心电信号、心率波动信号等。在这些系统中,快速傅里叶变换将时域信号转换为频域信号,用于对信号进行频谱分析,并且是消耗能量最多的操作之一。因此,如何减少系统的功耗同时保持足够的处理精度成为快速傅里叶变换(FFT)处理器设计的一大挑战。同时,在数字通信领域中,正交频分复用(OFDM)技术被广泛采用以提高频带利用率。FFT作为接收端的信号分离器是系统中的关键环节之一。在面向移动手持设备的通信系统设计中,高精度、低功耗的FFT处理器是必要模块。因此,有必要设计一种低功耗的FFT处理器来延长上述设备的使用周期,同时又要具有足够的处理精度来保证功能正确性。
发明内容
本发明的目的在于提供一种高精度、低功耗的FFT处理器,能够广泛应用于嵌入式低功耗系统中。
本发明提供的FFT处理器,基本框图如图1所示,采用基于存储器交互的架构,其内部子模块包括:蝶形运算单元、地址产生器、数据存储器、旋转因子存储器和缩放因子产生器;整个FFT计算流程选取频域抽取法(DIF),由于这个流程中大部分的非平凡旋转因子乘法都集中在最后几级计算中,所以其运算精度相比时域抽取法稍高;所述蝶形运算单元采用基4/2的混合基可配置结构,具有一定的灵活性,能够支持一次基4运算或者两次基2运算;所述地址产生器将根据要计算的FFT点数来产生每次运算的数据以及旋转因子的地址;所述数据存储器由四块2048字的双口SRAM以及选择电路组成,以支持最高8192点FFT的运算;旋转因子存储器大小为2048字,每个字中存放一次基4蝶形所需要的三个旋转因子,因此仅需要一次寻址访问就能获取三个旋转因子;所述缩放因子产生器根据蝶形运算单元的输出来决定所采用的缩放因子大小。
本发明中,采用一种改进后的块浮点技术,即将FFT运算分为若干数据不相关的块,每个块中的级间运算采用多个数据缩放因子。相比单一缩放因子而言,这种方法引起的舍去误差更小,因而整体变换的精度更高。同时采用基于或门的Trounding技术,以减少数据量化造成的误差,相比截取法,Trounding后的结果更接近原始数据;相比四舍五入法,Trounding的实现开销更小。
本发明中,数据通路上配备了常系数乘法器阵列和普通复数乘法器,并由一种基于数据序号的判定机制来选择乘法运算用哪个模块实现:如果即将进行的旋转因子复数乘法能被常系数乘法器阵列支持,那么采用常系数乘法器阵列进行计算,同时用门控时钟技术关断普通复数乘法器。反之则开启普通复数乘法器,关断常系数乘法器阵列。
本发明的FFT处理器基于存储器交互的架构,支持64—8192点FFT运算,相比基于流水线的架构,具有配置灵活、面积小、功耗低的特点。
附图说明
图1 FFT处理器整体结构图。
图2 64点FFT计算流程。
图3 Trounding技术示意图。
图4 基4/2蝶形单元结构。
图5 常系数乘法器阵列结构。
图6 旋转因子映射关系图。
图7 常系数乘法器阵列旋转因子调度图。
图8 数据存储器及外围电路结构图。
具体实施方式
改进后的块浮点技术如图2所示,以64点FFT运算为例,第一级运算之后,随后的计算可被分为四块互不相关的部分,每一部分采用一个独立的缩放因子,其值由该部分中最大的数据决定。整个计算流程中就有四个缩放因子,第一个缩放因子控制第0-15个点,第二个缩放因子控制第16-31个点,第三个缩放因子控制第32-47个点,第四个缩放因子控制第48-63个点。相比单一缩放因此而言,这种改进后的方法精度更高;相比浮点计算而言,这种基于定点的缩放机制硬件开销更小,仅需要几个比较器和寄存器。
在DSP系统中由于有限字长效应所造成的量化误差是不可避免的。在FFT运算中,乘法操作后的数据位宽是输入数据的2倍,而其结果不得不已输入数据的位宽来表示,这就发生了量化误差。本发明采用Trounding技术已较小的硬件代价换取较大的精度提升。如图3所示,Trounding的具体实现为将数据保留部分的最低位和数据舍去部分的最高位进行逻辑或操作,这样就使得操作后数据的最低位能够保留被舍去部分的信息。这种方法的精度介于直接截尾法和四舍五入法之间。直接截尾法硬件成本小,但无法保存被舍去部分信息;四舍五入法需要加法器的支持,关键路径长、开销大。因此,Trounding技术是一种平衡精度和硬件开销的方法。采用改进后的块浮点和Trounding技术的FFT方案能够提高大约9dB的处理精度。
FFT处理器硬件结构中,蝶形运算单元示意图如图4所示。采用频域抽取的基4/2的混合基结构,能够配置为一次基4运算或者两次基2运算。其中旋转因子乘法运算单元中包含有常系数乘法器阵列和普通复数乘法器,并根据地址产生器产生的旋转因子序号来选择乘法运算用哪个模块实现。本发明采用的常系数乘法器阵列如图5所示。它能够直接支持 相关的计算。实虚部选择、符号变换电路根据图6的映射关系来实现,目标是把区域A中的旋转因子映射到整个复数平面。这里基4算法所涉及的旋转因子为,它们的序号成倍数关系。常系数乘法器阵列要能同时支持进行这三个乘法。通过图6的映射表转换后的三个旋转因子的关系如图7所示。不难发现需要两个,的常系数乘法器,因此在图5中共有十个常系数乘法器(为1,不需要操作)。在FFT计算过程中,根据地址产生器产生的旋转因子序号判断是否在范围内,如果在此范围内,那么采用常系数乘法器阵列进行计算,同时用门控时钟技术关断普通复数乘法器。反之则开启普通复数乘法器,关断常系数乘法器阵列。采用该种方法后的蝶形运算单元在FFT运算过程中能够节省20%的功耗。
数据存储器以及相应支持数据缩放的电路如图8所示。FFT电路可处理2*11比特的复数数据,存储器内部的位宽为2*14比特。这是因为经过基4蝶形运算中的三级加法器后,为了防止溢出,定点数整数部分位宽将扩大3比特。对双口存储器进行写操作时,直接写入2*14比特数据。对双口存储器进行读操作时,将根据缩放因子选择哪22比特组成输出数据。
FFT处理器中其他硬件单元还有地址产生器、旋转因子存储器和缩放因子产生器。地址产生器根据FFT的计算流程不断地产生数据和旋转因子地址。旋转因子存储器大小为2048字,每个字中存放一次基4蝶形所需要的三个旋转因子。缩放因子产生器根据蝶形运算单元的输出来决定所采用的缩放因子大小。
整个FFT处理器用Verilog HDL设计,使用SMIC 130nm CMOS工艺综合,能够进行2*11比特、64-8192点的复数FFT计算。整个核心的面积为2.29mm2,工作在100MHz时的功耗为67.9mW。进行8192点计算时的信噪比为33.3dB。该FFT处理器能够很好地用于高精度、低功耗的应用场合。
Claims (3)
1.一种FFT处理器,其特征在于,采用基于存储器交互的架构,其内部子模块包括:蝶形运算单元、地址产生器、数据存储器、旋转因子存储器和缩放因子产生器;FFT处理器的计算流程选取频域抽取法(DIF);所述蝶形运算单元采用基4/2的混合基可配置结构,能够支持一次基4运算或者两次基2运算;所述地址产生器根据要计算的FFT点数来产生每次运算的数据以及旋转因子的地址;所述数据存储器由四块2048字的双口SRAM以及选择电路组成,以支持最高8192点FFT的运算;所述旋转因子存储器大小为2048字,每个字中存放一次基4蝶形所需要的三个旋转因子,仅需要一次寻址访问就能获取三个旋转因子;所述缩放因子产生器根据蝶形运算单元的输出来决定所采用的缩放因子大小。
2.根据权利要求1所述的FFT处理器,其特征在于,采用改进后的块浮点技术,即将FFT运算分为若干数据不相关的块,每个块中的级间运算采用多个数据缩放因子;采用基于或门的Trounding技术以减少数据量化造成的误差。
3.根据权利要求2所述的FFT处理器,其特征在于,数据通路上配备了常系数乘法器阵列和普通复数乘法器,并由一种基于旋转因子序号的判定机制来选择乘法运算用哪个模块实现:如果即将进行的旋转因子复数乘法能被常系数乘法器阵列支持,那么采用常系数乘法器阵列进行计算,同时用门控时钟技术关断普通复数乘法器;反之,则开启普通复数乘法器,关断常系数乘法器阵列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103238939A CN103412851A (zh) | 2013-07-30 | 2013-07-30 | 一种高精度低功耗的fft处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103238939A CN103412851A (zh) | 2013-07-30 | 2013-07-30 | 一种高精度低功耗的fft处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103412851A true CN103412851A (zh) | 2013-11-27 |
Family
ID=49605864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013103238939A Pending CN103412851A (zh) | 2013-07-30 | 2013-07-30 | 一种高精度低功耗的fft处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103412851A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183701A (zh) * | 2015-09-06 | 2015-12-23 | 北京北方烽火科技有限公司 | 1536点fft处理方式及相关设备 |
CN106776474A (zh) * | 2016-11-21 | 2017-05-31 | 江苏宏云技术有限公司 | 一种矢量处理器实现fft运算的方法及系统 |
CN109558638A (zh) * | 2018-10-23 | 2019-04-02 | 清华大学 | Fft处理器 |
CN111210806A (zh) * | 2020-01-10 | 2020-05-29 | 东南大学 | 一种基于串行fft的低功耗mfcc语音特征提取电路 |
CN112163185A (zh) * | 2020-09-30 | 2021-01-01 | 中国科学院计算技术研究所 | Fft/ifft运算装置及基于该装置的fft/ifft运算方法 |
CN112231626A (zh) * | 2020-10-19 | 2021-01-15 | 南京宁麒智能计算芯片研究院有限公司 | 一种fft处理器 |
CN117312733A (zh) * | 2023-11-07 | 2023-12-29 | 灿芯半导体(上海)股份有限公司 | 一种动态调整计算速度的fft实现方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070106718A1 (en) * | 2005-11-04 | 2007-05-10 | Shum Hoi L | Fast fourier transform on a single-instruction-stream, multiple-data-stream processor |
CN101136891A (zh) * | 2007-08-09 | 2008-03-05 | 复旦大学 | 流水线结构的3780点快速傅里叶变换处理器 |
CN102063411A (zh) * | 2009-11-17 | 2011-05-18 | 中国科学院微电子研究所 | 一种基于802.11n的FFT/IFFT处理器 |
US20120166508A1 (en) * | 2010-12-23 | 2012-06-28 | Electronics And Telecommunications Research Institute | Fast fourier transformer |
WO2013042249A1 (ja) * | 2011-09-22 | 2013-03-28 | 富士通株式会社 | 高速フーリエ変換回路 |
-
2013
- 2013-07-30 CN CN2013103238939A patent/CN103412851A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070106718A1 (en) * | 2005-11-04 | 2007-05-10 | Shum Hoi L | Fast fourier transform on a single-instruction-stream, multiple-data-stream processor |
CN101136891A (zh) * | 2007-08-09 | 2008-03-05 | 复旦大学 | 流水线结构的3780点快速傅里叶变换处理器 |
CN102063411A (zh) * | 2009-11-17 | 2011-05-18 | 中国科学院微电子研究所 | 一种基于802.11n的FFT/IFFT处理器 |
US20120166508A1 (en) * | 2010-12-23 | 2012-06-28 | Electronics And Telecommunications Research Institute | Fast fourier transformer |
WO2013042249A1 (ja) * | 2011-09-22 | 2013-03-28 | 富士通株式会社 | 高速フーリエ変換回路 |
Non-Patent Citations (3)
Title |
---|
YIFAN BO ET AL.: "A Low Power ASIP for Precision Configurable FFT Processing", 《SIGNAL & INFORMATION PROCESSING ASSOCIATION ANNUAL SUIMNIT AND CONFERENCE (APSIPA ASC)》 * |
梁锡林: ""宽带无线通信中的关键技术研究"", 《中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑》 * |
肖昊: "基带处理器中多模快速傅里叶变换(FFT)加速器的研究与设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183701A (zh) * | 2015-09-06 | 2015-12-23 | 北京北方烽火科技有限公司 | 1536点fft处理方式及相关设备 |
CN105183701B (zh) * | 2015-09-06 | 2018-06-26 | 北京北方烽火科技有限公司 | 1536点fft处理方式及相关设备 |
CN106776474A (zh) * | 2016-11-21 | 2017-05-31 | 江苏宏云技术有限公司 | 一种矢量处理器实现fft运算的方法及系统 |
CN106776474B (zh) * | 2016-11-21 | 2019-04-16 | 江苏宏云技术有限公司 | 矢量处理器实现fft的系统及其数据交换、地址生成方法 |
CN109558638A (zh) * | 2018-10-23 | 2019-04-02 | 清华大学 | Fft处理器 |
CN109558638B (zh) * | 2018-10-23 | 2023-03-24 | 清华大学 | Fft处理器 |
CN111210806A (zh) * | 2020-01-10 | 2020-05-29 | 东南大学 | 一种基于串行fft的低功耗mfcc语音特征提取电路 |
CN112163185A (zh) * | 2020-09-30 | 2021-01-01 | 中国科学院计算技术研究所 | Fft/ifft运算装置及基于该装置的fft/ifft运算方法 |
CN112163185B (zh) * | 2020-09-30 | 2023-11-28 | 中国科学院计算技术研究所 | Fft/ifft运算装置及基于该装置的fft/ifft运算方法 |
CN112231626A (zh) * | 2020-10-19 | 2021-01-15 | 南京宁麒智能计算芯片研究院有限公司 | 一种fft处理器 |
CN117312733A (zh) * | 2023-11-07 | 2023-12-29 | 灿芯半导体(上海)股份有限公司 | 一种动态调整计算速度的fft实现方法 |
CN117312733B (zh) * | 2023-11-07 | 2024-04-16 | 灿芯半导体(上海)股份有限公司 | 一种动态调整计算速度的fft实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103412851A (zh) | 一种高精度低功耗的fft处理器 | |
CN102360344B (zh) | 矩阵处理器及其指令集和嵌入式系统 | |
CN103970720B (zh) | 基于大规模粗粒度嵌入式可重构系统及其处理方法 | |
TWI323850B (zh) | ||
CN109146067B (zh) | 一种基于FPGA的Policy卷积神经网络加速器 | |
CN101231632A (zh) | 应用fpga进行浮点fft处理的方法 | |
US20140025908A1 (en) | FAST MECHANISM FOR ACCESSING 2n±1 INTERLEAVED MEMORY SYSTEM | |
Yue et al. | A 28nm 16.9-300TOPS/W computing-in-memory processor supporting floating-point NN inference/training with intensive-CIM sparse-digital architecture | |
CN104679720A (zh) | 一种实现fft的运算方法 | |
CN104679719A (zh) | 一种基于fpga的浮点运算方法 | |
CN112231626A (zh) | 一种fft处理器 | |
CN106919537A (zh) | 一种基于FPGA的Jacobi变换的高效实现方法 | |
Revanna et al. | A scalable FFT processor architecture for OFDM based communication systems | |
Patyk et al. | Low-power application-specific FFT processor for LTE applications | |
CN102567283B (zh) | 一种利用gpu对小矩阵求逆的方法 | |
CN104679721A (zh) | 一种fft处理器的运算方法 | |
CN102541813B (zh) | 一种多粒度并行fft蝶形计算的方法及相应的装置 | |
Chang | Design of an 8192-point sequential I/O FFT chip | |
CN102789376B (zh) | 浮点数加法电路及其实现方法 | |
US20230297337A1 (en) | System and method for accelerating training of deep learning networks | |
CN114996638A (zh) | 一种顺序架构的可配置快速傅里叶变换电路 | |
Hazarika et al. | Energy efficient VLSI architecture of real‐valued serial pipelined FFT | |
CN103761074B (zh) | 一种流水结构定点fft字长配置方法 | |
Žádník et al. | Low-power programmable processor for fast Fourier transform based on transport triggered architecture | |
CN102033737A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131127 |
|
WD01 | Invention patent application deemed withdrawn after publication |