CN114186183A - 一种轻量化的fft运算方法及其实现装置 - Google Patents
一种轻量化的fft运算方法及其实现装置 Download PDFInfo
- Publication number
- CN114186183A CN114186183A CN202111450127.XA CN202111450127A CN114186183A CN 114186183 A CN114186183 A CN 114186183A CN 202111450127 A CN202111450127 A CN 202111450127A CN 114186183 A CN114186183 A CN 114186183A
- Authority
- CN
- China
- Prior art keywords
- fft
- level
- components
- point
- register
- 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
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000012545 processing Methods 0.000 claims abstract description 55
- 238000003860 storage Methods 0.000 claims abstract description 25
- 238000011065 in-situ storage Methods 0.000 claims abstract description 18
- 238000013461 design Methods 0.000 claims abstract description 17
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 7
- 230000000630 rising effect Effects 0.000 claims description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 4
- 238000002156 mixing Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 7
- 230000003068 static effect Effects 0.000 abstract description 5
- 238000000926 separation method Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 10
- 239000000969 carrier Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 238000000053 physical method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明提供了一种轻量化的FFT运算方法及其实现装置,进行流水型结构优化,采用分层级拆分完成FFT数字信号处理,利用分时复用电路完成运算过程中信号分量的级间处理,利用级间寄存器原位运算,针对数字信号处理过程中信号分量数量多、暂存信号分量时存储层次复杂的特点进行优化。本发明减少了FFT运算在信号处理过程中的所需的硬件资源使用量,进而减小其应用在DSP芯片中时的芯片面积,达到轻量化设计的效果,更符合现代DSP芯片设计的小型化特点,可以减小芯片面积,由芯片面积的减小而带来了运算静态功耗的下降,减少了FFT运算进行信号处理时的功耗,进而达到降低DSP芯片整体功耗的效果,达到轻量化设计的效果。
Description
技术领域
本发明涉及数字信号处理类芯片设计技术领域,具体为用于DSP芯片中完成FFT运算的信号处理方法及其电路实现装置。
背景技术
数字信号处理是一种以数字运算方式实现信号变换、滤波、检测以及快速变换的一门学科,其在通信、图像处理、无线电雷达等领域有着广泛的使用,现代数字信号处理的过程中,其实时性与精确性都有着较高的要求,因此往往采用芯片作为载体完成数字信号处理所涉及的运算。
FFT运算属于数字信号处理的一种,能够实现快速的傅里叶变换,进而完成信号的调制、滤波等,本质上是一种利用计算机、芯片等电子载体进行信号处理的物理方法。
FFT运算作为一种信号处理的物理方法,其中包含了大量的运算,在使用芯片作为载体进行运算的过程中,其必然消耗大量的物理资源,在使用FFT运算进行信号处理的过程中,如果消耗的资源量过大,则会导致整个数字信号处理系统的性能衰退,并带来更高的功耗,尤其是在包含了DSP功能的芯片中,这将严重影响芯片的性能。因此对于完成FFT运算而言,一种小面积、低功耗的轻量化FFT运算处理方法可以有效的提升信号处理的效率,按照这一方法进行设计的电路结构可以有效提升整体的芯片性能。
由上述分析可知,FFT运算作为一种电子物理学中信号处理的方法,其不可或缺的需要使用芯片等电子载体完成运算,而经查验国内外的论文与专利等相关研究发现,现有的FFT运算方法普遍存在着在完成信号处理的过程中存在着对芯片等电子载体性能需求过高、功耗与面积消耗过大的问题。
发明内容
为了克服现有技术的不足,本发明提供一种轻量化的FFT运算方法及其实现装置。本发明提供一种用于数字信号处理芯片中低功耗、小面积的轻量化FFT运算方法,并按照这一方法设计其运算电路实现装置,以解决上述DSP芯片的FFT运算存在的问题。本发明提供轻量化的FFT运算信号处理方法,并设计对应的运算电路实现装置减少其对芯片的功耗与面积的消耗,能够更好地适应现代数字信号处理中的实时性要求。
本发明解决其技术问题所采用的技术方案是:
一种轻量化的FFT运算方法,包含如下步骤:
(1)进行流水型结构优化,采用分层级拆分完成FFT数字信号处理的过程,具体步骤为:
对于2N点FFT运算的流水结构优化为N级流水结构,流水型结构在第N级运算进行的同时,第N-1级运算仍正常输出信号处理的运算结果,在进行蝶形运算的过程中,仅需要N个蝶形运算单元即可完成连续不断的信号的运算处理;
所述N级流水结构中,第N级与第N-1级采取串联的连接方式,第N-1级运算的输出作为第N级运算的输入,在完成流水运算的启动后,N级流水结构能够同时完成第N-1级和第N级的同时输出;
(2)利用分时复用电路完成运算过程中信号分量的级间处理,具体为:
蝶形运算单元为达到轻量化运算的目的,将通用蝶形运算电路替换为分时复用电路;
所述分时复用电路包含2个16bit定点乘法运算器和1个16bit定点加法运算器,定点乘法运算器和定点加法运算器在时钟上升沿,对2个16bit定点乘法器输入的四个操作数a,b,c,d分别进行a乘b和c乘d,并在完成后使用16bit定点加法器对所得乘积结果进行相加,得到余弦分量,并在时钟下降沿按照同样方法进行信号处理,得到正弦分量;完成FFT运算数字信号处理过程中,各级蝶形运算的信号分量生成时,所生成的信号分量分为余弦分量与正弦分量,余弦分量与正弦分量均由同一分时复用电路利用2个16bit定点乘法运算器和1个16bit定点加法运算器生成,在生成的过程中,两者时序不同,具体为余弦分量在时钟上升沿运算完成,正弦分量在时钟下降沿运算完成,在一个时钟周期内完成两次信号分量的运算,所述分时复用电路用于完成蝶形运算单元的蝶形运算,运算的输出结果存于级间寄存器中;
(3)利用级间寄存器原位运算,针对数字信号处理过程中信号分量数量多、暂存信号分量时存储层次复杂的特点进行优化,具体为:
当步骤(2)中的FFT运算的信号分量运算结果作为输入的数据存储到存储单元后,在其后续信号处理运算无需使用时,对级间寄存器进行覆盖操作,运算时无需使用是指步骤(2)中分时复用电路在蝶形运算过程中已经完成了对其数值的调用;
所述原位运算是根据步骤(1)中流水级中的信号分量寄存关系,利用其分量的实时性特点,将运算过的分量标记为冗余信号,将标记的冗余信号覆盖,节省每一级运算后2N -1-1个的信号分量的存储空间,具体为对2N点FFT运算,在第N级流水中减小2N-1-1个寄存器的使用,即利用2N+1+1个寄存器即可完成信号暂存。
所述存储空间为RAM,所述的暂存信号分量的过程是指RAM存储第N-1级的蝶形运算所得正余弦分量结果,并供第N级蝶形运算调用。
所述N值为各个大于2的自然数。
一种轻量化的FFT运算方法的实现装置,数据输入转换接口、数据输出转换接口、采用分时复用电路的蝶形运算模块、采用原位运算结构的运算间寄存器、常值ROM存储单元各个模块按照流水层级组成;其中信号输入后首先经过数据输入转换接口分为16bit的实部和16bit的虚部,经过转换的输入操作数作为蝶形运算模块的操作数,经过蝶形运算配合常值ROM中存储的常值进行蝶形运算,得到正弦分量和余弦分量的运算结果,将这一结构存储在运算间寄存器之中,经过N级流水后,运算结果经数据输出转换接口输出,所述的蝶形运算模块采用步骤(2)中的分时复用电路,所述运算间的寄存器采用步骤(3)中的原位运算。
所述的常值ROM为通用ROM或者其他不可改型的寄存器、FIFO存储单元电路结构。
步骤(2)中所述的2个16bit定点乘法运算器和1个16bit定点加法运算器采用芯片设计中的定点运算器和浮点运算器。
步骤(3)中所述的存储空间除了RAM以外,为FIFO或寄存器组或寄存器堆或其它能完成数据存取的电路结构。
所述的轻量化FFT运算方法在芯片化电路实现过程中,步骤(2)、步骤(3)的优化方法适用的场景不仅仅局限于所采取基元N值为各个大于2的自然数时有效,在混合型基元中使用,所述的混合基元指3点FFT、5点FFT、6点FFT、30点FFT由2与质数或质数与质数混合而得的运算基元。
本发明的有益效果在于:
(1)由于采用了分时复用电路与寄存器原位运算的方法,减少了FFT运算在信号处理过程中的所需的硬件资源使用量,进而减小其应用在DSP芯片中时的芯片面积,达到轻量化设计的效果,更符合现代DSP芯片设计的小型化特点。
(2)由于采用的分时复用电路与寄存器原位运算方法可以减小芯片面积,由芯片面积的减小而带来了运算静态功耗的下降,所以本发明减少了FFT运算进行信号处理时的功耗,进而达到降低DSP芯片整体功耗的效果,达到轻量化设计的效果,更符合现代DSP芯片设计的低功耗特点。
附图说明
图1为本发明的方法流程示意图;
图2为本发明的电路整体实施结构示意图;
图3为本发明各个流水模块分级示意图;
图4为本发明分时复用电路示意图;
图5为本发明级间寄存器原位运算示意图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
本发明解决其技术问题所采用的技术方案是:
本发明提供一种能够完成轻量化FFT运算的方法,具体为应用在DSP芯片设计中涉及FFT运算时的一种轻量化运算方法,这一方法的流程图如图1所示。
该方法包含如下步骤:
(1)进行流水型结构优化,采用分层级拆分完成FFT数字信号处理的过程,具体步骤为:
对于2N点FFT运算的流水结构优化为N级流水结构,流水型结构在第N级运算进行的同时,第N-1级运算仍正常输出信号处理的运算结果,在进行蝶形运算的过程中,仅需要N个蝶形运算单元即可完成连续不断的信号的运算处理;
所述N级流水结构中,第N级与第N-1级采取串联的连接方式,第N-1级运算的输出作为第N级运算的输入,在完成流水运算的启动后,N级流水结构能够同时完成第N-1级和第N级的同时输出;
所述蝶形运算单元为达到轻量化运算的目的,将通用蝶形运算电路替换为分时复用电路的专用结构;
(2)利用分时复用电路完成运算过程中信号分量的级间处理,具体为:
针对级间的信号中间分量处理过程中实时运算结束后不在调用的特性,利用芯片中的16bit乘法器与16bit加法器电路进行运算,所述分时复用电路包含2个16bit定点乘法运算器和1个16bit定点加法运算器,定点乘法运算器和定点加法运算器在时钟上升沿,对2个16bit定点乘法器输入的四个操作数a,b,c,d分别进行a乘b和c乘d,并在完成后使用16bit定点加法器对所得乘积结果进行相加,得到余弦分量,并在时钟下降沿按照同样方法进行信号处理,得到正弦分量;完成FFT运算数字信号处理过程中,各级蝶形运算的信号分量生成时,所生成的信号分量分为余弦分量与正弦分量,余弦分量与正弦分量均由同一分时复用电路利用2个16bit定点乘法运算器和1个16bit定点加法运算器生成,在生成的过程中,两者时序不同,具体为余弦分量在时钟上升沿运算完成,正弦分量在时钟下降沿运算完成;因此所述的分时复用电路相较于通用结构,在一个时钟周期内完成两次信号分量的运算,所述分时复用电路用于完成步骤(1)中的蝶形运算,替换通用的蝶形运算单元,运算的输出结果存于步骤(3)所述的级间寄存器中;
(3)利用级间寄存器原位运算,针对数字信号处理过程中信号分量数量多、暂存信号分量时存储层次复杂的特点进行优化,具体为:
当步骤(2)中的FFT运算的信号分量运算结果作为输入的数据存储到存储单元后,在其后续信号处理运算无需使用时,对级间寄存器进行覆盖操作,以便节省存储信号分量物理空间;运算时无需使用是指步骤(2)中分时复用电路在蝶形运算过程中已经完成了对其数值的调用。
上述的原位运算是根据步骤(1)中流水级中的信号分量寄存关系,利用其分量的实时性特点,将运算过的分量标记为冗余信号,将标记的冗余信号覆盖,节省每一级运算后2N-1-1个的信号分量的存储空间,具体为对2N点FFT运算,在第N级流水中减小2N-1-1个寄存器的使用,即利用2N+1+1个寄存器即可完成信号暂存。
所述存储空间为RAM,所述的暂存信号分量的过程是指RAM存储第N-1级的蝶形运算所得正余弦分量结果,并供第N级蝶形运算调用。
所述N值为各个大于2的自然数,优选地,本发明选取N值为10。
一种轻量化的FFT运算方法的实现装置,数据输入转换接口、数据输出转换接口、采用分时复用电路的蝶形运算模块、采用原位运算结构的运算间寄存器、常值ROM存储单元各个模块按照流水层级组成;其中信号输入后首先经过数据输入转换接口分为16bit的实部和16bit的虚部,经过转换的输入操作数作为蝶形运算模块的操作数,经过蝶形运算配合常值ROM中存储的常值进行蝶形运算,得到正弦分量和余弦分量的运算结果,将这一结构存储在运算间寄存器之中,经过10次上述操作即10级流水后,运算结果经数据输出转换接口输出,其装置如图2所示;为达到轻量化运算的目的,所述的蝶形运算模块采用步骤(2)中的分时复用电路,所述运算间的寄存器采用步骤(3)中的原位运算,其余上述的数据输入转换接口和数据输出转换接口采用通用的转换接口,所述的常值ROM为通用ROM或者其他不可改型的寄存器、FIFO存储单元电路结构。
步骤(2)中所述的2个16bit定点乘法运算器和1个16bit定点加法运算器采用芯片设计中的定点运算器和浮点运算器,比如2个32bit定点乘法运算器和1个32bit定点加法运算器、2个32bit浮点乘法运算器和1个32bit浮点加法运算器等通用运算电路结构。
步骤(3)中所述的存储空间除了RAM以外,为FIFO或寄存器组或寄存器堆或其它能完成数据存取的电路结构。
所述的轻量化FFT运算方法在芯片化电路实现过程中,步骤(2)、步骤(3)的优化方法适用的场景不仅仅局限于所采取基元N值为各个大于2的自然数时有效,在混合型基元中使用,所述的混合基元指3点FFT、5点FFT、6点FFT、30点FFT由2与质数或质数与质数混合而得的运算基元。
在DSP芯片设计领域,由于芯片的功耗分为动态功耗和静态功耗,芯片的电路面积大小直接影响了其中的静态功耗值,芯片面积越小,静态功耗值越低,同时更小的芯片面积也可以有效降低动态功耗,采用前述的轻量化FFT计算方法时,由于所采用的步骤(2)、步骤(3)相较于其他FFT运算方法可以有效通过减小运算单元与存储单元的大小而节省芯片的面积,进而降低芯片功耗,因此本发明所述的轻量化FFT运算方法对于DSP芯片中的功耗与面积消耗过大的问题是一种优化的解决方案。
实施例中,本发明所述的轻量化FFT运算电路实现装置包含输入转接口、输出转接口、10级蝶形运算模块、10级级间寄存器存储、常值ROM存储各个模块,其示意图如图2所示,其中待处理信号经过输入转接口被分为代表信号余弦分量的16bit实部和正弦分量的16bit虚部,余弦分量与正弦分量经过每一级的蝶形运算模块利用常值ROM内存储的选择分量处理后将结果存入级间寄存器存储,最后将运算结果的余弦分量与正弦分量合并后由初始转接口输出,其中所述的输入转接口、输出转接口可以采用通用接口,所述的常值ROM存储具体为1024常数值存储的ROM电路,所述的蝶形运算模块具体采用本发明上述步骤(2)的分时复用电路结构的蝶形运算模块,所述的级间寄存器具体采用本发明上述步骤(3)的级间寄存器原位运算电路的级间寄存器。
本发明所述的轻量化FFT运算方法的实施实例为DSP芯片中数字信号处理的功能模块,其整体示意图如图2所示,其中数字信号的输入信号应当遵守相应的数据规范,本实例中具体为32bit的信号输入,包含分为16bit的余弦分量与16bit的正弦分量,由输入端口进入本实例中,本实例中的蝶形运算模块分为10级,以完成1024点的流水型结构FFT运算;运算间寄存器组reg存储上一流水级运算的结果,作为下一级流水的运算信号分量,在完成10级流水蝶形运算后,经输出转换接口将处理后的信号结果传输到输出接口上。
针对所述的流水型结构优化,其中流水型结构示意图如图3所述,其中对1204点的FFT运算,本实例将其分为10级流水进行运算以完成整个信号的变换处理,将FFT运算中的每一个蝶形运算划分为一个单独的流水层级,并在蝶形运算内部也采用流水线的设计方法,对于FFT运算指令和输入信号到来后,开始执行运算,每个周期都可以进行信号数据的吞吐,后一级的蝶形运算无需等待前一级的蝶形运算彻底结束就可以执行运算,避免了等待信号分量产生时的冗余时间,因此很好的满足了数字信号处理的实时性需求。
针对所述的分时复用电路,其电路图如图4所示,其中乘法器具体功能为能完成两个16bit信号分量相乘,并输出一个16bit运算结果,其中加法器具体功能为能完成两个16bit信号分量相加,并输出一个16bit运算结果,分时复用电路采用2个乘法器和一个加法器完成2组乘加运算,具体包括余弦信号分量的2个乘法和1个加法与正弦信号分量的两个乘法与一个加法,采用上述的分时复用电路,可以减少2个乘法器与1个加法器的使用,有效减小了完成FFT运算的芯片面积与动态功耗,进而达到轻量化设计的效果。
针对所述的级间寄存器原位运算,其示意图如图5所示,其中reg是指具有存储信号分量功能的寄存器,其作用是暂存信号分量,以便下一级流水调用,在完成级间流水传递的过程中,利用2N-1+1个寄存器即可完成N个信号分量的暂存,采用如图5的设计方案可以有效节省FFT信号处理过程中所使用的寄存器数量,在传统的FFT协处理器中,如果中间某一级的信号分量所需暂存为N个寄存器,则本发明所使用的寄存器仅为2N-1+1个,相较于传统的FFT协处理器寄存器组,可以减少2N-1-1个寄存器的使用,因1024点FFT运算分为10级流水,随着流水级数的增加,所减少的寄存器存储空间量也一次倍增,所以按照本发明所述的设计方案进行1024点FFT时,可以在保持信号分量数量不变的情况下,减少寄存器的使用量,有效节省DSP芯片的面积,并可以提升FFT运算进行信号处理的速度、降低FFT运算信号处理过程中产生的功耗,进而达到轻量化设计的效果。
采用上述方案完成1024点FFT运算进行数字信号处理时,其信号处理过程中各级流水完成处理的关键时间点为:第1级流水18.26μs,第2级流水为18.82μs,第3级流水为19.54μs,第4级流水为20.58μs,第5级流水为22.26μs,第6级流水为25.22μs,第7级流水为30.74μs,第8级流水为41.38μs,第9级流水为62.30μs,第10级流水为72.92μs,上述的各个时间点也表明本发明实例完成FFT运算数字信号处理的耗时为72.92μs。
上述的实施实例阐明了一种本发明所述的轻量化FFT运算方法在DSP芯片中完成数字信号处理的实现方式,具体为针对1024点的FFT运算时的实施实例,从这一实例可以看出,本发明具有小面积、低功耗的轻量化设计特点,所应理解的是上述实例仅为本发明的其中一种具体应用,并非用来限定本发明的技术方案内容。
Claims (8)
1.一种轻量化的FFT运算方法,其特征在于包括下述步骤:
(1)进行流水型结构优化,采用分层级拆分完成FFT数字信号处理的过程,具体步骤为:
对于2N点FFT运算的流水结构优化为N级流水结构,流水型结构在第N级运算进行的同时,第N-1级运算仍正常输出信号处理的运算结果,在进行蝶形运算的过程中,仅需要N个蝶形运算单元即可完成连续不断的信号的运算处理;
所述N级流水结构中,第N级与第N-1级采取串联的连接方式,第N-1级运算的输出作为第N级运算的输入,在完成流水运算的启动后,N级流水结构能够同时完成第N-1级和第N级的同时输出;
(2)利用分时复用电路完成运算过程中信号分量的级间处理,具体为:
蝶形运算单元为达到轻量化运算的目的,将通用蝶形运算电路替换为分时复用电路;
所述分时复用电路包含2个16bit定点乘法运算器和1个16bit定点加法运算器,定点乘法运算器和定点加法运算器在时钟上升沿,对2个16bit定点乘法器输入的四个操作数a,b,c,d分别进行a乘b和c乘d,并在完成后使用16bit定点加法器对所得乘积结果进行相加,得到余弦分量,并在时钟下降沿按照同样方法进行信号处理,得到正弦分量;完成FFT运算数字信号处理过程中,各级蝶形运算的信号分量生成时,所生成的信号分量分为余弦分量与正弦分量,余弦分量与正弦分量均由同一分时复用电路利用2个16bit定点乘法运算器和1个16bit定点加法运算器生成,在生成的过程中,两者时序不同,具体为余弦分量在时钟上升沿运算完成,正弦分量在时钟下降沿运算完成,在一个时钟周期内完成两次信号分量的运算,所述分时复用电路用于完成蝶形运算单元的蝶形运算,运算的输出结果存于级间寄存器中;
(3)利用级间寄存器原位运算,针对数字信号处理过程中信号分量数量多、暂存信号分量时存储层次复杂的特点进行优化,具体为:
当步骤(2)中的FFT运算的信号分量运算结果作为输入的数据存储到存储单元后,在其后续信号处理运算无需使用时,对级间寄存器进行覆盖操作,运算时无需使用是指步骤(2)中分时复用电路在蝶形运算过程中已经完成了对其数值的调用;
所述原位运算是根据步骤(1)中流水级中的信号分量寄存关系,利用其分量的实时性特点,将运算过的分量标记为冗余信号,将标记的冗余信号覆盖,节省每一级运算后2N-1-1个的信号分量的存储空间,具体为对2N点FFT运算,在第N级流水中减小2N-1-1个寄存器的使用,即利用2N+1+1个寄存器即可完成信号暂存。
2.根据权利要求1所述的轻量化的FFT运算方法,其特征在于:
所述存储空间为RAM,所述的暂存信号分量的过程是指RAM存储第N-1级的蝶形运算所得正余弦分量结果,并供第N级蝶形运算调用。
3.根据权利要求1所述的轻量化的FFT运算方法,其特征在于:
所述N值为各个大于2的自然数。
4.一种利用权利要求1所述轻量化的FFT运算方法的实现装置,其特征在于:
所述轻量化的FFT运算方法的实现装置,数据输入转换接口、数据输出转换接口、采用分时复用电路的蝶形运算模块、采用原位运算结构的运算间寄存器、常值ROM存储单元各个模块按照流水层级组成;其中信号输入后首先经过数据输入转换接口分为16bit的实部和16bit的虚部,经过转换的输入操作数作为蝶形运算模块的操作数,经过蝶形运算配合常值ROM中存储的常值进行蝶形运算,得到正弦分量和余弦分量的运算结果,将这一结构存储在运算间寄存器之中,经过N级流水后,运算结果经数据输出转换接口输出,所述的蝶形运算模块采用步骤(2)中的分时复用电路,所述运算间的寄存器采用步骤(3)中的原位运算。
5.根据权利要求4所述的轻量化的FFT运算方法的实现装置,其特征在于:
所述的常值ROM为通用ROM或者其他不可改型的寄存器、FIFO存储单元电路结构。
6.根据权利要求4所述的轻量化的FFT运算方法的实现装置,其特征在于:
步骤(2)中所述的2个16bit定点乘法运算器和1个16bit定点加法运算器采用芯片设计中的定点运算器和浮点运算器。
7.根据权利要求4所述的轻量化的FFT运算方法的实现装置,其特征在于:
步骤(3)中所述的存储空间除了RAM以外,为FIFO或寄存器组或寄存器堆或其它能完成数据存取的电路结构。
8.根据权利要求4所述的轻量化的FFT运算方法的实现装置,其特征在于:
所述的轻量化FFT运算方法在芯片化电路实现过程中,步骤(2)、步骤(3)的优化方法适用的场景不仅仅局限于所采取基元N值为各个大于2的自然数时有效,在混合型基元中使用,所述的混合基元指3点FFT、5点FFT、6点FFT、30点FFT由2与质数或质数与质数混合而得的运算基元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111450127.XA CN114186183B (zh) | 2021-12-01 | 2021-12-01 | 一种轻量化的fft运算方法及其实现装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111450127.XA CN114186183B (zh) | 2021-12-01 | 2021-12-01 | 一种轻量化的fft运算方法及其实现装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114186183A true CN114186183A (zh) | 2022-03-15 |
CN114186183B CN114186183B (zh) | 2024-04-16 |
Family
ID=80603178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111450127.XA Active CN114186183B (zh) | 2021-12-01 | 2021-12-01 | 一种轻量化的fft运算方法及其实现装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114186183B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115085766A (zh) * | 2022-06-13 | 2022-09-20 | 重庆邮电大学 | 基于fft、ifft级联结构的电力线通信定时同步实现方法 |
CN116049612A (zh) * | 2023-04-03 | 2023-05-02 | 南京楚航科技有限公司 | 一种基于zynq-fpga的fft复用方法、系统及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061705A (en) * | 1998-01-21 | 2000-05-09 | Telefonaktiebolaget Lm Ericsson | Power and area efficient fast fourier transform processor |
CN108021781A (zh) * | 2018-01-31 | 2018-05-11 | 中国电子科技集团公司第五十四研究所 | 一种可参数化的fft ip核设计和优化方法 |
CN109815438A (zh) * | 2019-01-21 | 2019-05-28 | 清华大学 | 基于混合基运算的高效能浮点fft硬件加速器设计方法 |
CN110765709A (zh) * | 2019-10-15 | 2020-02-07 | 天津大学 | 一种基于fpga的基2-2快速傅里叶变换硬件设计方法 |
-
2021
- 2021-12-01 CN CN202111450127.XA patent/CN114186183B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061705A (en) * | 1998-01-21 | 2000-05-09 | Telefonaktiebolaget Lm Ericsson | Power and area efficient fast fourier transform processor |
CN108021781A (zh) * | 2018-01-31 | 2018-05-11 | 中国电子科技集团公司第五十四研究所 | 一种可参数化的fft ip核设计和优化方法 |
CN109815438A (zh) * | 2019-01-21 | 2019-05-28 | 清华大学 | 基于混合基运算的高效能浮点fft硬件加速器设计方法 |
CN110765709A (zh) * | 2019-10-15 | 2020-02-07 | 天津大学 | 一种基于fpga的基2-2快速傅里叶变换硬件设计方法 |
Non-Patent Citations (2)
Title |
---|
韩颖, 王旭, 吴嗣亮: "FPGA实现高速加窗复数FFT处理器的研究", 北京理工大学学报, no. 03, 30 June 2003 (2003-06-30) * |
黄战华;赵宇璐;李桂芳;王云立;: "少模光纤通信频域均衡中的大点数FFT设计", 激光技术, no. 02, 25 March 2016 (2016-03-25) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115085766A (zh) * | 2022-06-13 | 2022-09-20 | 重庆邮电大学 | 基于fft、ifft级联结构的电力线通信定时同步实现方法 |
CN116049612A (zh) * | 2023-04-03 | 2023-05-02 | 南京楚航科技有限公司 | 一种基于zynq-fpga的fft复用方法、系统及装置 |
CN116049612B (zh) * | 2023-04-03 | 2023-07-28 | 南京楚航科技有限公司 | 一种基于zynq-fpga的fft复用方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114186183B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5941940A (en) | Digital signal processor architecture optimized for performing fast Fourier Transforms | |
CN114186183A (zh) | 一种轻量化的fft运算方法及其实现装置 | |
CN110765709B (zh) | 一种基于fpga的基2-2快速傅里叶变换硬件设计方法 | |
CN112231626B (zh) | 一种fft处理器 | |
CN109117188B (zh) | 一种多路混合基fft可重构蝶形运算器 | |
KR20090071823A (ko) | 다기능 연산장치 및 방법 | |
CN107544942A (zh) | 一种快速傅里叶变换的vlsi设计方法 | |
CN116450217A (zh) | 一种多功能定点乘法和乘累加运算装置及方法 | |
KR100492091B1 (ko) | 프로그래머블 프로세서에서의 고속 푸리에 변환 연산회로및 연산방법 | |
CN106951394A (zh) | 一种可重构定浮点通用fft处理器 | |
Que et al. | Recurrent neural networks with column-wise matrix–vector multiplication on FPGAs | |
Lai et al. | Low-computation-cycle, power-efficient, and reconfigurable design of recursive DFT for portable digital radio mondiale receiver | |
CN104657334B (zh) | 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用 | |
US7653676B2 (en) | Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine | |
CN112559954B (zh) | 基于软件定义可重构处理器的fft算法处理方法及装置 | |
CN108628805A (zh) | 一种低功耗的蝶形运算单元及处理方法、fft处理器 | |
CN113591031A (zh) | 低功耗矩阵运算方法及装置 | |
Vergara et al. | A 195K FFT/s (256-points) high performance FFT/IFFT processor for OFDM applications | |
CN107291420A (zh) | 整合算术及逻辑处理的装置 | |
Zhong et al. | An ultra high-speed FFT processor | |
CN111562900A (zh) | 用于高精度导航的fft计算方法、计算模块及其芯片 | |
CN109921800A (zh) | 基于自定制浮点格式的频域脉冲压缩方法 | |
CN118278477B (zh) | 面向混合精度神经网络的存内计算单元设计方法和系统 | |
CN103440228B (zh) | 一种基于融合乘加指令加速fft计算的方法 | |
Geresu et al. | Area-Efficient 128-to 2048/1536-Point Pipeline FFT Processor for LTE and Mobile Wimax Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |