CN101836202A - 快速傅立叶变换/反快速傅立叶变换运算核 - Google Patents

快速傅立叶变换/反快速傅立叶变换运算核 Download PDF

Info

Publication number
CN101836202A
CN101836202A CN200980100171A CN200980100171A CN101836202A CN 101836202 A CN101836202 A CN 101836202A CN 200980100171 A CN200980100171 A CN 200980100171A CN 200980100171 A CN200980100171 A CN 200980100171A CN 101836202 A CN101836202 A CN 101836202A
Authority
CN
China
Prior art keywords
signal
fourier transform
fast fourier
output signal
port multiplier
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
Application number
CN200980100171A
Other languages
English (en)
Other versions
CN101836202B (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.)
Hui Rong Technology (shenzhen) Co Ltd
Original Assignee
Silicon Motion Shenzhen Inc
FCI Inc Korea
Silicon Motion Inc
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 Silicon Motion Shenzhen Inc, FCI Inc Korea, Silicon Motion Inc filed Critical Silicon Motion Shenzhen Inc
Publication of CN101836202A publication Critical patent/CN101836202A/zh
Application granted granted Critical
Publication of CN101836202B publication Critical patent/CN101836202B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2626Arrangements specific to the transmitter only
    • H04L27/2627Modulators
    • H04L27/2628Inverse Fourier transform modulators, e.g. inverse fast Fourier transform [IFFT] or inverse discrete Fourier transform [IDFT] modulators
    • H04L27/263Inverse Fourier transform modulators, e.g. inverse fast Fourier transform [IFFT] or inverse discrete Fourier transform [IDFT] modulators modification of IFFT/IDFT modulator for performance improvement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • H04L27/2649Demodulators
    • H04L27/265Fourier transform demodulators, e.g. fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • H04L27/2649Demodulators
    • H04L27/265Fourier transform demodulators, e.g. fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators
    • H04L27/2651Modification of fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators for performance improvement

Abstract

本发明涉及可把FFT以及IFFT运算处理过程所需的存储器容量最小化的FFT/IFFT运算核。所述FFT/IFFT运算核具有输入缓冲器、第1多路器、运算模块、以及控制模块。所述输入缓冲器存储并输出第1FFT输入序列。所述第1多路器接通第1以及第3FFT输入序列的其中一个。所述控制模块生成对以DIT方式处理或是以DIF方式处理所输入的序列进行决定的信号处理方式指示信号,以及让输入的序列以不处理的状态原本地通过的分路指示信号。所述运算模块具有串联的若干个运算阶段,应答于所述信号处理方式指示信号以及所述分路指示信号,变换第1FFT输入序列以及第3FFT输入序列、分别生成第1FFT输出序列以及第3FFT输出序列、变换第2IFFT输入序列、生成第2IFFT输出序列。

Description

快速傅立叶变换/反快速傅立叶变换运算核
技术领域
本发明涉及运算核,特别是OFDM收信器所使用的OFDM收信器的FFT/IFFT运算核。
背景技术
在正交频分复用技术(Orthogonal Frequency Division Multiplexing,下面简称为OFDM)的系统中,需要进行N点(N为整数,N-point)离散傅立叶变换(Discrete Fourier Transform,下面简称为DFT),而DFT的数学运算量与N成正比。因此N较大时需要能够有效计算DFT的运算法(Algorithm)。快速傅立叶变换(Fast Fourier Transform,下面简称为FFT)是一种能够把N长度的序列(Sequence)连续分解成更小长度的序列,大幅降低DFT运算量的运算法(Algorithm)。作为能够把N长度的序列分解成更小长度序列的方式,FFT包括有以时间(时域)抽取(Decimation In Time,下面简称为DIT)的方式、以及以频率(频域)抽取(Decimation In Frequency,下面简称为DIF)的方式。OFDM调制解调系统由于可以设计N-点FFT运算法,因此可以实现所述方式。
FFT用于把时域(Time Domain)信号变换成频域(Frequency Domain)信号,反快速傅立叶变换(Inverse Fast Fourier Transform,下面简称为IFFT)把频域信号变换成时域信号。对于无线通信来说,由于需要对频域进行分析,因此利用通过FFT生成的频域信号,进行信道估计(Channel Estimation)比较有效。现有的FFT装置有使用共享存储器(Shared Memory)的单处理组件(SingleProcessing Element,下面简称为SPE)结构,以及在各运算阶段(Operating Stage)的运算器(Operator)之间使用各迟滞反馈寄存器(Delay Feedback Register)的管线(Pipeline)结构。
其中,通过SPE结构实现的N-点FFT装置需要具有与运算阶段相同数量的对N个样本(Sample)的存储器读/写存取(Memory Read/Write Access),因此存在输出等待时间(Output Latency)大的缺点。对于管线结构来说,其优点是输出等待时间(Output Latency)为N-循环(N-cycles),虽然其存储容量上与SPE结构相同,但其缺点是需要与运算阶段相同数量的存储器、以及其输入和输出数据的顺序不同。通常为了容易地进行FFT之后的处理,会追加数据列变换用存储器、把等待时间相关N-循环最大限度增加,以使得输入与输出数据的顺序相同。
使用于OFDM调制解调等的FFT装置,由于需要处理连续的多个FFT输入信号,因此需要有存储器,以便在处理当前的FFT输入信号的同时,存储下一个FFT输入信号。另外,在管线结构中,具有构成FFT各步骤迟滞反馈寄存器的存储器,FFT装置大部分被存储器所占据,存储器越多,会造成系统面积越大的缺点。
发明内容
本发明的目的在于:提供一种可把FFT以及IFFT运算处理过程所需存储器容量最小化的FFT/IFFT运算核。
为了解决所述课题,本发明的FFT/IFFT运算核具有一输入缓冲器、一第1多路器、一运算模块、以及一控制模块。所述输入缓冲器存储并输出一第1FFT输入序列。所述第1多路器接通第1 FFT输入序列以及第3 FFT输入序列的其中一个。所述控制模块生成一信号处理方式指示信号以及一分路指示信号。所述信号处理方式指示信号指定输入于所述运算模块的序列是以DIT的方式或是以DIF的方式处理,所述分路指示信号指示让输入于所述运算模块的序列以不处理的状态原本地通过。这里,所述信号处理方式指示信号以及所述分路指示信号由FFT的大小决定。所述运算模块应答于所述信号处理方式指示信号以及所述分路指示信号,变换所述第1 FFT输入序列以及所述第3 FFT输入序列、分别生成一第1 FFT输出序列以及一第3 FFT输出序列、变换一第2 IFFT输入序列、生成一第2 IFFT输出序列。运算模块具有串连的若干个运算阶段。
本发明通过共享使用1个FFT/IFFT运算核,可以最大限度地降低所需存储器容量。
附图说明
图1是本发明的FFT/IFFT运算核模块图。
图2是图1的第0运算阶段的内部模块示意图。
图3是图1的第1运算阶段到第6运算阶段的内部模块示意图。
图4是多种大小(Size)输入序列的情况下,相关的各运算阶段使用与否以及使用顺序示意图。
图5是FFT/IFFT的大小(Size)不同的情况下,各运算阶段中使用的存储器容量(Memory Depth)示意图。
图6是相应于存储在输入缓冲器的每一样本的比特数(Bits Per Sample)小于可在FFT内部运算阶段处理的相应于每一样本的比特数(Bits Per Sample)的情况下,输入缓冲器结构以及使用过程的一实施例示意图。
图7是相应于存储在输入缓冲器的每一样本的比特数(Bits Per Sample)等于可在FFT内部运算阶段处理的相应于每一样本的比特数(Bits Per Sample)的情况下,输入缓冲器结构以及使用过程的一实施例示意图。
图8是输入缓冲器存储的每一样本相应比特数小于可在FFT内部运算阶段处理的每一样本相应比特数的情况下,各运算阶段的存储器种类以及容量。
图9是存储在输入缓冲器的每一样本相应比特数等于可在FFT内部运算阶段处理的每一样本相应比特数的情况下,各运算阶段的存储器种类以及容量。
图10是32-点DIT FFT的信号流程图。
图11是32-点DIF IFFT的信号流程图。
图12是执行32-点DIT运算以及32-点DIF运算的各运算阶段之间的连接关系示意图。
图13是连续3次输入时的32-点DIT/DIF动作时间示意图。
具体实施方式
本发明涉及对应于每一符号(Symbol)进行3次所规定FFT过程中,OFDM收信器所使用的FFT/IFFT运算核,交替地进行DIT方法的管线FFT和DIF方法的管线IFFT过程,不进行数据列变换,通过使用M(M为整数)倍于FFT输入输出样本时钟(Clock)频率的核心时钟(Core Clock),可以执行多个FFT过程。例如,对于需要进行3次FFT过程的OFDM收信器来说,M为4。
另外,为了以多次方式执行可变N-点(Variable N-point)FFT,根据DIT方法或DIF方法和FFT序列,不同地适用各阶段(Stage)的动作结构,使之具有共享特定存储器的结构。
下面,参照附图,对本发明的具体实施例进行详细说明。
这里说明的是对每一符号(Symbol)进行3次所规定FFT过程中,OFDM收信器的运算过程,表1是与对每一符号(Symbol)需要进行3次FFT运算的运算过程相关的表。
表1
 FFT顺序   FFT/IFFT   DIT/DIF  输入序列  输出序列   传输时间
1 FFT DIT  置换顺序(Permutated)  自然顺序(Naturally Ordered) N
2 IFFT DIF  自然顺序(Naturally Ordered)  置换顺序(Permutated) N
3 FFT DIT  置换顺序(Permutated)  自然顺序(Naturally Ordered) 2×N
如表1所示,不管执行FFT还是IFFT,变换后的数据序列的顺序与变换前的数据序列的顺序不同。
顺序1通过使用DIT方法,把时域(Domain)上的OFDM符号载体(SymbolCarrier),即输入序列(Input Sequence)变换成频域上的序列,而输出序列(OutputSequence)的数据的排列顺序与输入序列相比发生变化。顺序2使用DIF方法的IFFT以及顺序3使用DIT方法的FFT,用于信道估计(Channel Estimation)。
无线信道环境具有时强时弱(Fading)的特点,在时域和频域上的信道状态在各个时间点上发生不规律的变化。这里,时强时弱(Fading)是指是两个以上电波相互干扰后,振幅以及相位发生不规则变化的现象。对于信道进行振幅和相位推定的过程叫做信道估计(Channel Estimation)。信道估计可以说是对无线信道的频率应答进行估计的过程。
通常把FFT的大小(Size)叫做点(Point),下面为了说明上的方便,以8192点的FFT/IFFT运算核,即FFT的最大规格为8192的情况为例进行说明。因此,虽然说明的只是8192点及其以下的点,但把本发明修改成适合于更大规格FFT动作的,也包括在本发明的技术思想范围内。
图1是本发明的FFT/IFFT运算核100模块图。
如图1所示,FFT/IFFT运算核100包括输入缓冲器(Buffer)110、第1多路器(Multiplexer)M1、运算模块120、以及控制模块130。
输入缓冲器110存储并输出第1FFT输入序列(FFT Inputs)。
第1多路器M1接通(Multiplex)第1FFT输入序列(FFT Inputs)以及第3FFT输入序列(FFT Inputs)的其中一个。
控制模块130产生信号处理方式指示信号DIT/DIF(图2或图3)以及分路指示信号BP(图2或图3)。信号处理方式指示信号DIT/DIF决定把输入的序列以DIT方式处理或是以DIF方式处理。分路指示信号BP把输入的序列以没有处理的原有状态通过。这里,信号处理方式指示信号DIT/DIF以及分路指示信号BP根据FFT的大小决定。
运算模块120应答于信号处理方式指示信号DIT/DIF以及分路指示信号BP,转换第1FFT输入序列(FFT Inputs)以及第3FFT输入序列(FFT Inputs)、分别生成第1FFT输出序列(FFT Outputs)以及第3FFT输出序列(FFTOutputs)、转换第2IFFT输入序列(IFFT Inputs)、生成第2IFFT输出序列(IFFTOutputs)。运算模块120具有串连的若干个运算阶段。
第0运算阶段121应答于相应信号处理方式指示信号DIT/DIF以及相应分路指示信号BP,把第1多路器M1的输出信号Mo或第1运算阶段122的第2输出信号D1F原本地分路或进行信号处理,生成第1输出信号D0T或第2输出信号D0F(未图示)。这里进行信号处理是意味着对输入序列进行FFT或IFFT运算,同样适用于下面的说明。
第1运算阶段122应答于相应信号处理方式指示信号DIT/DIF以及相应分路指示信号BP,把第0运算阶段121的第1输出信号D0T或第2运算阶段123的第2输出信号D2F原本地分路或进行信号处理后,生成第1输出信号D1T或第2输出信号D1F
第2运算阶段123到第5运算阶段126与第1运算阶段122相同的逻辑连接,这里不再详细说明。
第6运算阶段127应答于相应信号处理方式指示信号DIT/DIF以及相应分路指示信号BP,把第5运算阶段126的第1输出信号D5T或第2IFFT输入序列(IFFT Inputs)原本地或进行信号处理,生成第1输出信号D6T(未图示)或第2输出信号D6F
综上所述,第1FFT输入序列(FFT Inputs)以及第3FFT输入序列(FFTInputs)被输入时,以从第0运算阶段121开始依次到第6运算阶段127的方向,执行DIT方式运算,生成第1FFT输出序列(FFT Outputs)以及第3FFT输出序列(FFT outputs)。第2IFFT输入序列(IFFT Inputs)被输入到运算模块120时,以从第6运算阶段127依次到第0运算阶段121的方向、执行DIF方式的运算,生成第2IFFT输出序列(IFFT Outputs)。
所述FFT/IFFT运算的执行方向由信号处理方式指示信号DIT/DIF决定。8192点的FFT/IFFT运算中,串连的多个运算阶段121-127全部被使用。但是,对于小于8192的FFT/IFFT运算来说,根据分路指示信号BP,有一部分运算阶段不会被使用。也就是说,将不会被用于运算的运算阶段所连接的分路指示信号BP进行启动(Enable),让输入到相应运算阶段的序列以没有被运算的状态直接分路到下一运算阶段中。
如上所述,本发明图1的FFT/IFFT运算核100的N为8192,即为8192点FFT/IFFT运算核。因此,第0运算阶段到第6运算阶段中的某一个运算阶段具有基数-2(Radix-2)结构,其余6个运算阶段应具有基数-4(Radix-4)结构。这里基数-2结构是处理2样本的输入序列的结构,基数-4结构是处理4样本的输入序列的结构。这些被串连后,总共成为8192(2*46)点。上面所述的样本和下面的说明中使用的样本包括I(In-phase)信道以及Q(Quadrature)信道的信息。
另外,图1的本发明FFT/IFFT运算核100使用于OFDM收信器为宜。
为了容易理解本发明的概念,假设图1的第0运算阶段121具有基数-2结构,其它6个运算阶段122-127具有基数-4的结构。
图2是图1的第0运算阶段121的内部模块示意图。
如图2所示,第0运算阶段121包括第2多路器M2、第3多路器M3、第4多路器M4、基数-2蝶式模块(Butterfly)210、第1延时器220以及第1乘法器230。
第2多路器M2在信号处理方式指示信号DIT/DIF指示DIT方式的运算时,选择并接通第1多路器M1(图1)的输出信号Mo;信号处理方式指示信号DIT/DIF指示DIF方式的运算时,选择并接通第1运算阶段122的第2输出信号D1F。第3多路器M3在信号处理方式指示信号DIT/DIF指示DIT方式的运算时,选择并接通旋转因子(Twiddle Factor)WK(n);信号处理方式指示信号DIT/DIF指示DIF方式的运算时,选择并接通单位旋转因子(1,Unit Weight)。这里K是整数,代表阶段的序号。例如,图2中使用的K为0时,这时的旋转因子表示为W0(n)
基数-2蝶式模块210从第2多路器M2的输出信号中,把一部分输出信号分路,对剩余的输出信号以及由第1延时器220输出的延时信号进行蝶式(Butterfly)运算。第1延时器220把由基数-2蝶式模块210分路的信号延时,生成延时信号。第1乘法器230对第3多路器M3的输出信号和基数-2蝶式模块210的输出信号进行复数乘法(Complex Multiplication)。
第4多路器M4在分路指示信号BP处于失效(Disable)状态时,选择并接通第1乘法器230的输出信号;分路指示信号BP处于启动(Enable)状态时、选择并接通第2多路器M2的输出信号。即,分路指示信号BP被启动(Enable)时,第0运算阶段121(图1)被排除于FFT/IFFT运算,因此分路(Bypass)通过第2多路器M2输入的信号。
第4多路器M4的输出信号成为第1输出信号D0T以及第2输出信号D0F。信号处理方式指示信号DIT/DIF指示DIT方式的运算时,第2输出信号D0F不使用于接下来的下一运算阶段;而信号处理方式指示信号DIT/DIF指示DIF的方式运算时,第1输出信号D0T不会被使用于下一运算阶段。因此如图2所示,即使同时输出第1输出信号D0T以及第2输出信号D0F,FFT/IFFT运算也不会出现问题。
图3是图1的第1运算阶段122到第6运算阶段127的内部模块示意图。
如图3所示,第K(K为1到6之间的任一整数)运算阶段122-127包括第5多路器M5、第6多路器M6、第7多路器M7、基数-4蝶式模块310、延时模块320以及第2乘法器330。
第5多路器M5在信号处理方式指示信号DIT/DIF指示DIT方式的运算时,选择并接通第(K-1)运算阶段的第一输出信号D(K-1)T;信号处理方式指示信号DIT/DIF指示DIF方式的运算时,选择并接通第(K+1)运算阶段的第2输出信号D(K+1)F。当第K运算阶段为第6运算阶段127时,选择并接通第2 IFFT输入序列(IFFT Inputs)(图1),替代第2输出信号D(k+1)F。第6多路器M6在应用于FFT/IFFT运算各运算阶段中的最终阶段时,应答于控制信号LS(LastStage),选择单位旋转因子(1);第6多路器M6在应用于FFT/IFFT运算的各运算阶段中的中间使用的运算阶段时,选择并接通由信号处理方式指示信号DIT/DIF决定的旋转因子WK(n)
基数-4蝶式模块310从第5多路器M5的输出信号中分路一部分信号,对第5多路器M5输出信号中的剩余信号以及由延时模块320输出的延时信号,进行蝶式运算。延时模块320对基数-4蝶式模块310分路的信号进行延时,生成所述多个延时信号。延时模块320具有第1延时器321、第2延时器322、第3延时器323。第1延时器321把基数-4蝶式模块310分路信号中的第1信号,延时一定时间。第2延时器322把基数-4蝶式模块310分路信号中的第2信号,延时一定时间。第3延时器323把基数-4蝶式模块310分路信号中的第3信号,延时一定时间。基数-4蝶式模块310对第1延时器321到第3延时器323以及第5多路器M5的输出信号进行蝶式运算,而蝶式运算所生成的4个输出信号中,只有一个信号被输出,其余3个输出信号重新存储于延时器321-323中。
第2乘法器330对第6多路器M6的输出信号和基数-4蝶式模块310的输出信号进行复数乘法。第7多路器M7在分路指示信号BP被启动(Enable)时,选择并接通第5多路器M5的输出信号;分路信号BP失效(Disable)时,选择并接通第2乘法器330的输出信号。即分路信号BP被启动(Enable)时,第K运算阶段排除于FFT/IFFT运算,因此分路(Bypass)通过第5多路器M5输入的信号。
这里第7多路器M7的输出信号成为第1输出信号DKT以及第2输出信号DKF。信号处理方式指示信号DIT/DIF指示DIT方式的运算时,不使用第2输出信号DKF;而信号处理方式指示信号DIT/DIF指示DIF方式运算时,不使用第1输出信号DKT。因此,如图3所示,即使同时输出第1输出信号DKT以及第2输出信号DKF,也不会对FFT/IFFT运算产生问题。图2以及图3的旋转因子Wk(n)按各运算阶段相互不同。
虽然,附图中没有详细记录,但依次使用多个运算阶段时,在最终运算阶段中,多路器M3(图2)、M6(图3)接通至乘法器230(图2)、330(图3)的旋转因子WK(n),恒定为1(one)。对这一部分,只要参照图12即可以容易理解。
图4是多种大小(Size)输入序列的情况下,相关的各运算阶段使用与否以及使用顺序示意图。
图4的箭头方向是运算执行顺序,数字是运算阶段的序号。
首先,对DIT方式运算执行过程进行说明。
这一情况下,由于本发明FFT/IFFT运算核100(图1)可处理的最大规格为8192,因此如果处理更小规格的序列,则应只使用内设的各运算阶段中的一部分,其余的进行分路处理。
如图4所示,FFT的大小(Size)为16时,依次使用两个具有基数-4结构的运算阶段即可。这里以依次使用第1运算阶段1以及第2运算阶段2的(1->2)为例进行说明。FFT的大小(Size)为32时,只要在FFT大小(Size)为16的结构上,把具有基数-2结构的第0运算阶段0进行追加为(0->1->2)即可。FFT的大小(Size)为1024时,依次使用具有基数-4结构的5个运算阶段即可,这里的实施例中,依次使用了第1运算阶段1到第5运算阶段5,成为(1->2->3->4->5)。同理,对于1024两倍的2048来说,只要追加具有基数-2结构的第0运算阶段0而成为(0->1->2->3->4->5)即可。
进行DIF方式运算的情况,也可以用相同的理论进行说明。
如图4所示,IFFT的大小(Size)为16时,依次使用两个具有基数-4结构的运算阶段即可。这里以分路第2运算阶段2后使用第3运算阶段3以及第1运算阶段1的(3->1)为例进行说明。IFFT的大小(Size)为32时,只要在IFFT大小(Size)为16的结构上,把具有基数-2结构的第0运算阶段0进行追加为(3->1->0)即可。IFFT的大小(Size)为1024时,依次使用具有基数-4结构的5个运算阶段即可,这里的实施例中,分路第5运算阶段5后,依次使用了第6运算阶段6到第1运算阶段1而成为(6->4->3->2->1)。同理,对于1024两倍的2048来说,只要追加具有基数-2结构的第0运算阶段0而成为(6->4->3->2->1->0)即可。
图5是FFT/IFFT的大小(Size)不同的情况下,各运算阶段中使用的存储器容量(Memory Depth)示意图。
图5中,各模块的内部数字意味着存储器容量(Memory Depth),没有记录的各模块代表与未使用的运算阶段对应的存储器。
为了实现只用一个FFT运算核100(图1),依次进行每一符号(Symbol)的FFT过程、IFFT过程以及FFT过程,需要设置额外的存储器(Memory)。辅助的存储器在第1FFT输出DIT时存储第2 IFFT输入序列,在第2 IFFT输出DIF时存储第3 FFT的DIT输入序列。
下面,对此进行详细说明。从DIT向DIF变更FFT动作方法时,需要具有可存储最大(N/4)个各样本的存储器,而从DIF向DIT变更FFT动作方法时,需要具有可存储最大N个样本的存储器。
请再参考图1,为了解决所述有关存储器的问题,把情况分为存储在输入缓冲器110(图1)的相应于每一样本的比特数(Bits Per Sample)小于可在FFT内部运算阶段处理的相应于每一样本的比特数(Bits Per Sample)的情况,以及存储在输入缓冲器110的相应于每一样本的比特数(Bits Per Sample)等于可在FFT内部运算阶段处理的相应于每一样本的比特数(Bits Per Sample)的情况。
第一,存储在输入缓冲器110的相应于每一样本的比特数(Bits Per Sample)小于可在FFT内部运算阶段处理的相应于每一样本的比特数(Bits PerSample)N(N为整数)的情况下,作为DIT和DIF之间所需的存储器,使用与(N/4)样本大小相同的辅助存储器;作为DIF和DIT之间所需的N样本存储器,共享使用辅助的(N/4)样本存储器和第6运算阶段127的(3N/4)样本存储器。由于本发明的FFT/IFFT运算核100最大可以处理8192比特的输入序列,所述情况相当于需要处理小于8192比特的输入序列的情况。这一情况下,可以把输入缓冲器110以如下方式划分区域进行使用。
图6是相应于存储在输入缓冲器的每一样本的比特数(Bits Per Sample)小于可在FFT内部运算阶段处理的相应于每一样本的比特数(Bits Per Sample)的情况下,输入缓冲器结构以及使用过程的一实施例示意图。
如图6所示,输入缓冲器的相应于每一样本的比特数(Bits Per Sample)小于可在FFT内部运算阶段处理的相应于每一样本的比特数(Bits Per Sample)的情况下,把图1的输入缓冲器110的区域可以划分为8192容量的1个单口-静态随机存储器(Single Port-Static Random Access Memory,下面简称为SP-SRAM)601和2048容量的一个SP-SRAM 602。这里2048容量的SP-SRAM602是上面说明的存储器,即大小相当于(N/4)样本的辅助存储器。读/写(Read/Write)第1符号1后、读写第2符号2以及读写后续符号3-6的过程,按SP-SRAM 601和SP-SRAM 602的右侧所示箭头方向进行。
第二,输入缓冲器110的相应于每一样本的比特数(Bits Per Sample)等于可在FFT内部运算阶段处理的相应于每一样本的比特数(Bits Per Sample)的情况下,作为DIT和DIF之间所需的(N/4)样本存储器,共享使用输入缓冲器110的(N/4)容量;作为DIF和DIT之间所需的N样本存储器,共享使用的输入缓冲器110的(N/4)容量大小的存储器和第6运算阶段127的(3N/4)样本存储器。这一情况下,也可以把输入缓冲器110按下面的方式划分区域使用。
图7是相应于存储在输入缓冲器的每一样本的比特数(Bits Per Sample)等于可在FFT内部运算阶段处理的相应于每一样本的比特数(Bits Per Sample)的情况下,输入缓冲器结构以及使用过程的一实施例示意图。
如图7所示,输入缓冲器110的相应于每一样本的比特数(Bits Per Sample)等于可在FFT内部运算阶段处理的相应于每一样本的比特数(Bits Per Sample)的情况下,存储器的时钟脉冲频率(Clock Frequency)与FFT/IFFT运算核100的时钟脉冲频率(Clock Frequency)相同时,输入缓冲器110用2048容量的五个SP-SRAM 701-705构成(左侧)。存储器的时钟脉冲频率(Clock Frequency)为FFT/IFFT运算核100时钟脉冲频率(Clock Frequency)的2倍时,输入缓冲器110由10240容量的一个SP-SRAM 706构成(右侧)。
通过4个存储器701-704对第1符号1进行写(Write)以及读(Read)后,进行对第2符号2的写(Write)以及读(Read),后续的第2符号2的读(Read)、写(Write)过程通过4个存储器705、701、702、703进行。接下来,对第3个符号3的写(Write)以及读(Read)的过程通过4个存储器704、705、701、702进行。
以图7左侧的结构,构成输入缓冲器110时,每个符号都存在与(N/4)样本大小相应的不使用的区段。例如,为了执行第1符号1的FFT,从运算模块120读入N样本701-704之后,在存储第2符号2的输入缓冲器110的区段中,图7的第4个存储器704一直处于空闲(Idle)状态。即,对于每一输入符号(Input Symbol)都存在相应于(1/4)N样本大小的空闲(Idle)状态的存储器。另外,在DIF输出和DIT输入之间,由于第6运算阶段127的(3N/4)样本存储器可能是只执行读入存取(Read Access)、或者不存在任何存取的区段,因此在这一区段中,把DIT输入信号写入(Write)在存储器后,在下一阶段中进行读取(Read),以此可以共享(3N/4)样本存储器。
如图6以及图7所示,使用一定容量存储器时,使用与对象容量相同的一个存储器,比使用多个存储器更加节省面积以及加快速度。从而,根据这种优缺点,可以由设计人员任意决定所述存储器的结构。
图8是输入缓冲器存储的每一样本相应比特数小于可在FFT内部运算阶段处理的每一样本相应比特数的情况下,各运算阶段的存储器种类以及容量。
图9是存储在输入缓冲器的每一样本相应比特数等于可在FFT内部运算阶段处理的每一样本相应比特数的情况下,各运算阶段的存储器种类以及容量。
如图8、图9所示,左侧是存储器所使用的时钟脉冲频率与FFT/IFFT运算核所使用的时钟脉冲频率相同时的情况,右侧是存储器所使用的时钟脉冲频率为FFT/IFFT运算核所使用的时钟脉冲频率的两倍时的情况。
如图8所示,输入缓冲器存储的每一样本相应比特数小于可在FFT内部运算阶段处理的每一样本相应比特数的情况下,输入缓冲器包括辅助的(N/4)存储器(Extra Memory)。如图9所示,输入缓冲器存储的每一样本相应比特数等于可在FFT内部运算阶段处理的每一样本相应比特数的情况下,输入缓冲器的总容量为10240。
图10是32-点DIT FFT的信号流程图。
图11是32-点DIF IFFT的信号流程图。
图10以及图11是与普遍公开的运算过程相关的内容。因此,这里不再进行详细说明。
图12是执行32-点DIT运算以及32-点DIF运算的各运算阶段之间的连接关系示意图。
如图12所示,为了执行32-点DIT运算以及32-点DIF运算,需要包括具有基数-2结构的一个运算阶段以及具有基数-4结构的两个运算阶段。这里为了说明上的方便,假设使用具有基数-2结构的第0运算阶段1210,以及具有基数-4结构的第1运算阶段1220以及第2运算阶段1230。
如图12的上半部所示,执行32-点DIT时,DIT输入序列(DIT Inputs)通过第0运算阶段1210、第1运算阶段1220、第2运算阶段1230,生成DIT输出序列(DIT Outputs)。如图12的下半部所示,执行32-点DIF时,DIF输入序列(DIF Inputs)通过第3运算阶段1240、第1运算阶段1250、第0运算阶段1260,生成DIF输出序列(DIF Outputs)。这里,运算最终阶段的旋转因子WK(n)恒定为1(one)。图12的各运算阶段的顺序与图4的32-点DIT以及32-点DIF运算顺序相对应。
图13是连续3次输入时的32-点DIT/DIF动作时间示意图。
图13中显示处理DIT的FFT运算、处理DIF的IFFT运算,最后处理DIT的FFT运算时的时间。图13所示的时间图表,对于所属技术领域的技术人员来说是非常容易理解的图表,因此省略其详细说明。
虽然没有图示,但本发明的FFT/IFFT运算核100的运算阶段包括多个存储器,这些存储器使用于构成运算模块120的多个运算阶段。如果为了3次运算需要使用3个运算核,则多个运算阶段各自的存储器所在面积会比本发明大3倍。但是本发明的运算核进行3次运算时,以时间分割方式共享运算核,与现有技术相比,可以把所需面积减少到1/3。
上面,参照附图,对本发明的技术思想进行了说明。但这只是对本发明最佳实施例的说明,并不限制本发明。当然,对于具有本发明所属领域基本知识的人员来说,可以在本发明技术思想范围内,对本发明进行多种变形以及模仿。

Claims (10)

1.一种快速傅立叶变换/反快速傅立叶变换运算核,其特征在于,包括:
一第1多路器,对一第1快速傅立叶变换输入序列以及一第3快速傅立叶变换输入序列的其中一个进行接通;
一输入缓冲器,存储并输出所述第1快速傅立叶变换输入序列;
一运算模块,具有若干个运算阶段,所述运算模块应答于一信号处理方式指示信号以及一分路指示信号、变换所述第1快速傅立叶变换输入序列以及所述第3快速傅立叶变换输入序列、分别生成一第1快速傅立叶变换输出序列以及一第3快速傅立叶变换输出序列、变换一第2反快速傅立叶变换输入序列、以及生成一第2反快速傅立叶变换输出序列;以及
一控制模块,生成所述信号处理方式指示信号以及所述分路指示信号,其中所述信号处理方式指示信号指定输入于所述运算模块的序列是以时间抽取的方式或是以频率抽取的方式处理,所述分路指示信号指示让输入于所述运算模块的序列以不处理的状态原本地通过。
2.根据权利要求1所述的快速傅立叶变换/反快速傅立叶变换运算核,其特征在于:这些运算阶段包括:
一第0运算阶段,应答于相应信号处理方式指示信号以及相应分路指示信号,把所述第1多路器的一输出信号或一第1运算阶段的一第21输出信号,原本地分路或者通过进行快速傅立叶变换运算或反快速傅立叶变换运算,生成一第10输出信号或一第20输出信号;
所述第1运算阶段,应答于相应信号处理方式指示信号以及相应分路指示信号,把第0运算阶段的所述第10输出信号或一第2运算阶段的一第22输出信号,原本地分路或者进行快速傅立叶变换运算或反快速傅立叶变换运算,生成一第11输出信号或一第21输出信号;以及
一第K运算阶段,应答于相应信号处理方式指示信号以及相应分路指示信号,把一第K-1运算阶段的一第1K-1输出信号或所述第2反快速傅立叶变换输入序列原本地进行分路或者进行快速傅立叶变换运算或反快速傅立叶变换运算,生成一第1K输出信号或一第2K输出信号,其中K为整数。
3.根据权利要求2所述的快速傅立叶变换/反快速傅立叶变换运算核,其特征在于:
所述第0运算阶段到所述第K运算阶段中的至少某一个阶段具有基数-2结构,其它K-1个各运算阶段具有基数-4结构。
4.根据权利要求3所述的快速傅立叶变换/反快速傅立叶变换运算核,其特征在于:所述第0运算阶段包括:
一第2多路器,所述信号处理方式指示信号指示以时间抽取的方式运算时,所述第2多路器选择并接通所述第1多路器的输出信号;所述信号处理方式指示信号指示以频率抽取的方式运算时,所述第2多路器选择并接通所述第1运算阶段的所述第1,2输出信号;
一第3多路器,所述信号处理方式指示信号指示以时间抽取的方式运算时,所述第3多路器选择并接通一旋转因子WK(n);所述信号处理方式指示信号指示以频率抽取的方式运算时,所述第3多路器选择并接通一单位旋转因子,其中K为运算阶段的序号;
一基数-2蝶式模块,把所述第2多路器的输出信号中的一部分进行分路,对剩余输出信号以及一延时信号进行蝶式运算;
一第1延时器,对所述基数-2蝶式模块分路的信号按一定时间进行延时,生成所述延时信号;
一第1乘法器,对所述第3多路器的输出信号和所述基数-2蝶式模块的输出信号进行逻辑乘法;以及
一第4多路器,所述分路指示信号为失效状态时,所述第4多路器选择并接通所述第1乘法器的输出信号;所述分路指示信号处于启动状态时,所述第4多路器选择并接通所述第2多路器的输出信号。
5.根据权利要求3所述的快速傅立叶变换/反快速傅立叶变换运算核,其特征在于:所述第1运算阶段到所述第K运算阶段各包括:
一第5多路器,所述信号处理方式指示信号指示以时间抽取的方式运算时,所述第5多路器选择并接通所述第K-1运算阶段的所述第1K-1输出信号;所述信号处理方式指示信号指示以频率抽取的方式运算时,所述第5多路器选择并接通一第K+1运算阶段的一第2K+1输出信号;
一第6多路器,所述信号处理方式指示信号指示以时间抽取的方式运算时,所述第6多路器选择并接通一旋转因子WK(n);所述信号处理方式指示信号指示以频率抽取的方式运算时,所述第6多路器选择并接通一单位旋转因子;
一基数-4蝶式模块,分路所述第5多路器输出信号中的一部分信号,对所述第5多路器输出信号中的剩余信号以及若干个延时信号进行蝶式运算;
一延时模块,对所述基数-4蝶式模块分路的信号依次进行延时,产生这些延时信号;
一第2乘法器,对所述第6多路器的输出信号和所述基数-4蝶式模块的输出信号进行逻辑乘法;以及
一第7多路器,所述分路指示信号被启动时,所述第7多路器选择并接通所述第5多路器的输出信号;所述分路指示信号失效时,选择并接通所述第2乘法器的输出信号。
6.根据权利要求5所述的快速傅立叶变换/反快速傅立叶变换运算核,其特征在于:所述延时模块包括:
一第1延时器,从所述基数-4蝶式模块分路的信号中,对第1个信号延时一定时间;
一第2延时器,从所述基数-4蝶式模块分路的信号中,对第2个信号延时一定时间;以及
一第3延时器,从所述基数-4蝶式模块分路的信号中,对第3个信号延时一定时间。
7.根据权利要求5所述的快速傅立叶变换/反快速傅立叶变换运算核,其特征在于:
所述旋转因子WK(n)的值全部具有相同的值或按各运算阶段相互不同。
8.根据权利要求5所述的快速傅立叶变换/反快速傅立叶变换运算核,其特征在于:
这些运算阶段中,执行快速傅立叶变换以及反快速傅立叶变换运算的最终阶段的运算阶段,输入到其乘法器的旋转因子值恒定为1。
9.根据权利要求1所述的快速傅立叶变换/反快速傅立叶变换运算核,其特征在于:所述输入缓冲器的结构为:
具有N存储容量的主存储器以及具有(N/4)存储容量的辅助存储器相结合的一第一结构,或是
具有(5N/4)存储容量的主存储器的一第二结构,或是
具有(N/4)存储容量的5个辅助存储器相结合的一第三结构,其中N为整数,是快速傅立叶变换/反快速傅立叶变换运算核片可处理的最大输入序列。
10.根据权利要求1所述的快速傅立叶变换/反快速傅立叶变换运算核,其特征在于:
所述信号处理方式指示信号以及所述分路指示信号被所述第1快速傅立叶变换输入序列以及所述第3快速傅立叶变换输入序列的大小和所述第2反快速傅立叶变换输入序列的大小决定。
CN2009801001719A 2008-06-09 2009-06-08 快速傅立叶变换/反快速傅立叶变换运算核 Expired - Fee Related CN101836202B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020080053456A KR100989797B1 (ko) 2008-06-09 2008-06-09 Fft/ifft 연산코어
KR10-2008-0053456 2008-06-09
PCT/CN2009/072182 WO2009149654A1 (zh) 2008-06-09 2009-06-08 快速傅立叶变换/反快速傅立叶变换运算核

Publications (2)

Publication Number Publication Date
CN101836202A true CN101836202A (zh) 2010-09-15
CN101836202B CN101836202B (zh) 2013-08-14

Family

ID=41416374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801001719A Expired - Fee Related CN101836202B (zh) 2008-06-09 2009-06-08 快速傅立叶变换/反快速傅立叶变换运算核

Country Status (4)

Country Link
US (1) US8917588B2 (zh)
KR (1) KR100989797B1 (zh)
CN (1) CN101836202B (zh)
WO (1) WO2009149654A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102364456A (zh) * 2011-10-18 2012-02-29 广州晶锐信息技术有限公司 64点fft计算器
CN103095635A (zh) * 2011-10-28 2013-05-08 芯光飞株式会社 正交频分复用接收器
CN104462016A (zh) * 2013-09-22 2015-03-25 中兴通讯股份有限公司 一种矢量运算核以及矢量处理器

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102216063B1 (ko) 2015-01-21 2021-02-16 한국전자통신연구원 Lte 시스템의 ifft 입력 제어 장치
US10541846B2 (en) * 2015-03-31 2020-01-21 Chongqing University Of Posts And Telecommunications Method and system for multi-carrier time division multiplexing modulation/demodulation
US9977116B2 (en) * 2015-10-05 2018-05-22 Analog Devices, Inc. Scaling fixed-point fast Fourier transforms in radar and sonar applications
US9735996B2 (en) 2015-11-25 2017-08-15 Electronics And Telecommunications Research Institute Fully parallel fast fourier transformer
GB2545210B (en) 2015-12-09 2020-07-29 Imagination Tech Ltd Configurable FFT architecture
WO2021091335A1 (ko) * 2019-11-08 2021-05-14 한국전기연구원 고속 퓨리에 변환 방법 및 장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197525B2 (en) 2002-11-26 2007-03-27 Analog Devices, Inc. Method and system for fixed point fast fourier transform with improved SNR
KR20050017065A (ko) * 2003-08-12 2005-02-21 삼성전자주식회사 희소 원소를 갖는 고속 푸리에 변환 및 역고속 푸리에변환에서의 동작 전력 감소 장치 및 방법
US7551545B2 (en) 2004-02-09 2009-06-23 Qualcomm Incorporated Subband-based demodulation for an OFDM-based communication system
US7870176B2 (en) * 2004-07-08 2011-01-11 Asocs Ltd. Method of and apparatus for implementing fast orthogonal transforms of variable size
TWI308430B (en) 2006-04-26 2009-04-01 Ind Tech Res Inst Phase tracking method and device thereof
CN101110803B (zh) * 2006-07-18 2011-06-01 大唐移动通信设备有限公司 一种基于快速傅立叶变换和反变换联合运算的实现方法
US20080320069A1 (en) * 2007-06-21 2008-12-25 Yi-Sheng Lin Variable length fft apparatus and method thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102364456A (zh) * 2011-10-18 2012-02-29 广州晶锐信息技术有限公司 64点fft计算器
CN103095635A (zh) * 2011-10-28 2013-05-08 芯光飞株式会社 正交频分复用接收器
CN103095635B (zh) * 2011-10-28 2015-09-16 芯光飞株式会社 正交频分复用接收器
CN104462016A (zh) * 2013-09-22 2015-03-25 中兴通讯股份有限公司 一种矢量运算核以及矢量处理器
US9910671B2 (en) 2013-09-22 2018-03-06 Sanechips Technology Co. Ltd. Vector operation core and vector processor
CN104462016B (zh) * 2013-09-22 2018-06-05 南京中兴软件有限责任公司 一种矢量运算核以及矢量处理器

Also Published As

Publication number Publication date
WO2009149654A1 (zh) 2009-12-17
KR20090127462A (ko) 2009-12-14
CN101836202B (zh) 2013-08-14
US20110164490A1 (en) 2011-07-07
US8917588B2 (en) 2014-12-23
KR100989797B1 (ko) 2010-10-29

Similar Documents

Publication Publication Date Title
CN101836202B (zh) 快速傅立叶变换/反快速傅立叶变换运算核
US7233968B2 (en) Fast fourier transform apparatus
US20080208944A1 (en) Digital signal processor structure for performing length-scalable fast fourier transformation
AU2004297978A1 (en) FFT architecture and method
JP6288089B2 (ja) デジタルフィルタ装置、デジタルフィルタ処理方法及びデジタルフィルタプログラムが記憶された記憶媒体
CN103699515B (zh) 一种fft并行处理装置和方法
US7792892B2 (en) Memory control method for storing operational result data with the data order changed for further operation
CN102652315A (zh) 信息处理设备、其控制方法、程序及计算机可读存储媒体
EP1008060A1 (en) A device and method for calculating fft
US20150301986A1 (en) Fast fourier transform circuit, fast fourier transform processing method, and program recording medium
KR102376492B1 (ko) 실수값을 입력으로 하는 고속푸리에 변환장치 및 방법
US9582474B2 (en) Method and apparatus for performing a FFT computation
US7246143B2 (en) Traced fast fourier transform apparatus and method
US6728742B1 (en) Data storage patterns for fast fourier transforms
US8356064B1 (en) Discrete Fourier transform calculation method and apparatus
EP2538345A1 (en) Fast fourier transform circuit
Mankar et al. FPGA implementation of 16-point radix-4 complex FFT core using NEDA
CN101833540B (zh) 信号处理方法和装置
TWI390416B (zh) 快速傅立葉變換/反快速傅立葉變換運算核之裝置
US11531497B2 (en) Data scheduling register tree for radix-2 FFT architecture
CN103870437A (zh) 数字信号处理装置及其处理方法
JP6436087B2 (ja) デジタルフィルタ装置、デジタルフィルタ処理方法およびプログラム
US6751642B1 (en) Process and device for transforming complex symbols into real data, especially for the transmission over a telephone line of phase-modulated and amplitude-modulated carriers
CN101296211A (zh) 3780点离散傅立叶变换处理器
Qureshi et al. Generalized twiddle factor index mapping of radix-2 fast Fourier transform algorithm

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
CP03 Change of name, title or address

Address after: B901, B902, B903, Tianan science and Technology Pioneer Park, Futian, Futian District Che Kung Temple, Shenzhen, Guangdong

Co-patentee after: Silicon Motion Corp.

Patentee after: Hui Rong Technology (Shenzhen) Co., Ltd.

Co-patentee after: Fci Inc.

Address before: 518040 Tianan science and Technology Pioneer Park, Futian, Futian District, Shenzhen, Che Kung Temple

Co-patentee before: Silicon Motion Corp.

Patentee before: Silicon Motion (Shenzhen) Inc.

Co-patentee before: Fci Inc.

CP03 Change of name, title or address
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130814

Termination date: 20200608

CF01 Termination of patent right due to non-payment of annual fee