一种可配置的FFT架构系统技术方案

技术编号:28374420 阅读:15 留言:0更新日期:2021-05-08 00:01
本公开提供一种可配置的FFT硬件架构系统,包括:顶层控制模块,用于产生控制信号;多输入通道存储器模块,用于在控制信号的作用下,将输入的输入数据写入及存储,并能够将多输入通道存储器模块存储的数据进行分配形成存储器位置数据;蝶形运算模块,用于在控制信号的作用下,输入存储器位置数据,并对存储器位置数据进行FFT计算的蝶形运算,形成计算数据并作为输入数据;多输入通道存储器模块还用于将所述计算数据作为输入数据,形成循环迭代计算;输出排序模块,用于在控制信号的作用下,在蝶形运算模块进行设定次数的蝶形运算后,读取多输入通道存储器模块存储的存储器位置数据,并将其重新排列输出。

【技术实现步骤摘要】
一种可配置的FFT架构系统
本公开涉及数字信号处理
,尤其涉及一种可配置的FFT硬件架构。
技术介绍
随着电子技术和集成电路技术的快速发展,数字信号处理已经广泛的用于通信、医疗、自动化控制等领域。在当今的数字化的时代,一系列的电子产品给人们的生活带来了太多的益处,数字信号处理技术也已经深入到了当今生活的方方面面。不过归根结底,数字信号处理基本上从时域和频域两个方面来解决信号的处理问题,而卷积和离散傅里叶变换是其中最主要的运算。同时根据数字信号的相关理论研究,卷积也是可以化为离散傅里叶变换来实现的,其实很多算法,如相关、滤波、谱分析等都是可以转化为离散傅里叶变换来实现的。所以离散傅里叶变换的快速傅里叶变换(FFT)可以称之为数字信号处理领域当中的基本技术之一。FFT算法是离散傅里叶变换的一种简化算法,该算法以蝶形运算作为基础,可以极大的减少模型的计算复杂度。FFT点数可以分解为多个因子相乘,如常见的基二、基四、基八,混合基也是一种实现的方式。通常来说蝶形单元的复杂度决定了FFT运算的复杂度,蝶形运算的单元的复杂度越大,控制的难度更大。FFT的硬件实现,通常有两种方式:第一种是数据流水式,这一种方式没有任何的数据驻留的缓存,由于级数已经固定,这种实现的方式不能很好用于不同长度的输入的序列;另外一种方式是数据驻留式的,这一种仅需要一个运算单元,但是在系统当中需要有保留中间运算数据的缓存,通过将数据循环输入到同一个运算单元来完成FFT的多级运算。数据驻留式通常来说在吞吐率方面落后于数据流水式,但是这一种方式所占用的资源和面积的消耗相对较少,控制逻辑比较复杂。基四和基二的混合基的计算理论上是可以计算2^n(8~+∞)的任意点数的FFT的计算,基四的计算可以减少FFT计算的级数,减少乘加的运算量,而基二的辅助可以实现任意的2^n的点数。
技术实现思路
(一)要解决的技术问题基于上述问题,本公开提供了一种可配置的FFT硬件架构,以缓解现有技术中FFT的资源消耗大、硬件结构不灵活等技术问题。(二)技术方案本公开提供了一种可配置的FFT硬件架构系统,包括:顶层控制模块,用于产生控制信号;多输入通道存储器模块,用于在所述控制信号的作用下,将输入的输入数据写入及存储,并能够将所述多输入通道存储器模块存储的数据进行分配形成存储器位置数据;蝶形运算模块,用于在所述控制信号的作用下,输入所述存储器位置数据,并对所述存储器位置数据进行FFT计算的蝶形运算,形成计算数据并作为所述输入数据;其中,所述多输入通道存储器模块还用于将所述计算数据作为所述输入数据,形成循环迭代计算;输出排序模块,用于在所述控制信号的作用下,在所述蝶形运算模块进行设定次数的所述蝶形运算后,读取所述多输入通道存储器模块存储的存储器位置数据,并将其重新排列输出。在本公开实施例中,所述顶层控制模块包括:输入数据解析模块,用于FFT计算任意点数的配置,根据不同的输入来调整蝶形运算的级数、基二运算的调用次数;输出信号控制模块,能够产生控制各模块的控制信号。在本公开实施例中,所述顶层控制模块具有六个状态机,作用为分别可以控制FFT硬件架构系统为空闲状态、地址分配状态、基四运算状态、暂停状态、基二运算状态,输出排序状态。在本公开实施例中,所述多输入通道存储器模块包括:RAM模块,具有四个存储区,用于所述存储器位置数据的存储;输入数据选择模块,能够将输入数据按照设定的顺序输入到所述RAM模块的四个存储区;读数据选择模块,用于每一次FFT计算选择相应的读出存储器位置数据的地址;读出选择模块,用于对所述存储器位置数据按设定地址进行排序,保证数据可以正常的依次输出。在本公开实施例中,所述RAM模块的各个存储区均为双端口RAM,能够使所述RAM模块同时进行四个数据的写入和四个数据的读出。在本公开实施例中,所述读出选择模块对所述存储器位置数据排序,将所述存储器位置数据按其地址倒序读出。在本公开实施例中,所述蝶形运算模块包括:基二计算单元,用于基二蝶形运算;基四计算单元,用于基四蝶形运算。在本公开实施例中,所述蝶形运算模块能够所述顶层控制模块的控制,进行设定次数的基四蝶形运算和设定次数的基二蝶形运算。在本公开实施例中,所述蝶形运算模块优先进行基四蝶形运算。(三)有益效果从上述技术方案可以看出,本公开一种可配置的FFT硬件架构至少具有以下有益效果其中之一或其中一部分:(1)可以在初始时刻任意配置2n点数,根据不同的点数硬件架构可以重新映射程相应点数的FFT硬件架构,可有效降低FFT的资源消耗;(2)实现了采用基四和基二的混合计算;(3)具有将强的迁移和重配置的能力;以及(4)减小了整个系统的数据等待时间。附图说明图1为本公开实施例可配置的FFT硬件架构的结构示意图。图2为本公开实施例可配置的FFT硬件架构的整体架示意图。图3为本公开实施例可配置的FFT硬件架构的基二蝶形运算示意图。图4为本公开实施例可配置的FFT硬件架构的基四蝶形运算示意图。图5为本公开实施例可配置的FFT硬件架构的8点的数据重排示意图。图6为本公开实施例可配置的FFT硬件架构的顶层模块的状态机示意图。图7为本公开实施例可配置的FFT硬件架构的2048点的FFT的仿真结果图。图8为本公开实施例可配置的FFT硬件架构的MATLAB和FPGA的仿真误差图。具体实施方式本公开提供了一种可配置的FFT硬件架构,并在现场可编程逻辑门阵列(FPGA)上对该架构进行了验证和仿真。该架构引入基二计算单元和基四计算单元的蝶形运算模块、多输入通道存储器模块、输出排序模块和顶层控制模块。为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。在本公开实施例中,提供一种可配置的FFT硬件架构,如图1和图2所示,所述制备方法,包括:顶层控制模块,用于产生控制信号,控制FFT硬件架构系统所处的状态和控制系统对数据的操作;多输入通道存储器模块,用于在所述控制信号的作用下,将输入的输入数据写入及存储,并能够将所述多输入通道存储器模块存储的数据进行分配形成存储器位置数据;蝶形运算模块,用于在所述控制信号的作用下,输入所述存储器位置数据,并对所述存储器位置数据进行FFT计算的蝶形运算,形成计算数据并作为所述输入数据;其中,所述多输入通道存储器模块还用于将所述计算数据作为所述输入数据,形成循环迭代计算。输出排序模块,用于在所述控制信号的作用下,在所述蝶形运算模块进行设定次数的所述蝶形运算后,读取所述多输入通道存储器模块存储的存储器位置数据,并将其重新排列输出。在本公开实施例中,所述顶层控制模块包括:输入数据解析模块,用于FFT计算任意点数的配置,根据不同的输入来调整蝶本文档来自技高网
...

【技术保护点】
1.一种可配置的FFT架构系统,包括:/n顶层控制模块,用于产生控制信号;/n多输入通道存储器模块,用于在所述控制信号的作用下,将输入的输入数据写入及存储,并能够将所述多输入通道存储器模块存储的数据进行分配形成存储器位置数据;/n蝶形运算模块,用于在所述控制信号的作用下,输入所述存储器位置数据,并对所述存储器位置数据进行FFT计算的蝶形运算,形成计算数据并作为所述输入数据;/n其中,所述多输入通道存储器模块还用于将所述计算数据作为所述输入数据,形成循环迭代计算;/n输出排序模块,用于在所述控制信号的作用下,在所述蝶形运算模块进行设定次数的所述蝶形运算后,读取所述多输入通道存储器模块存储的存储器位置数据,并将其重新排列输出。/n

【技术特征摘要】
1.一种可配置的FFT架构系统,包括:
顶层控制模块,用于产生控制信号;
多输入通道存储器模块,用于在所述控制信号的作用下,将输入的输入数据写入及存储,并能够将所述多输入通道存储器模块存储的数据进行分配形成存储器位置数据;
蝶形运算模块,用于在所述控制信号的作用下,输入所述存储器位置数据,并对所述存储器位置数据进行FFT计算的蝶形运算,形成计算数据并作为所述输入数据;
其中,所述多输入通道存储器模块还用于将所述计算数据作为所述输入数据,形成循环迭代计算;
输出排序模块,用于在所述控制信号的作用下,在所述蝶形运算模块进行设定次数的所述蝶形运算后,读取所述多输入通道存储器模块存储的存储器位置数据,并将其重新排列输出。


2.根据权利要求1所述的FFT架构系统,其中,所述顶层控制模块包括:
输入数据解析模块,用于FFT计算任意点数的配置,根据不同的输入来调整蝶形运算的级数、基二运算的调用次数;
输出信号控制模块,能够产生控制各模块的控制信号。


3.根据权利要求1所述的FFT架构系统,其中,所述顶层控制模块具有六个状态机,作用为分别可以控制FFT硬件架构系统为空闲状态、地址分配状态、基四运算状态、暂停状态、基二运算状态,输出排序状态。


4.根据权利要...

【专利技术属性】
技术研发人员:刘鸣李涛
申请(专利权)人:中国科学院半导体研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1