CN101847137B - 一种实现基2fft计算的fft处理器 - Google Patents

一种实现基2fft计算的fft处理器 Download PDF

Info

Publication number
CN101847137B
CN101847137B CN 200910097236 CN200910097236A CN101847137B CN 101847137 B CN101847137 B CN 101847137B CN 200910097236 CN200910097236 CN 200910097236 CN 200910097236 A CN200910097236 A CN 200910097236A CN 101847137 B CN101847137 B CN 101847137B
Authority
CN
China
Prior art keywords
mux
multiplexing
output
processing element
butterfly
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.)
Expired - Fee Related
Application number
CN 200910097236
Other languages
English (en)
Other versions
CN101847137A (zh
Inventor
韩少男
何文涛
桂琼
李晓江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HANGZHOU ZHONGKE MICROELECTRONIC CO Ltd
Original Assignee
HANGZHOU ZHONGKE MICROELECTRONIC CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by HANGZHOU ZHONGKE MICROELECTRONIC CO Ltd filed Critical HANGZHOU ZHONGKE MICROELECTRONIC CO Ltd
Priority to CN 200910097236 priority Critical patent/CN101847137B/zh
Publication of CN101847137A publication Critical patent/CN101847137A/zh
Application granted granted Critical
Publication of CN101847137B publication Critical patent/CN101847137B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

公开一种实现基2FFT计算的FFT处理器,对于Nn点的基2FFT处理器,包括:地址映射模块,第一、二级复用模块,第三、……、log2N级复用模块,N为2的整数次幂。该实现方法采用一种同址运算结构,其优势在于每级复用模块结构相同,在第一级复用模块输入数据进行一次地址映射变换,以后各级通过简单复用完成地址映射,降低硬件的复杂度,第一、二级为单列复用,既减少硬件面积,又提高FFT工作频率,第三至第log2N级复用模块采用一种改进型蝶形运算单元。本发明的改进型蝶形运算单元仅用1个乘法器和2个加法器在6个时钟周期内完成一级复用模块的整个蝶形运算。与已有技术的基2-FFT中一级模块蝶形运算单元结构配置了4个乘法器和6个加法器相比,增加4个时钟周期,但硬件电路和芯片面积以及器件功耗均可大幅度减小。

Description

一种实现基2FFT计算的FFT处理器
技术领域
本发明属于信号处理领域,涉及FFT处理器结构,具体涉及基2FFT处理器的硬件实现方法。
背景技术
快速傅立叶变换FFT在图形处理,信号分析,数字信号处理,GPS卫星定位,医学图象处理,物理学、数论、组合数学、信号处理、概率论、统计学、密码学、声学、光学、海洋学、结构动力学等领域都有着广泛的应用。由于用硬件实现FFT有软件不可比拟的速度优势。通常,用基2FFT算法来处理长度为2n信号的FFT运算。N点基2的快速傅立叶变换因为其广泛的用途和自身的特殊性,要求其硬件实现的运算速度快,并且要兼顾硬件面积,两者之间必须有良好的均衡。
为解决上述技术问题,现有技术中,如2009年1月28日公开的,公开号为200810046075.8,名称为“一种蝶形运算FFT处理器”的中国发明专利,公开了一种用CORDIC旋转算法实现的基4FFT运算方法。该方法通过12阶旋转运算才能完成一次复数乘法运算。如果再加上此后进行的复数加减法运算,需要13个时钟周期才能完成一次蝶形运算,这很难满足FFT处理器工作频率较高的要求。该发明方法为了避免复数乘法运算而采用复杂的控制逻辑,用于硬件实施复杂的控制逻辑必然要增加额外的硬件成本,从而导致该电路结构的IC芯片面积加大。
发明内容
本发明的目的是为了克服现有技术的缺陷,在分析算法特点的基础上作了研究和改进,提出一种基2FFT算法的FFT处理硬件电路结构及其实现方法,实现了运算速度和硬件面积的有效均衡,并将蝶形运算单元的电路结构移植到其他2n点的多点FFT运算硬件结构中,一一得以实现。
本发明目的是通过以下的技术方案来实现。
一种实现基2FFT计算的FFT处理器,包括地址映射单元,其在于还包括:
(1)基2的N点的FFT处理器由1~log2N级组成,N为FFT运算点数;
(2)第1、2级为单列的一类复用模块,第1、第2两级复用单列的一类复用模块;
(3)单列的一类复用模块中包含有一个简化型蝶形运算单元;
(4)第3~第log2N级的{(log2N)-2}级复用的另一类复用模块;
(5)另一类复用模块中包含有一个改进型蝶形运算单元;
(6)每级采用一种同址运算结构。
所述第1、2级单列的一类复用模块中的简化型蝶形运算单元,其蝶形运算仅为加法运算。第1、2级旋转因子简单,不用复数乘法运算,将第1、2两级独立出来,仅用加法运算即可以完成蝶形运算,而且第1、2级复用该单列的一类复用模块,和不单列、不复用的蝶形运算单元相比,减少了硬件芯片面积,并能提高工作频率。与已有技术将第1、2级与第3、……、log2N作为一类进行复用相比,减少了完成FFT运算所需的时钟周期。
所述第1、2级单列的复用结构为复用模块,该复用模块的电路结构是一个蝶形运算单元,它包括两个加法器、两个寄存器以及一个多路选择器;两个输入信号端与两个加法器的一个输入端相连接,每个加法器的输出端连接到对应的一个寄存器,并使各寄存器的输出通过一个多路选择器反馈到对应加法器的另一个输入端,该单列的一类复用模块的电路结构能够实现加法运算和蝶形运算相结合的运算,与将加法和蝶形运算的加减法分开运算相比,能使硬件电路芯片的面积缩小。
所述第3~第log2N级复用的另一类复用模块,该复用模块为一个独立的硬件;第3~log2N级的每一级的旋转因子为复数,各级的蝶形运算都有复数乘法运算,每级所需的硬件电路结构相同,各级蝶形运算都复用这一级独立的硬件,第3~第log2N级的每一级复用该另一类复用模块是通过状态机控制多路选择器来实现数据输入和旋转因子的选择控制,从而完成第3~第log2N各级的运算,该复用结构和不复用相比,简化了地址映射单元的结构,减少了硬件芯片面积。
所述另一类复用模块中的改进型蝶形运算单元的电路结构包括一个乘法器、两个加法器、两个寄存器以及一个多路选择器;乘法器的输出和两个加法器的一个输入端相连接,每个加法器的输出端连接到对应的一个寄存器,并使各寄存器的输出通过一个多路选择器反馈到对应加法器的另一个输入端;该复用模块结构实现复数乘法和蝶形运算相结合的运算,与将复数乘法和蝶形运算的加减法分开的其他算法相比,能使硬件电路芯片的面积成倍缩小。
所述同址运算结构为在输入数据进行一次地址映射变换之后,以后同类各级结构相同,通过简单的复用完成地址映射的运算结构;第一、二级一类的每级和第3、……、log2N级一类的每级采用一种同址运算结构,其优势在于每级结构相同,硬件的复杂度得以降低和简化。
所述同址运算结构为采用按时间抽取算法的通用性运算结构,蝶形运算采用包括一个乘法器、两个加法器、两个寄存器以及一个多路选择器的改进型蝶形运算单元作流水运算,得到规格化的运算结果,完成一次蝶形运算花费6个***时钟周期,增加或减少运算点数N只需要增加存储空间和地址发生器位数。
由按时间抽区(DIT)FFT基本运算可知,基2的N点的FFT由log2N级组成,而且每级会有N/2个的蝶形运算单元。FFT第1级的旋转因子由:WN 0=1构成,第2级旋转因子由:WN 0=1和W2 1=-i组成。前两级运算为一般乘法,无须进行复数乘法运算,可以直接使用加法器完成整个蝶形运算。将第一级和第二级独立单列为作加法运算,而将其他级另列为作复数乘法运算。
第3、......、log2N各级的蝶形运算中都有较复杂的复数乘法,本发明提出一种同址运算结构,第3、......、log2N各级的蝶形运算中的复数乘法,各级采用同址运算结构,统一用一级电路对各级进行复用,使该电路结构的IC芯片面积得以减少。
每级采用一种同址运算结构,该同址运算结构是由最基本的FFT运算变换而来,以8点基2FFT运算为例,最基本FFT运算结构和经变换后的同址运算结构如图10所示。
第3、......、log2N级的复用结构中包含了一种改进型蝶形运算单元。改进型蝶形运算单元包括一个蝶形运算单元、一个复数加法器、一个复数减法器。最基本FFT运算的蝶形运算模式为如图6所示,一个蝶形运算单元是由一个复数乘法器完成图6中603所示的运算,一个复数加法器完成图6中602所示的运算,一个复数减法器完成图6中的604所示的运算构成。已有技术复数乘法器包含四个实数乘法器和三个实数加法器,结构尤显复杂。本方案提出一种改进型蝶形运算单元,其结构是将复数乘法内部的加法器和蝶形运算的加法器合二为一,在蝶形运算外部状态机的控制下将复数乘法和蝶形运算的元件进行公用,从而,有效的减少芯片面积。如图7所示为改进型蝶形运算单元。
本发明的实质性效果:
1、本发明采用第1、2级单列和第3、……、log2N级复用模块和改进型蝶形运算单元电路结构,IC芯片面积成倍的减小。
2、本发明的各级结构采用相同的同址运算结构,输入数据进行一次地址映射变换,以后通过简单的复用完成地址映射,使硬件的复杂度得以降低。
3、本发明构成的硬件电路实现了运算速度快,兼顾硬件面积小,两者之间得到了良好的均衡。
4、新型蝶形运算单元的电路结构可以移植到其他2n点的多点FFT运算硬件结构中,具有良好的应用前景。
附图说明
图1是以32点基2FFT为例的现有技术基2FFT处理器结构。
图2是以32点基2FFT为例的本发明改进的基2FFT处理器结构。
图3是以32点基2FFT为例的本发明中第1、2级独立分列的复用结构图。
图4是以32点基2FFT为例的本发明使用的地址映射单元的地址映射示意图。
图5是以32点基2FFT为例的本发明中第3、4、5级的复用模块结构组成框图。
图6是现有技术蝶形运算单元的蝶形运算模式示意图。
图7是本发明实施例的改进型蝶形运算单元电路结构组成框图。
图8是本发明中完成一级蝶形运算的时序数据流示意图。
图9是本发明基2FFT处理器结构组成框图。
图10a为以8点基2FFT为现有技术采用的蝶形运算图。
图10b为以8点基2FFT为实施例的本发明采用的蝶形运算图。
具体实施方式
为更好的理解和更清晰的阐述本发明,下面以32点基2FFT为例,结合具体实施方式对本发明进行更为详细的描述。
图1是现有技术基2FFT处理器结构,该结构采用decimation-in-timeradix-2FFT算法,其计算公式如下:
X ( k ) = Σ n = 0 N - 1 W N kn x ( n ) ,
X ( k ) = Σ n = 0 N 2 - 1 W N k ( 2 n ) x ( 2 n ) + Σ n = 0 N 2 - 1 W N k ( 2 n + 1 ) x ( 2 n + 1 )
X ( k ) = G ( k ) + W N k H ( k ) X ( k + N 2 ) = G ( k + N 2 ) + W N ( k + N 2 ) H ( k + N 2 )
式中:X(k)为离散傅立叶变换前N/2点的值;
Figure GSB00000912653700061
为离散傅立叶变换后N/2点的值;k=1,2,…,N/2-1;n为基2数据的比特值。
图2是本发明所采用的改进型基2FFT处理器结构。以32点基2FFT为例,将32位输入数据进行重新排序的过程,采用bit-reversal方法。32=25,对于0≤n≤31的数据可以用5比特的二进制数来表示:
n=(b4  b3  b2  b1   b0)≡b424+b323+b222+b121+b020,参见表一。显然,采用bit-reversal将原32位输入数据重新排序后,形成地址映射。
在本实施例中采用五级结构,各级结构相同,即各级的相临x(n),x(n+1)进行蝶形运算(n=1,3,5……31),输出结果按照以下规则执行:若X(K),K为偶数,则发送到x(K/2)的下级;若K为奇数,则发送到x(16+(k-1)/2),进行下一级的蝶形运算。该规则简单,而且各级情况相同,避免了图1中所示现有技术基2FFT处理器的复杂的数据交替和旋转系数选择。
图3所示的第一、二两级结构是独立单列的复用模块结构,地址映射单元输出301连接多路选择器302的输入端,外部状态机303的控制输出连接多路选择器302的控制端,多路选择器302的输出端连接到蝶形运算单元的输入端304,数据输入后(参见304)、进行数据运算取得中间结果(参见305)以及和映射地址(参见306);形成映射地址的输出连接判断器307,判断是否是第二级?若是第二级,由308线接到第三级输入端;若不是第二级,发送到309,将虚数部分取其补并与实数交换位置,同时,将交换位置后的输出部分,经310线反馈到多路选择器302。外部状态机是本复用模块之外的部件,其输出的控制信号由时钟信号CLK提供。
经过地址映射之后的初始输入数据301加到多路选择器302,在外部状态机303的控制下,控制多路选择器302对地址映射单元输出301送来的输入数据进行选择,多路选择器302将输入数据排列为304形式,由308形成数据运算的中间结果,中间结果的排列为305形式,再对中间结果进行地址映射,地址映射后的数据重排为306形式,数据运算结果从306输出,经过307判断,如果是第1级的数据运算完成,则把数据的虚部取其补码与实部交换位置后,经由310传输到302进行第2级运算数据处理。如果307判断,为第2级数据运算完成,则把数据输出经由308送到第3级。前两级旋转因子简单,可以独立出来进行运算,避免采用复杂的复数乘法。而且,第1和第2两级结构相同,用一个多路选择器302对第1、2级进行复用。第1级系数为1,第2级系数为1和-i,对第2级中系数为-i的运算用将其虚部取补再与实部交换位置的方法进行。显而易见,整个第1、第2两级的运算完全避免采用复数乘法的运算。
图4为以32点基2FFT为例的地址映射单元示意图,32点基2FFT的地址映射关系如图4所示。输入数据的排列为401形式,进行地址变换后,输出部分数据的排列如402所示,其地址映射关系表达式:
r=bitrev(n)=n=(b0   b1   b2  b3  b4)≡b024+b123+b222+b321+b420
图5所示为本发明中第3、4、5级复用模块的结构。该复用模块的结构包括第3级输入501、多路选择器502、外部状态机503、蝶形运算单元504、旋转因子存储单元505、数据地址变换映射器506和数据寄存器507。复用模块结构中的蝶形运算单元504,是复用结构中最关键的单元。多路选择器502连接第3级运算的数据输入501、外部状态机503控制输出端和数据寄存器507的输出端,蝶形运算单元504连接多路选择器502输出端和旋转因子存储单元505读数端,蝶形运算单元504输出端连接数据地址变换映射器506,数据地址变换映射器506输出端连接数据寄存器507。
现有技术中的蝶形运算单元的结构,通常包括1个复数乘法器即4个实数乘法器,2个复数加法器即6个实数加法器。图6为现有技术蝶形运算单元的蝶形运算模式示意图。参见图6,601表示为一个输入数据Ar+jAi,603表示为另一个输入信号Br+jBi与旋转因子
Figure GSB00000912653700071
相乘结果,它是用复数乘法器来完成,602表示为蝶形运算单元的一个分支输出数据
Figure GSB00000912653700072
和604表示为蝶形运算单元的另一个分支输出
Figure GSB00000912653700074
Figure GSB00000912653700075
它们都是用一个复数加法器来完成,605“-1”表示为604和602输出不同之处在于602用复数加法运算,而604用复数减法运算。
本发明中的改进型蝶行运算单元的结构组成如图7所示,它是一种改进型蝶行运算单元电路结构。该电路结构利用了蝶形运算中复数乘法必须比复数加法先完成这个特点,将复数乘法中的加法器在复数乘法完成之后复用给复数加法运算,这样仅用1个实数乘法器,2个实数加法器就可全部完成整个蝶形运算。改进型蝶行运算单元由A信号端口701和B信号端口702,实数乘法器703,实数加法器704和705,多路选择器706、711和714,寄存器707、708组成,其运算部件还包括寄存器712、713、715、716以及内部状态机709组成,其中712、713、715、716是外部寄存器R3、R4、R5、R6,内部状态机709为各多路选择器提供状态控制信号。A信号端口701和B信号端口702的数据加到实数乘法器703进行乘法运算,实数乘法器703的输出分两路分别连接加法器704和705的一个输入端,加法器704和705的另一个输入端连接多路选择器706的选择输出,而多路选择器706的三个输入端:一个是由加法器704经过R1寄存器707输出的反馈信号,另一个是由加法器705经过R2寄存器708输出的反馈信号,第三个输入端“0”是STATE状态复位信号710。加法器704的输出同时加到多路选择器711的输入端,加法器705的输出同时加到多路选择器714的输入端,内部状态机709控制输出端连接多路选择器711和714的控制端,为多路选择器711和714提供的状态控制信号,控制多路选择器711选择输出到R3外部寄存器712或R4外部寄存器713,同样,控制多路选择器714选择输出到R5外部寄存器715或R6外部寄存器716。显而易见,改进型蝶行运算单元的电路仅有一个实数乘法器703,二个加法器704和705,二个寄存器707和708,以及多路选择器706、711和714,改进后的电路构成十分简单。
图8示出了改进型蝶形运算单元的时序流程图。参见图8,改进型蝶行运算单元的工作过程按整体数据流简述如下:图8中的801和802所示为二个蝶行运算周期之始,蝶行运算是以CLK时钟周期为数据流的控制信号,以32点基2FFT蝶行运算为例,状态机提供括从0到5共6个状态控制。0状态时,输入数据Br,Wr分别经过A端口701和B端口702输入。1状态时,数据Br,Wr完成乘法运算,运算结果为Br*Wr,并存储到R1寄存器707和R2寄存器708,在此状态,多路选择器706选择的是0输入,即不进行加法运算,端口A、B输入数据变为Bi、Wi。2状态时,端口A的输入变为Ar端口B的输入变为1,多路选择器706选择输出R1和R2中的值分别输出到加法器704和705,在加法器704和705中与已经完成乘法运算的Bi*Wi值取补,进行加法运算,所得结果存回R1,R2中。3状态时,端口A,B的输入数据变为Br,Wi,多路选择器706选择输出R1,R2中的值,其中R1的值为加法器704的一个输入,加法器704的另一个输入为Ar,在加法器704完成Ar+Br*Wr-Bi*Wi的运算;R2的值取补之后为加法器705的一个输入,R2的另一个值为Ar,在加法器705完成Ar-(Br*Wr-Bi*Wi)的运算。4状态时,端口A,B的输入数据变为Wr,Bi,运算Br*Wi的结果存入R1寄存器707,R2寄存器708中,同时将上一状态的结果分别输出到R3外部寄存器710,R5外部寄存器712中。5状态时,输入端口A,B的输入数据值分别为Ai,1,多路选择器706选择输出R1、R2中的值分别输出到加法器704,705中和已经完成的乘法运算的Br*Wi进行加法运算,运算结果Bi*Wr+Br*Wi返回存入R1、R2中。在下一级的0状态时,把R5外部寄存器712中的数据当作端口A的输入,端口B的输入为下一级蝶形运算所需的旋转因子的实数部分Wr,此时多路选择器706选择输出R1,R2中的值,其中R1的值为加法器704的一个输入,加法器704的另一个输入为Ar,在加法器704完成Ai+Br*Wi+Bi*Wr的运算;R2的值取补之后为加法器705的一个输入,R2的另一个值为Ar,在加法器705完成Ai-(Br*Wi+Bi*Wr)的运算,然后将运算所得数据分别存入外部寄存器R4、R6中。这样一级蝶形运算全部结束,而且为下一级蝶形运算端口也准备好数据,可以继续进行下一级蝶形运算。
本发明实施例基2FFT处理器结构组成如图9所示。基2FFT处理器由依次连接的地址映射单元902,第1、2级复用模块903和第3~log2N级复用模块904组成,地址映射单元902的输入端连接N点数据输入901,第3~log2N级复用模块904的输出为FFT运算结果输出。参见图7,复用模块整个蝶形运算是由内部状态机709控制信号进行控制,按照图6所示的蝶形运算模式进行蝶形运算。在初始状态801,蝶形运算开始,状态机控制信号709为STATE=0,各端口和寄存器值为初值,A端口701输入数据Br,B端口702输入数据Wr,各寄存器值为0。状态机控制信号709为STATE=1,进入状态1,乘法器703输出为Br*Wr,多路选择器706控制将一个加数为Br*Wr和另一个加数为“0”分别送到加法器704和705的输入端,加法器704和705把输出的Br*Wr值分别存入寄存器R1和寄存器R2中,同时变化输入,在A端口输入数据为Bi,在B端口的输入数据为Wi。在进入状态2(STATE=2)后,在A端口输入为Ar,在B端口输入为1,多路选择器706受控制分别将一个加数为寄存器R1、R2中的值和另一个加数为Bi*Wi的补码,送到加法器704和705,加法器704和705将得到的结果Br*Wr-Bi*Wi寄存到寄存器R1、R2中。在进入状态3(STATE=3)后,A端口输入为Br,端口B输入为Wi,多路选择器706控制送到加法器704的一个加数为Ar,另一个加数为寄存器R1中的Rr*Wr-Bi*Wi,于是加法器704得到结果为Ar+(Rr*Wr-Bi*Wi)的值,存到寄存器R1。同时,多路选择器706控制送到加法器705的一个加数为Ar,另一个加数为R2中的Rr*Wr-Bi*Wi的补码值,这样加法器705输出得到Ar-(Rr*Wr-Bi*Wi)的值,存到寄存器R2。进入状态4(STATE=4)后,A端口输入为Bi,B端口输入为Wr,将寄存器R1中的数据Ar+(Rr*Wr-Bi*Wi)转存到外部寄存器R3,将寄存器R2中的数据Ar-(Rr*Wr-Bi*Wi)转存到外部寄存器R5,并将Wi*Br再存入寄存器R1和R2中。进入状态5(STATE=5)后,A端口的输入为Ai,B端口的输入为1,同时运算Br*Wi+Bi*Wr,并分别存入寄存器R1和R2中,进入状态5(STATE=5)后,运算Ai+(Wi*Br+Bi*Wr)存入寄存器R1中,因为补码的加法运算与原码的减法运算相同,所以可以用加法器得到Ai-(Wi*Br+Wr*Bi)的结果存入寄存器R2中,一个蝶形运算完成。接下来,进入802,第二个蝶形运算开始,(请修改)状态机控制信号709又为STATE=0,将寄存器R5中的Ai-(Wi*Br+Wr*Bi)数据送到A端口,B端口的输入数据Wr’,各外部寄存器值又为0,运算Ai+(Wi*Br+Bi*Wr)存入寄存器R1中,运算Ai-(Wi*Br+Wr*Bi)存入寄存器R2中。状态机控制信号709为STATE=1,进入状态1,同时变化输入,在A端口输入数据为Wr’,将寄存器R2中Ai-(Wi*Br+Wr*Bi)数据加到B端口,寄存器R1中Ai+(Wi*Br+Bi*Wr)存入寄存器R4中,寄存器R2中的Ai-(Wi*Br+Wr*Bi)存入寄存器R6中。以此类推,完成一个个蝶形运算。当A端口和B端口的输入信号为0,不再进行下一个蝶形运算,则整个蝶形运算完成。
以8点基2FFT运算为例,最基本FFT运算结构参见图10a,经变换后本发明的同址运算结构如图10b所示。图10a中1001所示为现有技术中FFT运算采用的整体结构图,图10b中1003所示为本发明采用的FFT同址运算整体结构图,两者运算结构不同,但是运算结果图10a中1002和图10b中1004所示的运算结果完全相同。现有技术中不采用复用的蝶形运算图和本发明采用复用的蝶形运算图对比,由于本发明将第1、2级独立出来进行复用,这样和现有技术不把1、2级独立出来复用相比会带来工作频率的提高,将第3、……、log2N独立出来进行复用,这样和现有技术没有进行复用的相比会带所用的硬件芯片面积减少。
本发明的蝶形运算单元的电路结构移植到其他2n点的多点FFT运算硬件结构中,可应用于任何包含基2的蝶形运算,如混合基中同时有基4,基8,基2的FFT运算。
尽管上面对本发明的具体实施方式进行描述,但本发明不限具体实施方式范围,对本技术领域的普通技术人员来讲,只要各种变化在权利要求所限定和确定的本发明的构思和技术方案范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
表一
  输入二进制形式   输入地址   输出映射地址   输出二进制形式
  00000   0   0   00000
  00001   1   16   10000
  00010   2   8   01000
  00011   3   24   11000
  00100   4   4   00100
  00101   5   20   10100
  00110   6   12   01100
  00111   7   28   11100
  01000   8   2   00010
  01001   9   18   10010
  01010   10   10   01010
  01011   11   26   11010
  01100   12   6   00110
  01101   13   22   10110
  01110   14   14   01110
  01111   15   30   11110
  10000   16   1   00001
  10001   17   17   10001
  10010   18   9   01001
  10011   19   25   11001
  10100   20   5   00101
  10101   21   21   10101
  10110   22   13   01101
  10111   23   29   11101
  11000   24   3   00011
  11001   25   19   10011
  11010   26   11   01011
  11011   27   27   11011
  11100   28   7   00111
  11101   29   23   10111
  11110   30   15   01111
  11111   31   31   11111

Claims (6)

1.一种实现基2FFT计算的FFT处理器,包括地址映射单元,其特征在于,还包括: 
(1)基2的N点的FFT处理器由1~log2N级组成,N为FFT运算点数; 
(2)第1、2级为单列的一类复用模块,第1、第2两级复用单列的一类复用模块,单列的一类复用模块的电路结构包括多路选择器、外部状态机、简化型蝶形运算单元;地址映射单元输出连接多路选择器的输入端,外部状态机的控制输出连接多路选择器的控制端,多路选择器的输出端连接到简化型蝶形运算单元的输入端;若是第二级,简化型蝶形运算单元的输出端接到第三级输入端;若不是第二级,简化型蝶形运算单元的输出端接反馈到多路选择器;其中外部状态机输出的控制信号由时钟信号CLK提供; 
(3)单列的一类复用模块中包含有一个简化型蝶形运算单元,简化型蝶形运算单元的电路结构包括两个加法器、两个寄存器以及一个多路选择器;两个输入信号端分别与两个加法器的一个输入端相连接,每个加法器的输出端连接到对应的一个寄存器,并使各寄存器的输出通过一个多路选择器反馈到对应加法器的另一个输入端; 
(4)第3~第log2N级的{(log2N)-2}级复用的另一类复用模块,该类复用模块的结构包括多路选择器、外部状态机、改进型蝶形运算单元、旋转因子存储单元、数据地址变换映射器和数据寄存器;多路选择器连接第3级运算的数据输入、外部状态机控制输出端和数据寄存器输出端,改进型蝶形运算单元连接多路选择器输出端和旋转因子存储单元读数端,改进型蝶形运算单元输出端连接数据地址变换映射器,数据地址变换映射器输出端连接数据寄存器; 
(5)另一类复用模块中包含有一个改进型蝶形运算单元,改进型蝶形 运算单元的电路结构包括一个实数乘法器、两个实数加法器、两个寄存器以及一个多路选择器;实数乘法器的输出分别连接第一实数加法器和第二实数加法器的一个输入端,每个实数加法器的输出端连接到对应的一个寄存器,并使各寄存器的输出通过一个多路选择器反馈到对应实数加法器的另一个输入端; 
(6)每级采用一种同址运算结构,为采用按时间抽取算法的通用性运算结构;所述同址运算结构是在输入数据进行一次地址映射变换之后,以后同类各级结构相同,通过简单的复用完成地址映射的运算结构;同类每级采用一种同址运算结构,其优势在于每级结构相同,硬件的复杂度得以降低。 
2.根据权利要求1所述的一种实现基2FFT计算的FFT处理器,其特征在于,所述第1、2级为单列的一类复用模块中的简化型蝶形运算单元,其蝶形运算仅为加法运算; 
第1、2级旋转因子简单,不用复数乘法运算,将第1、2两级独立出来,仅用加法运算就能完成蝶形运算,而且第1、2级复用该单列的一类复用模块,和不单列、不复用的蝶形运算单元相比,减少了硬件芯片面积,并能提高工作频率。 
3.根据权利要求1或2所述的一种实现基2FFT计算的FFT处理器,其特征还在于,所述单列的一类复用模块中包括简化型蝶形运算单元的电路结构;该单列的一类复用模块的电路结构能够实现加法运算和蝶形运算相结合的运算,与将加法和蝶形运算的加减法分开运算相比,能使硬件电路芯片的面积缩小。 
4.根据权利要求1所述的一种实现基2FFT计算的FFT处理器,其特征还在于,所述第3~第log2N级复用的另一类复用模块,该复用模块为一个独立的硬件;第3~log2N级的每一级的旋转因子为复数,各级的蝶形运算都有复数乘法运算,每级所需的硬件电路结构相同,各级蝶形运算都复用这一级独立的硬件,第3~第log2N级的每一级复用该另一类复用模块是通过状态机控制多路选择器来实现数据输入和旋转因子的选择控制,从而 完成第3~第log2N各级的运算,该复用结构和不复用相比,简化了地址映射单元的结构,减少了硬件芯片面积。 
5.根据权利要求1或4所述的一种实现基2FFT计算的FFT处理器,其特征还在于,所述另一类复用模块中包括改进型蝶形运算单元的电路结构;该复用模块结构实现复数乘法和蝶形运算相结合的运算,与将复数乘法和蝶形运算的加减法分开的其他算法相比,能使硬件电路芯片的面积成倍缩小。 
6.根据权利要求1或2或4所述的一种实现基2FFT计算的FFT处理器,其特征还在于,所述同址运算结构为采用按时间抽取算法的通用性运算结构,蝶形运算采用包括一个实数乘法器、两个实数加法器、两个寄存器以及一个多路选择器的改进型蝶形运算单元作流水运算,得到规格化的运算结果,其运算部件还包括内部状态机、两个多路选择器和四个外部寄存器,作流水运算;第一信号端口(701)和第二信号端口(702)数据加到实数乘法器(703)进行乘法运算,实数乘法器输出分两路分别连接第一加法器(704)和第二加法器(705)的一个输入端,两个加法器的另一个输入端连接多路选择器(706)的选择输出,多路选择器(706)的三个输入端:一个是由第一加法器(704)经过第一寄存器(707)输出的反馈信号,另一个是由第二加法器(705)经过第二寄存器(708)输出的反馈信号,第三个输入端“0”(710)是STATE状态复位信号;内部状态机(709)控制输出端连接第一外部多路选择器(711)和第二外部多路选择器(714)的控制端,为第一外部多路选择器(711)和第二外部多路选择器(714)提供的状态控制信号,控制第一外部多路选择器(711)选择输出到第一外部寄存器(712)或第二外部寄存器(713),控制第二外部多路选择器(714)选择输出到第三外部寄存器(715)或第四外部寄存器(716);完成一次蝶形运算花费6个***时钟周期,增加或减少运算点数N只需要增加存储空间和地址发生器位数。 
CN 200910097236 2009-03-27 2009-03-27 一种实现基2fft计算的fft处理器 Expired - Fee Related CN101847137B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910097236 CN101847137B (zh) 2009-03-27 2009-03-27 一种实现基2fft计算的fft处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910097236 CN101847137B (zh) 2009-03-27 2009-03-27 一种实现基2fft计算的fft处理器

Publications (2)

Publication Number Publication Date
CN101847137A CN101847137A (zh) 2010-09-29
CN101847137B true CN101847137B (zh) 2013-04-24

Family

ID=42771761

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910097236 Expired - Fee Related CN101847137B (zh) 2009-03-27 2009-03-27 一种实现基2fft计算的fft处理器

Country Status (1)

Country Link
CN (1) CN101847137B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528191B (zh) * 2015-12-01 2017-04-12 中国科学院计算技术研究所 数据累加装置、方法及数字信号处理装置
CN105608055B (zh) * 2016-01-27 2018-07-31 南京阿尔法莱瑞通信技术有限公司 一种基于位串架构的蝶形运算单元、fft处理器及方法
CN108319804B (zh) * 2018-04-17 2023-08-08 福州大学 低资源调用的8192点基2 dit asic设计方法
CN113378108B (zh) * 2020-02-25 2023-04-18 珠海市煊扬科技有限公司 音频处理装置的快速傅立叶变换电路
CN111562900A (zh) * 2020-07-20 2020-08-21 长沙海格北斗信息技术有限公司 用于高精度导航的fft计算方法、计算模块及其芯片
CN112383497B (zh) * 2020-11-10 2023-02-14 展讯半导体(成都)有限公司 5g***中ofdm变换方法及相关产品
CN112732339B (zh) * 2021-01-20 2022-09-13 上海微波设备研究所(中国电子科技集团公司第五十一研究所) 一种分时复用时间抽取fft实现方法、***及介质
CN112765536B (zh) * 2021-01-26 2023-09-19 中国科学院半导体研究所 一种可配置的fft架构***
CN113625048A (zh) * 2021-08-19 2021-11-09 杭州万高科技股份有限公司 一种智能电表芯片及智能电表

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1700203A (zh) * 2005-06-16 2005-11-23 中国航天时代电子公司第七七一研究所 基2单路深度延时反馈的流水线构成fft处理器的实现方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1700203A (zh) * 2005-06-16 2005-11-23 中国航天时代电子公司第七七一研究所 基2单路深度延时反馈的流水线构成fft处理器的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王涛等.基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定***中的应用.《电子技术应用》.2003,52-54. *

Also Published As

Publication number Publication date
CN101847137A (zh) 2010-09-29

Similar Documents

Publication Publication Date Title
CN101847137B (zh) 一种实现基2fft计算的fft处理器
CN110765709B (zh) 一种基于fpga的基2-2快速傅里叶变换硬件设计方法
EP2017743B1 (en) High speed and efficient matrix multiplication hardware module
CN101782893B (zh) 可重构数据处理平台
Yang et al. An efficient locally pipelined FFT processor
CN103970720B (zh) 基于大规模粗粒度嵌入式可重构***及其处理方法
JP3749022B2 (ja) 高速フーリエ変換を用いて短い待ち時間でアレイ処理を行う並列システム
KR101162649B1 (ko) 가변적 크기의 고속 직교 변환을 구현하기 위한 방법 및장치
CN102945224A (zh) 基于fpga的高速可变点fft处理器及其处理方法
CN102495721A (zh) 一种支持fft加速的simd向量处理器
CN108021781A (zh) 一种可参数化的fft ip核设计和优化方法
CN103984677A (zh) 基于大规模粗粒度嵌入式可重构***及其处理方法
CN116710912A (zh) 一种矩阵乘法器及矩阵乘法器的控制方法
CN101196964B (zh) 一种抗旁路攻击算法的芯片
CN112799634B (zh) 一种基于基22mdc ntt结构的高性能环多项式乘法器
US7653676B2 (en) Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine
CN103034621A (zh) 基2×k并行fft架构的地址映射方法及***
CN109284085B (zh) 一种基于fpga的高速模乘和模幂运算方法及装置
CN116561819A (zh) 一种基于Toom-Cook环上多项式乘法的加解密方法及环上多项式乘法器
CN101923459A (zh) 一种用于数字信号处理的可重构乘加算数运算单元
CN110096672A (zh) 基于fpga的低成本流水线型fft处理器实现方法
CN104951279A (zh) 一种基于NEON引擎的向量化Montgomery模乘器的设计方法
Grayver et al. A reconfigurable 8 GOP ASIC architecture for high-speed data communications
CN103870437A (zh) 数字信号处理装置及其处理方法
US11132296B1 (en) Linear interpolator of tabulated functions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130424

Termination date: 20160327