实现FFT/IFFT变换的电路及方法技术

技术编号:8862304 阅读:245 留言:0更新日期:2013-06-28 01:32
本发明专利技术涉及实现FFT/IFFT变换的电路及方法。该电路包括第一及第二数据存储单元、控制信号产生单元、蝶形单元组、旋转因子存储单元及地址产生单元。第一及第二数据存储单元通过第一多路选择器接收数据序列输入并通过第二多路选择器以输出结果数据,第一、第二多路选择器接受控制信号产生单元之控制。蝶形单元组电连接至第一、第二数据存储单元,旋转因子存储单元及控制信号产生单元以在控制信号产生单元的控制下进行蝶形运算。地址产生单元接受控制信号产生单元的控制向第一、第二数据存储单元及旋转因子存储单元提供地址。本发明专利技术提供的实现FFT/IFFT变换的电路及方法,具有能量感知能力、功耗低、数据点数及字长可扩展性好等优点。

【技术实现步骤摘要】
实现FFT/IFFT变换的电路及方法
本专利技术涉及信号处理
,特别涉及一种实现FFT/IFFT变换(FastFourierTransformation/InverseFastFourierTransformation,快速傅里叶变换/快速傅里叶逆变换)的电路及方法。
技术介绍
近年来,随着集成电路技术和医疗电子行业的发展,诸如人体传感器网络(bodysensornetwork)中的节点处理(ProcessingOnNode)等新技术也随之产生,便携式、穿戴式等医疗电子设备受到大家的欢迎。这些设备主要是基于电池供电的,所以能量消耗是设备好坏的一个重要衡量指标。现有的FFT/IFFT一般都是用PC(PersonalComputer)机来实现的,但是软件实现的方式存在占用指令周期长,吞吐量小,可扩展性差等缺点。因此又出现了通过硬件来实现的方法,目前硬件实现FFT/IFFT主要有三种方式:数字信号处理单元(DigitalSignalProcessor,DSP),现场可编程门阵列(FieldProgrammableGateArray,FPGA)和专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)。其中,1、DSP具有乘法及加法单元,实现FFT/IFFT灵活、方便,但是计算能力有限,不适合超长点数的计算;2、FPGA实现方法计算速度难以提高,功耗大,不适合量产;3、专用集成电路(ASIC)速度快,功耗低。综合考虑各方面的因素,所以目前实现能量感知的FFT/IFFT主要采用ASIC的实现方法。但利用ASIC实现方法的能量感知(Energy-aware)FFT/IFFT仍存在可扩展性差等缺点。
技术实现思路
因此,本专利技术提供一种实现FFT/IFFT变换的电路及方法,其具备能量感知能力、可扩展性好且功耗低。具体地,本专利技术实施例提供的一种实现FFT/IFFT变换的电路,包括第一数据存储单元、第二数据存储单元、控制信号产生单元、蝶形单元组、旋转因子存储单元以及地址产生单元。其中,第一数据存储单元与第二数据存储单元分别电连接至第一多路选择器以接收数据序列输入,并分别电连接至第二多路选择器以输出结果数据。蝶形单元组通过第三多路选择器分别电连接至第一数据存储单及第二数据存储单元以读取蝶形运算所需数据,通过第四多路选择器分别电连接至第一数据存储单及第二数据存储单元以回写蝶形运算结果数据,并且通过第五多路选择器电连接至控制信号产生单元以接受控制信号产生单元之控制。旋转因子存储单元电连接至蝶形单元组并存储旋转因子。地址产生单元电连接至第一数据存储单元、第二数据存储单元、旋转因子存储单元以及控制信号产生单元,以接受控制信号产生单元的控制以提供第一数据存储单元、第二数据存储单元及旋转因子存储单元工作所需的地址。第一至第五多路选择器以及旋转因子存储单元分别接受控制信号产生单元的控制。在本专利技术实施例中,上述第一数据存储单元与第二数据存储单元例如皆为双端口静态随机存储器。而且,每个双端口静态随机存储器中可划分出实部模块与虚部模块,以分别存储数据序列中各个复数形式的数据点的实部和虚部。旋转因子存储单元可选用各种类型的单端口只读存储器。另外,在本专利技术实施例中,对于数据序列长度为N点FFT/IFFT变换,旋转因子存储单元中所需存储的旋转因子的个数例如为个。蝶形单元组例如包括多个蝶形单元,每个蝶形单元执行每级蝶形运算中的单个蝶形运算过程中的乘法运算次数例如配置为三次。本专利技术实施例提供的一种实现FFT/IFFT变换的方法,适于应用在包括第一数据存储单元、第二数据存储单元以及与第一、第二数据存储单元电连接的多个蝶形单元的实现FFT/IFFT变换的电路。具体地,实现FFT/IFFT变换的方法包括步骤a~d:步骤a:接收并存储长度为N1点的第一数据序列至该第一数据存储单元;步骤b:选用该多个蝶形单元其中之一对存储于该第一数据存储单元中的该第一数据序列进行级蝶形运算,每级蝶形运算均包括个蝶形运算,并且将每级蝶形运算中的每个蝶形运算的结果数据回写至该第一数据存储单元;步骤c:接收并存储长度为N2点的第二数据序列至该第二数据存储单元;以及步骤d:选用该多个蝶形单元其中之一对存储于该第二数据存储单元中的该第二数据序列进行级蝶形运算,每级蝶形运算均包括个蝶形运算,并且将每级蝶形运算中的每个蝶形运算的结果数据回写至该第二数据存储单元。在本专利技术实施例中,步骤c例如执行于步骤b的执行过程中,且步骤d执行于步骤b之后;在步骤b及步骤d中,每级蝶形运算中的每个蝶形运算例如仅执行三次乘法运算。另外,在本专利技术实施例中,当实现FFT/IFFT变换的电路更包括旋转因子存储单元时,上述实现FFT/IFFT变换的方法例如还包括步骤:根据旋转因子的周期性和对称性在该旋转因子存储单元中存储个旋转因子供步骤b及步骤d使用,其中M为实现FFT/IFFT变换的电路可执行蝶形运算的最大数据序列长度,且M≥N1,M≥N2。简而言之,本专利技术实施例提出的实现FFT/IFFT变换的电路及方法,在电路设计中采用了流水线的设计结构,提高了处理速度。并且采用多个数据存储单元,例如两个双端口SRAM(StaticRandomAccessMemory,静态随机存储器)可交替进行信号处理,即其中某个SRAM进行FFT/IFFT运算时,可以初始化另外一个SRAM,在执行完FFT/IFFT运算时,可以立即执行另外一个SRAM的数据,提高了连续数据的处理速度。采用单端口只读存储器ROM(Read-onlyMemory,只读存储器)作为旋转因子存储单元的举例,将可变(varybit)的SRAM和ROM集成到一个设计中,可共用电源因而降低了功耗,提高了访问速度;将ROM的存储空间降低到原来的1/4,减少了面积的开销;每个蝶形运算单元中减少乘法器的个数,降低了功耗,减少了面积;因此,较好地实现了低功耗可扩展FFT/IFFT电路的设计。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。附图说明图1是本专利技术实施例的一种实现FFT/IFFT变换的电路的结构框图。具体实施方式为更进一步阐述本专利技术为达成预定专利技术目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本专利技术提出的实现FFT/IFFT变换的电路及方法其具体实施方式、方法、步骤、结构、特征及功效,详细说明如后。本专利技术下述实施例提供的实现FFT/IFFT变换的电路,具备能量感知能力、低功耗及可扩展好等优点,其采用最简的基2(Radix-2)算法,结构简单,实现简单;在设计中采用了流水线的设计,提高了处理速度。并且采用多个数据存储单元例如两个双端口SRAM可交替进行信号处理,即其中一个SRAM进行FFT/IFFT运算时,可以同步初始化另外一个SRAM,在执行完FFT/IFFT运算后,可以立即执行另外一个SRAM中存储的数据,提高了连续数据的处理速度。采用单端口只读存储器ROM作为旋转因子存储单元,将可变的SRAM和ROM集成到一个设计中,可共用电源因而降低了功耗,提高了本文档来自技高网
...
实现FFT/IFFT变换的电路及方法

【技术保护点】
一种实现FFT/IFFT变换的电路,其特征在于,包括:第一数据存储单元和第二数据存储单元,分别与第一多路选择器电连接,以接收数据序列输入;同时该第一数据存储单元和该第二数据存储单元还分别与第二多路选择器电连接,以输出结果数据;控制信号产生单元;蝶形单元组,通过第三多路选择器分别电连接至该第一数据存储单元与该第二数据存储单元以读取蝶形运算所需数据,通过第四多路选择器分别电连接至该第一数据存储单元与该第二数据存储单元以回写蝶形运算结果数据,并通过第五多路选择器电连接至该控制信号产生单元以接受该控制信号产生单元之控制;旋转因子存储单元,电连接至蝶形单元组并存储旋转因子;以及地址产生单元,电连接至该第一数据存储单元、该第二数据存储单元、该旋转因子存储单元以及该控制信号产生单元,以接受该控制信号产生单元的控制向该第一数据存储单元、该第二数据存储单元及该旋转因子存储单元提供地址;其中该第一至该第五多路选择器以及该旋转因子存储单元分别接受该控制信号产生单元的控制。

【技术特征摘要】
1.一种实现FFT/IFFT变换的电路,其特征在于,包括:第一数据存储单元和第二数据存储单元,分别与第一多路选择器电连接,以接收数据序列输入;同时该第一数据存储单元和该第二数据存储单元还分别与第二多路选择器电连接,以输出结果数据;控制信号产生单元;蝶形单元组,通过第三多路选择器分别电连接至该第一数据存储单元与该第二数据存储单元以读取蝶形运算所需数据,通过第四多路选择器分别电连接至该第一数据存储单元与该第二数据存储单元以回写蝶形运算结果数据,并通过第五多路选择器电连接至该控制信号产生单元以接受该控制信号产生单元之控制;旋转因子存储单元,电连接至蝶形单元组并存储旋转因子,对于数据序列长度为N点FFT/IFFT变换,该旋转因子存储单元所需存储的旋转因子的个数为以及地址产生单元,电连接至该第一数据存储单元、该第二数据存储单元、该旋转因子存储单元以及该控制信号产生单元,以接受该控制信号产生单元的控制向该第一数据存储单元、该第二数据存储单元及该旋转因子存储单元提供地址;旋转因子的存储地址waddr满足关系式:其中,a为旋转因子的存储地址位宽;m是蝶形运算的级数;B为计数执行蝶形运算的次数;M为FFT/IFFT最大能计算的点数;其中该第一至该第五多路选择器以及该旋转因子存储单元分别接受该控制信号产生单元的控制。2.如权利要求1所述的实现FFT/IFFT变换的电路,其特征在于,该第一数据存储单元与该第二数据存储单元皆为双端口静态随机存储器。3.如权利要求1所述的实现FFT/IFFT变换的电路,其特征在于,该第一数据存储单元与该第二数据存储单元中的每一个包括实部模块与虚部模块以分别存储数据序列中各个复数形式的数据点的实部和虚部。4.如权利要求1所述的实现FFT/IFFT变换的电路,其特征在于,该旋转因子储存单元为单端口只读存储器。5.如权利要求1所述的实现FFT/IFFT变换的电路,其特征在于...

【专利技术属性】
技术研发人员:张凤娟聂泽东王磊
申请(专利权)人:中国科学院深圳先进技术研究院
类型:发明
国别省市:

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

1