CN1663208A - 利用混合基数快速付里叶变换的调制设备 - Google Patents

利用混合基数快速付里叶变换的调制设备 Download PDF

Info

Publication number
CN1663208A
CN1663208A CN038150123A CN03815012A CN1663208A CN 1663208 A CN1663208 A CN 1663208A CN 038150123 A CN038150123 A CN 038150123A CN 03815012 A CN03815012 A CN 03815012A CN 1663208 A CN1663208 A CN 1663208A
Authority
CN
China
Prior art keywords
radix
memory
fft
butterfly
output
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
CN038150123A
Other languages
English (en)
Other versions
CN100563226C (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.)
Samsung Electronics Co Ltd
Ajou University Industry Academic Cooperation Foundation
Original Assignee
Samsung Electronics Co Ltd
Ajou University Industry Academic Cooperation Foundation
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 Samsung Electronics Co Ltd, Ajou University Industry Academic Cooperation Foundation filed Critical Samsung Electronics Co Ltd
Priority claimed from KR1020030042357A external-priority patent/KR100557160B1/ko
Publication of CN1663208A publication Critical patent/CN1663208A/zh
Application granted granted Critical
Publication of CN100563226C publication Critical patent/CN100563226C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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

Abstract

本发明公开了作为OFDM(正交频分多路复用)或DMT(离散多频声)MODEM的核心模块的FFT(快速付里叶变换)处理器。FFT处理器通过将原地算法(in-place algorithm)应用于混合基数多存储体存储器,同时进行顺序输入和输出,从而只利用含有4个存储体的2N-字存储器就可以实现连续处理。FFT处理器在满足高速计算要求的同时,使其复杂度降到最低。

Description

利用混合基数快速付里叶变换的调制设备
技术领域
本发明一般涉及调制数据的设备,尤其涉及基于正交频分多路复用(下文称为“OFDM”)技术或离散多频声(下文称为“DMT”)技术的调制设备。
背景技术
一般说来,在数字数据通信系统中,在发送之前对数据加以调制,在接收之后对数据加以解调。这样的调制和解调由可能随其调制方案而改变的MODEM(调制解调器)来完成。通常,用于数据通信的调制方案包括码分多路复用(CDM)、频分多路复用(FDM)、OFDM和DMT方案。
下文对OFDM和DMT调制方案加以描述。
OFDM方案是为无线通信系统中多路信道上的高速数据传输提出的。在提出OFDM方案之前,单载波传输方案用于数据传输。也就是说,利用OFDM方案之前的调制方案的无线通信系统调制串行传输数据,然后,利用信道的整个频带传输每个调制码元。OFDM方案或DMT方案将调制数据串-并转换成与载波数目一样多的数据码元,并且利用相应的副载波调制转换数据码元。这种利用副载波的调制是利用离散付里叶变换(下文称为“DFT”)实现的。但是,对于实际的硬件设计,为了减少计算(或运算)次数,利用副载波的调制是利用快速付里叶变换(下文称为“FFT”)算法实现的,而不是利用DFT或离散付里叶逆变换(下文称为“IDFT”)算法实现的。当应用于OFDM系统时,处理FFT算法的处理器高度复杂,并且,需要高速计算。因此,难以实现处理FFT算法的处理器。
在需要高速计算的领域中,主要使用具有流水线结构的FFT处理器。但是,流水线结构需要与级数一样多的计算器,这样,点数的增加引起其硬件尺寸的增大。因此,为了解决与硬件尺寸增大有关的问题,人们引入了利用存储器结构和单个蝶式计算器的处理器。
利用基数-2 FFT算法的、基于存储器FFT处理器是这种处理器的典型例子。由于基于存储器FFT处理器可以将基数-2 FFT算法应用于存储器结构,可以使乘法器数目达到最少。因此,基于存储器FFT处理器可以用在实现小型FFT处理器中。
但是,利用基数-2 FFT算法的基于存储器FFT处理器需要许多个计算周期,这增加了计算时间。因此,基于存储器FFT处理器不适合于需要高速计算的OFDM系统或DMT系统,并且,为了满足高速计算要求,基于存储器FFT处理器需要极高工作频率。因此,在OFDM系统或DMT系统中,基数-4算法一般用来取代基数-2算法。现在对基于基数-4算法的现有FFT处理器加以描述。
图1是例示Amphion公司引入的基于基数-4算法FFT处理器的方块图。与基数-2算法相比,基数-4算法使级数减少一半,并且,还使每一级的蝶式计算次数减少一半。因此,基数-4算法在蝶式计算次数上比基数-2算法少得多。下表1所示的是基于FFT长度的基数-2算法、基数-4算法和如后所述的混合基数算法的计算次数。
                       表1
    FFT长度     基数-2     基数-4     混合基数
    256     1,024     256     -
    512     2,304     -     640
    1,024     5,120     1,280     -
    2,048     11,264     -     3,072
    4,096     24,576     6,144     -
    8,192     53,248     -     14,336
如表1所示,基数-4算法适合于FFT长度只为4n(其中,n是整数)的FFT计算,而基数-2算法适合于所有FFT长度2n的FFT计算。例如,对于28的FFT长度256(256=28),基数-2算法和基数-4算法两者都可以进行FFT计算。但是,对于29的FFT长度512(512=29),基数-4算法不能进行FFT计算,而基数-2算法可以进行FFT计算。因此,为了对所有FFT长度2n进行FFT计算,需要与另一种基数算法一起使用基数-4算法的混合基数算法。表1的最后一列示出了当使用混合使用基数-4算法和基数-2算法的混合基数算法时,蝶式计算的次数。表1中通过混合基数算法进行的计算的次数等于用Amphion公司提供的FFT处理器进行的计算的次数。现在参照图1描述Amphion公司制造的FFT处理器。
参照图1,利用混合基数算法的FFT处理器通过有选择地使基数-4蝶式器(butterfly)和基数-4/基数-4蝶式器工作,进行基数-4、基数-8和基数-16计算的混合基数计算。输入/输出接口和控制器11对从外部接收的输入数据X进行FFT计算,并且将FFT计算结果数据输出到FFT处理器的外部。输入/输出接口和控制器11的输入数据X和输出数据Y可以成为OFDM码元或DMT码元。存储器控制器12控制存储器13的地址生成,以便读写计算过程中的数据和从输入/输出接口和控制器11接收的用于FFT计算的数据。存储器13是利用1024-字双端口存储器实现的,并且读写从外部接收的数据和存储器控制器12指定的地址中FFT计算的中间数据和结果数据。
蝶式计算器10由基数-4蝶式器(butterfly)14、旋转因子查用表(下文称为“LUT”)16和复数乘法器15组成。基数-4蝶式器14进行基数-4蝶式计算当中的相加和相减计算。旋转因子LUT 16是存储计算过程中数据的旋转因子和输出旋转因子值的存储表。复数乘法器15进行基数-4蝶式计算当中复数相乘,生成复数相乘结果值。基数-4/基数-2选择性蝶式器17有选择地进行基于FFT长度的最后计算。例如,当基于FFT长度的最后计算需要基数-2计算时,选择基数-2蝶式器进行基数-2计算。但是,当最后计算需要基数-4计算时,选择基数-4蝶式器进行基数-4计算。结果,通过将整个FFT计算与蝶式计算器10的基数-4蝶式计算结合在一起,可以进行基数-8计算或基数-16计算。因此,FFT处理器包括只有在末级中选择基数-4/基数-2选择性蝶式器17和在其它级中选择基数-4蝶式计算器10的多路复用器(MUX)18。基数-4算法是利用具有4个输出端和4个输出端的蝶式器实现的。因此,在一个周期内必须进行4次输入和4次输出,以便使计算周期数最少。为了在一个周期内进行4次输入和4次输出,必须将存储器划分成多个存储体。但是,图1的FFT处理器没有多存储体结构。因此,图1的FFT处理器需要多个计算周期,未能利用基数-4计算。
图2是例示Drey Enterprise公司引入的、拥有混合基数算法和多存储体结构的FFT处理器的方块图。如图2所示,Drey Enterprise公司引入的FFT处理器也拥有存储器结构。在图2的FFT处理器中,在两个输入存储器(RAM)21和22之一存储来自外部的输入数据的同时,另一个输入RAM用于FFT计算。MUX 23确定将从输入RAM 21和22之一接收蝶式输入,还是从输出RAM 28和29之一接收蝶式输入。基数-2计算器26和27的每一个在基数-2计算级中进行基数-2计算,生成基数-2计算结果。MUX 24多路复用从基数-2计算器26和27接收的计算结果值,以便将基数-2计算结果值写入输入RAM 21和22的某一个或输出RAM 28和29的某一个中。基数-2/基数-4公用计算器25在基数-4计算级中进行基数-4计算,并且在基数-2计算级中进行基数-2计算。在两个输出RAM 28和29之一用于FFT计算的同时,另一个RAM将FFT计算结果输出到外部。图2的结构使用了基数-4算法和基数-2的算法的混合算法,还使用了多存储体存储器结构。多存储体存储器结构的使用有助于使计算时钟周期达到最少。
但是,图2的结构未能应用将蝶式输出写入蝶式输入已被访问的存储位置中的原地算法。因此,图2的结构将两个N-字存储器用于FFT计算。也就是说,仅仅对于FFT计算,只需要两个4-存储体存储器。但是,为了进行连续处理,必须将多于两个的4-存储体存储器用于输入和输出。因此,在图2中,总共使用了4个存储器。存储器是占据FFT处理器最多区域的模块之一。因此,存储器数目的增加引起FFT处理器的存储器复杂度、硬件尺寸和成本增加。
图3例示了L.G.Johnson引入使存储器结构的存储器复杂度达到最小的原地算法的16-点FFT。原地算法用在将存储器划分成多个存储体的时候。对于基数-4蝶式计算,必须同时访问4个码元,并且必须同时将4个蝶式计算结果写入访问位置中。为了这个目的,必须将主存储器划分成4个存储体,即,存储体#0、存储体#1、存储体#2和存储体#3,并且必须进行适当寻址,以便不同时从一个存储体访问几个数据码元。图3例示了16-点FFT的原地存储器寻址,其中配备了进行第1到第8蝶式计算的结构。在每次蝶式计算中,一次挑选4个输入。这里,4个输入是从不同存储体读取的。在第1蝶式计算中,从存储体#0的地址0、存储体#1的地址1、存储体#2的地址2和存储体#3的地址3中读取4个输入,并且将蝶式计算结果写入同一存储体的同一地址中。在第2蝶式计算中,从存储体#1的地址0、存储体#2的地址1、存储体#3的地址2和存储体#0的地址3中读取4个输入,并且将蝶式计算结果写入同一位置中。在图3中,通过对将输入数据计数位划分成2-位数字确定的值进行模-4相加,可以简单地计算出指示正在使用的存储体的存储体索引i。由于图3的FFT是16-点FFT,使用4-位计数器,以便计数16个数据位。将4个位划分成2个高位和2个低位,在对2个高位和2个低位进行模-4相加的方法中计算存储体索引i。
但是,上述原地算法是为固定基数系统,而不是为混合基数系统提出的。因此,如果不作修改,原地算法(in-place algorithm)不能应用于混合基数系统。
接着,对传统连续处理结构加以描述。R.Radhouane提出了通过在存储器结构中同时进行输入和输出,只利用两个N-字存储器就能够进行连续处理的基于存储器FFT处理器。这种结构在根据当基数-2算法进行DIF(频度抽选)计算和DIT(时间抽选)计算时,其输出和输入具有位反向特性的事实,交替进行DIF计算和DIT计算的方法中实现了连续处理。下表2是利用两个存储器的连续处理结构的计算方法。
                              表2
         存储器#1          存储器#2
 OFDM码元     存储速率 FFT-I/O模式     存储速率 FFT-I/O模式
    0     C     DIF     I/O     NAT
    1     I/C     BR     C     DIF
    2     C     DIT     I/C     BR
    3     I/C     NAT     C     DIT
在表2中,“OFDM码元”指的是与FFT计算的长度相对应的数据。例如,在256-点FFT计算中,一个OFDM码元指的是256个数据位。在表2中,“C”指的是FFT计算,并且“I/O”指的是进行输入/输出。而且,“NAT”指的是通过按地址0,1,2,3,...,N-1的正序进行存储器寻址,进行输入/输出,并且“BR”指的是通过位反向寻址进行存储器输入/输出。另外,在表2的第0个OFDM码元中,存储器#1通过DIF进行计算,而存储器#2通过进行NAT,即,正序的存储器寻址进行输入/输出。接着,在第1个OFDM码元中,存储器#1通过BR,即,位反向寻址进行输入/输出,而存储器#2通过DIF进行计算。在第2个OFDM码元中,存储器#1通过DIT进行计算,而存储器#2通过BR,即,位反向寻址进行输入/输出。接着,在第3个OFDM码元中,存储器#1通过NAT,即,正序的存储器寻址进行输入/输出,而存储器#2通过DIT进行计算。从接着的第4个OFDM码元开始,重复对第0到第3个OFDM码元的一系列计算。为了利用两个存储器进行连续处理,在一个存储器进行计算的同时,另一个必须能够同时进行有序的输入和输出。在这种结构中,只利用两个存储器就可以进行连续处理,从而两个存储器交替进行输入/输出和FFT计算。
虽然Alcatel公司引入的传统结构通过利用三个存储器实现了连续处理,但上述传统连续处理结构通过只利用两个存储器,可以使存储器复杂度降到最低。
但是,上述传统连续处理结构只是为使用基数-2算法的情况设计的。不利的是,由于连续处理结构只进行基数-2计算,它需要许多计算周期和高工作频率。
发明内容
因此,本发明的一个目的是提供一种能够使其尺寸最小和通过提供高速计算满足高性能要求的FFT处理器和复杂度最小的电路。
本发明的另一个目的是提供一种在提供基数-2算法和基数-4算法的混合基数算法的同时,能够降低其尺寸和复杂度的FFT处理器。
本发明的又一个目的是提供一种在提供基数-2算法和基数-4算法的混合基数算法的同时,能够进行快速处理的FFT处理器。
本发明的再一个目的是提供一种在提供基数-2算法和基数-4算法的混合基数算法的同时,能够进行连续处理的FFT处理器。
为了实现上面和其它目的,本发明提供了利用混合基数快速付里叶变换(FFT)的调制设备,它包括输入/输出接口,用于从用于输入/输出和FFT计算的存储器当中选择用于输入/输出的存储器,选择所选存储器的4个存储体之一,并且对所选存储体进行输入和输出;两个N-字存储器,每一个都含有用于针对输入/输出接口的输入/输出和FFT计算的4个存储体;第一数据交换器,用于从用于针对输入/输出接口的输入/输出和FFT计算的存储器当中选择用于FFT计算的存储器,并且将指定给每个蝶式输入/输出的存储体与用于原地计算的蝶式计算电路的4个输入端相连接;蝶式器,用于利用一个电路,根据第一数据交换器提供的输出,进行基数-4蝶化(butterfly)和基数-2蝶化,并形成对称反向输出;第二数据交换器,用于从用于针对输入/输出接口的输入/输出和FFT计算的存储器当中选择用于FFT计算的存储器,并且将指定给每个蝶式输入/输出的存储体与用于原地计算的蝶式计算电路的4个输出端相连接;以及地址发生器,用于生成在多存储体存储器结构中进行原地计算的存储体索引和地址。
另外,本发明提供了另一种利用混合基数快速付里叶变换(FFT)的调制设备,它包括每一个都含有4个存储体的两个存储器,用于写入输入码元或FFT计算码元;蝶式器,用于按照从存储器输出的码元的个数,以基数-2模式或基数-4模式进行蝶式计算,并且对称反向地输出计算值;第一数据交换器,用于从存储器之一的每个存储体中读取一个码元,并且将读取的码元输出到蝶式器;第二数据交换器,用于匹配从蝶式器输出的计算码元,以便将码元写入与从第一数据交换器中读取码元的地址相同的地址中;以及地址发生器,用于控制第二数据交换器的输出,以便当在计算之后,通过第二数据交换器输出从第一数据交换器中读取的码元时,使从第一数据交换器中读取码元的存储体和地址与第二数据交换器的输出存储体和输出地址。
附图说明
通过结合附图,进行如下详细描述,本发明的上面和其它目的、特征和优点将更加清楚,在附图中:
图1是例示没有使用多存储体结构的传统混合基数FFT处理器的结构的方块图;
图2是例示没有使用原地算法的传统混合基数FFT处理器的结构的方块图;
图3是例示用于传统多存储体存储器的基数-4原地算法的图形;
图4是例示按照本发明实施例的具有连续处理结构的基于原地算法混合基数FFT处理器的结构的方块图;
图5是例示按照本发明实施例的32-点混合基数FFT处理器的计算的信号流图;
图6A是例示用在图4的FFT处理器中的基数-4/基数-2蝶式电路的方块图;
图6B是例示图6A的基数-2蝶式器的等效蝶式器对的图形;
图7是例示对于只有基数-4算法用在图4中的情况,实现连续处理的FFT计算的图形;
图8A是例示对于只有基数-4算法用于4n-点FFT计算的情况,数字反向输出序列的图形;
图8B是例示对于混合基数算法与基数-2算法一起用于2n-点FFT计算(其中,n=3,5,7,9,...)的情况,不对称反向输出序列的图形;
图9是例示示出32-点混合基数FFT计算的图5的列#4的不对称反向输出序列的图形;
图10是例示示出32-点混合基数FFT计算的图5的列#3的对称反向输出序列的图形;
图11是例示用于2n-点FFT计算(其中,n=3,5,7,9,...)的混合基数算法的对称反向输出序列的图形;
图12是例示生成图5的列#3的对称反向输出序列的数据交换器的图形;
图13是例示图5的32-点混合基数FFT计算的存储体索引生成方法的图形;和
图14是例示2n-点FFT计算(其中,n=3,5,7,9,...)的混合基数存储体索引生成方法的图形。
具体实施方式
现在参照附图描述本发明的几个优选实施例。在如下的描述中,为了简洁起见,省略包含在本文中的那些众所周知功能和配置的详细描述。
图4是例示与按照本发明实施例的混合基数结构一起,通过应用原地算法和同时进行输入和输出,利用2N-字存储器进行连续处理的FFT处理器。
参照图4,为了对输入数据进行FFT计算,输入/输出接口101选择存储器102和103之一,选择所选存储器的4个存储体之一,并且将输入数据写入所选存储体中。当对输入数据的FFT计算完成时,输入/输出接口101选择写入FFT计算数据的存储器,选择所选存储器的4个存储体之一,并且从所选存储体中读取数据。每一个都含有4个存储体的两个N-字存储器102和103写入从输入/输出接口101接收的数据,将写入的数据提供给第一数据交换器104,供FFT计算用,并且写入从第二数据交换器106接收的数据。将来自存储器102和103的FFT计算数据提供给输入/输出接口101。第一数据交换器104按照从地址发生器107输出的地址值交换读取的数据,并且将其输出提供给基数-4/2蝶式器105。基数-4/2蝶式器105按照从第一数据交换器104接收的数据,在基数-4模式或基数-2模式下工作。基数-4/2蝶式器105由一个电路组成,并且含有对称反向输出端。将基数-4/2蝶式器105计算的数据提供给第二数据交换器106。第二数据交换器106选择要将从数-4/2蝶式器105输出的值写入其中的存储器和存储器的存储体,并且将输出值写入所选存储器的存储体中。地址发生器107生成在多存储体存储器结构中,按照本发明进行原地计算的存储体索引和地址。
具有图4所示的结构的FFT处理器具有如图5所示的信号流图。图5例示了32-点混合基数FFT计算的例子,其中,级#1和级#2经受基数-4计算,并且末级#3经受基数-2计算。正如结合图4所述的那样,在本发明提出的结构中,2个存储器各自被划分成4个存储体,这样,可以同时访问4个数据码元。因此,利用2个数据码元的基数-2蝶式器可以同时进行2个蝶式计算。另外,在级#3中,显示在用细实线画出的方框中的2个基数-2蝶式器代表可以同时进行蝶式计算的蝶式器对,从而有助于计算周期的减少。
在FFT处理器中,基数-2蝶式结构不是利用分立蝶式器实现的,而是将数据开关电路加入基数-4蝶式器中实现的。这种情况例示在图6A中。在图6A中,通过多路复用器选择信号‘Radix-2’实现一个基数-4蝶式器和两个基数-2蝶式器。参照图6A,将输入数据码元x(0)和x(2)供应给构成一个基数-2蝶式器的加法器,并且将输入数据码元x(1)和x(3)供应给构成另一个基数-2蝶式器的加法器。构成基数-2蝶式器的加法器每一个都将它们的输出分支(或划分)成两个输出,并且将一个输出提供给每个多路复用器的输入端。将另一个分支输出加入来自构成基数-2蝶式器的其它加法器的输出中或从来自构成基数-2蝶式器的其它加法器的输出中减去另一个分支输出,并且将结果提供给多路复用器的另一个输入端。此后,如图所示,按原样输出每个多路复用器的输出,或通过其它多路复用器再次分支或选择它。按照本发明将这样的输出值映射到原地地址。下面将更详细地对此加以描述。图6A的等效电路图例示在图6B中。图6B例示了与与基数-4蝶式电路一起实现的基数-2蝶式器等效的基数-2蝶式器对。
现在对按照本发明在存储器结构中进行连续处理的结构加以描述。正如上面在现有技术的描述中所述的那样,R.Radhouane提出的连续处理结构是用于基数-2算法的结构。但是,本发明提出的结构是用于与基数-4算法混合的混合基数算法的结构。另外,传统结构交替地进行FFT计算和DIT计算。但是,本发明提出的结构只进行DIF计算和通过简单控制存储器寻址进行连续处理。
为了进行如本发明所提出那样的连续处理,必须将要重新解码的码元写入要解码的码元的位置中。通过读取要解码的码元和将要重新解码的码元写入读取位置中的操作,同时进行读取和写入操作。为了满足基数-4蝶式器,4-存储体存储器的每个存储体必须只生成一个输出。当通过每个级的计算完成时,必须将码元写入读取位置中。因此,务必以这种方式生成地址。只有当使用基数-4算法时,上面的方法才可以简单实现。因此,图7例示了只使用基数-4算法的16-点FFT的例子。
在图7中,列#1和列#2代表写入数据码元的存储器存储体和地址,和列#3代表数字反向输出序列。在图7中,将首先从外部接收的输入数据码元写入列#2的存储体和地址中。输入数据码元在第1级中经受4次蝶式计算,和在第2级中经受4次蝶式计算。也就是说,在图7中,(1)到(4)代表在第1级中进行4次蝶式计算,和(5)到(8)代表在第2级中进行4次蝶式计算。应该注意到,在每一级的每次蝶式计算中,从构成一个存储器的4个存储体的每一个中读取一个数据码元。在第1次蝶式计算中,读取存储体#0的地址0中的数据、存储体#1的地址1中的数据、存储体#2的地址2中的数据和存储体#3的地址3中的数据。因此,从每个存储体中读取一个数据码元。如果以这种方式完成了4次蝶式计算。在第2级中再次进行4次蝶式计算。以这种方式计算的输出具有如图7的列#3中所示的输出序列。
当以上面的方式进行FFT计算时,以列#3的数字反向序列形成输出,并且,对于存储器写入位置,由于进行的是原地计算,保持了列#2的存储体和地址。通过数字反向寻址按顺序输出计算结果,同时,当按顺序接收下一个数据码元时,将新输入数据码元写入列#1的存储体和地址中。由于列#3的第0输出被写入列#2中存储体#0的地址0中,将用于下一次FFT计算的新数据的第0码元写入进行第0输出的存储体和地址中。接着,将列#3的第1输出写入列#2中存储体#1的地址1中,并将新数据的第1码元写入进行第1输出的位置中。将第2输出写入列#2中存储体#2的地址2中,并将新数据的第2码元写入进行第2输出的位置中。当以这种方式写入新输入时,形成列#1的存储体和地址。在对此进行FFT计算之后,如果按顺序输出FFT计算结果和按顺序写入输入,那么,通过列#2的存储体和地址的指定得到恢复。因此,列#1的存储体和地址指定和列#2的存储体和地址指定接替进行下去。
如果像上述那样可以按顺序同时进行输入和输出,那么,只利用两个存储器就可以进行连续处理,从而在一个存储器进行计算的同时,另一个存储器进行输入和输出。此刻,必须以两倍于输入/输出工作频率的工作频率进行FFT计算。这是因为,从表1可以看出,FFT计算时钟周期大于FFT点数。也就是说,对于基数-4算法,计算时钟周期从1024-点FFT开始变得更长了,和对于基数-4/基数-2算法的混合基数算法,计算时钟周期从512-点FFT开始变得更长了。
混合基数算法需要分开管理连续处理的顺序输入/输出。在32-点混合基数算法中,像图5的列#4中所示那样提供输出。与图7中的列#3中基数-4算法的反向序列不同,这具有不对称反向形式。首先,针对只使用基数-4算法的情况,对数字反向序列加以描述。基数-4算法的2n-点FFT的数字反向序列例示在图8A中。由于需要n个位来计数2n个数据码元,使用n-位计数器。在图8A中,在第(n-1,n-2)位对,第(n-3,n-4)位对,...,第(3,2)位对,和第(1,0)位对每一个都是一个数字的假设下,进行反向排序。这里,以这种方式进行的反向排序被称为“数字反向”。从图8A中可以了解到,以数字的中心为基准对称地进行反向排序。
图8B例示了2n-点FFT的混合基数算法的反向序列。由于混合基数算法具有与诸如23,25,27和29之类2的奇数次幂的数字一样多的点数,并输出计数位是诸如3,5,7和9之类的奇数,混合基数算法不能像基数-4算法那样,只利用2-位数字进行反向排序。必须分开地使最低有效位反向,由于这个原因,提供了不对称反向形式。作为图8B的例子,与32(=25)-点FFT相对应的图5的列#4具有如图9所示的不对称反向形式。当提供不对称反向输出时,不能像由基数-4算法组成的图7的结构那样,形成列#1和列#2的存储体和地址重复的结构。即使在混合基数算法中,为了像只利用基数-4算法的图7的结构那样,为连续处理提供重复列#1和列#2的结构,输出必须具有对称反向形式。为此,在混合基数算法中,进行数据交换,以便将如图5的列#4所示的不对称输出序列转换成如列#3所示的对称输出序列,结果,在图5的列#3中示出了32(=25)-点对称反向输出序列,和可以像图0所示那样生成它。现在描述一般化2n-点混合基数FFT,输出的对称反向序列例示在图11中。这里,高两位(n-1,n-2)和低两位(1,0)经受数字反向(reverse),并且中间位(n-3,n-4,...,3,2)经受位反向。总之,通过数据交换过程将图8B的原不对称反向形式转换成图11的对称反向形式。
图12例示了实现如图10所示的32-点对称反向序列和图5的列#3的数据交换过程。图12对应于图5中用粗实线画出的方框中的8-点DFT部分。如图12所示,在级#2中,交换基数-4蝶式器的2个第2输出g′2(n)和2个第3输出g′3(n)的写入位置,并且,在级#3中,交换基数-2蝶式器对的输出X′2(n)和X′3(n)的写入位置。当以这种方式形成时,如图12的列#1所示,提供对称反向序列。在图12中,列#2示出了对于不交换写入位置的情况的不对称反向序列。这样的数据交换可以通过控制图6A的蝶式电路中的‘Exchange’信号来完成。在所有2n-点FFT(其中,n=1,3,5,7,9,...)中,以及在作为例子给出的32-点FFT中,通过在除了第1级之外的其它级中交换基数-4蝶式器的第2和第3输出写入位置,并且在末级中交换两个基数-2蝶式器的第2和第3输出写入位置,可以形成对称反向输出。
最后,对在混合基数算法中生成存储体索引的方法加以描述。按照本发明的存储体索引生成方法生成如图5的列#1和列#2所示的存储体索引。如果FFT长度是2n,利用n-位计数器生成存储体索引和每个存储体的地址。在现有技术部分中所述的基数-4算法存在22、24、26或28个点。因此,可以通过对2-位数字进行模-4相加生成存储体索引i。但是,混合基数算法存在23、25、27或29个点,这样,输入计数位的个数变成诸如3、5、7和9之类的奇数。因此,不可以简单地通过对2-位数字进行模-4相加生成存储体索引i。在本发明的混合基数算法中,当输入计数位的数字是奇数时,通过如下过程进行生成存储体索引的方法。首先,交换两个最高有效位的位置。其次,从低位开始将位置交换计数值划分成2-位数字,和划分的2个位进行模-4相加。然后,保留一个最高有效位,并让通过对其余最高有效位进行模-4相加计算的值再次经受模-4计算。
图13例示了形成32(=25)-点FFT的2-位数字和1个位方法。如果以上述方式交换和计算输入计数位的位置,当进行模-4计算时,最后剩下的一个位对应于输入数据计数位当中的第3位,而从低位开始通过2-位数字经受模-2相加计算的位的匹配对应于(4,2)和(1,0)。当这样生成存储体索引时,在FFT计算期间可以从其它存储器中读取数据,并且,当在图5中作出从列#2到列#1的改变时,可以保持存储体索引序列不变。
图14例示了通过推广用于32-点混合基数FFT的存储体索引生成方法获得的生成用于2n-点混合基数FFT的存储体索引的方法。在图14中,输入数据计数位当中一个单独位的位置是第(n-2)位,在对2-位数字进行模-4相加的过程中包括单独位。
如上所述,本发明可以利用基于基数-4算法的混合基数算法进行高速计算。另外,本发明通过将原地计算应用于混合基数算法,和利用每一个包括4个存储体的2个N-字存储器,通过同时输入和输出进行连续处理,使存储器占据的空间达到最小。
下表3所示的是建议FFT处理器的计算周期和传统FFT处理器的计算周期之间的比较。从表3中可以了解到,与利用基数-2算法的传统存储器结构相比,建议存储器结构使其计算周期缩短到1/4。
                              表3
另外,当将本发明与不利用多存储体结构的传统基于基数-4算法混合基数FFT处理器相比时,传统FFT处理器消耗大约是建议FFT处理器4倍长的计算周期。不采用原地算法和同时输入/输出结构的传统混合基数FFT处理器需要每一个由4个存储体组成的4个N-字存储器,具有相当于需要2个N-字存储器的建议FFT处理器的存储器尺寸2倍的存储器尺寸。因此,本发明满足了高速计算要求和低硬件复杂度要求,因此,可以简单应用于OFDM或DMT系统。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。

Claims (11)

1.一种利用混合基数快速付里叶变换(FFT)的调制设备,包括:
输入/输出接口,用于从用于输入/输出和FFT计算的存储器当中选择用于输入/输出的存储器,选择所选存储器的4个存储体之一,并且对所选存储体进行输入和输出;
两个N-字存储器,每一个都含有用于针对输入/输出接口的输入/输出和FFT计算的4个存储体;
第一数据交换器,用于从用于针对输入/输出接口的输入/输出和FFT计算的存储器当中选择用于FFT计算的存储器,并且将指定给每个蝶式输入/输出的存储体与用于原地计算的蝶式计算电路的4个输入端相连接;
蝶式器,用于利用一个电路,根据第一数据交换器提供的输出,进行基数-4蝶化和基数-2蝶化,并且形成对称反向输出;
第二数据交换器,用于从用于针对输入/输出接口的输入/输出和FFT计算的存储器当中选择用于FFT计算的存储器,并将指定给每个蝶式输入/输出的存储体与用于原地计算的蝶式计算电路的4个输出端相连接;和
地址发生器,用于生成在多存储体存储器结构中进行原地计算的存储体索引和地址。
2.根据权利要求1所述的调制设备,其中,蝶式器是能够通过交换基数-4蝶式器和两个基数-2蝶式器的输出形成对称反向输出,同时进行顺序输入和输出的基数-4/2蝶式计算电路,从而能够利用每一个包括4个存储体的两个N-字存储器进行连续处理。
3.根据权利要求1所述的调制设备,其中,通过修改基于基数-4算法多存储体存储器结构的原地算法确定原地算法。
4.根据权利要求1所述的调制设备,其中,原地算法在生成存储体索引的过程中的2n-点计算期间,在模-2相加中单独包括第(n-2)位。
5.一种利用混合基数快速付里叶变换(FFT)的调制设备,包括:
每一个都含有4个存储体的两个存储器,用于写入输入码元或FFT计算码元;
蝶式器,用于按照从存储器输出的码元的个数,以基数-2模式或基数-4模式进行蝶式计算,并对称反向地输出计算值;
第一数据交换器,用于从存储器之一的每个存储体中读取一个码元,并将读取的码元输出到蝶式器;
第二数据交换器,用于匹配从蝶式器输出的计算码元,以便将码元写入与从第一数据交换器中读取码元的地址相同的地址中;和
地址发生器,用于控制第二数据交换器的输出,以便当在计算之后,通过第二数据交换器输出从第一数据交换器中读取的码元时,使从第一数据交换器中读取码元的存储体和地址与第二数据交换器的输出存储体和输出地址相同。
6.根据权利要求5所述的调制设备,进一步包括在输入/输出数据和两个存储器之间进行交接的输入/输出接口。
7.根据权利要求5所述的调制设备,其中,蝶式器具有基数-4蝶式结构和被设计成当需要基数-2计算时,通过包括在蝶式器中的多路复用器进行两次基数-2计算。
8.根据权利要求5所述的调制设备,其中,对于蝶式器的对称反向,按两个位将通过经过蝶式计算的码元的总数确定的二进制输出计数值转换成地址。
9.根据权利要求8所述的调制设备,其中,当二进制输出计数值的数字是奇数时,通过以数字的中心位为基准进行对称转换确定地址。
10.根据权利要求5所述的调制设备,其中,地址发生器利用通过对与计算的码元相对应的二进制输出计数值进行模-4计算确定的值来确定存储体。
11.根据权利要求10所述的调制设备,其中,当二进制输出计数值的数字是奇数时,地址发生器通过交换两个最高有效位的位置,通过低两个位进行模-4计算,然后对位置交换最高有效位进行模-4计算来确定存储体。
CNB038150123A 2002-06-27 2003-06-27 利用混合基数快速付里叶变换的调制设备 Expired - Lifetime CN100563226C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020020036216 2002-06-27
KR20020036216 2002-06-27
KR1020030042357 2003-06-27
KR1020030042357A KR100557160B1 (ko) 2002-06-27 2003-06-27 고속 퓨리에 변환을 이용한 혼합-기수 방식의 변조 장치

Publications (2)

Publication Number Publication Date
CN1663208A true CN1663208A (zh) 2005-08-31
CN100563226C CN100563226C (zh) 2009-11-25

Family

ID=29782082

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038150123A Expired - Lifetime CN100563226C (zh) 2002-06-27 2003-06-27 利用混合基数快速付里叶变换的调制设备

Country Status (6)

Country Link
US (1) US7164723B2 (zh)
EP (1) EP1516467B1 (zh)
JP (1) JP4022546B2 (zh)
CN (1) CN100563226C (zh)
AU (1) AU2003243046A1 (zh)
WO (1) WO2004004265A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004720A (zh) * 2010-11-09 2011-04-06 无锡中星微电子有限公司 可变长快速傅立叶变换电路及实现方法
CN102298570A (zh) * 2011-09-13 2011-12-28 浙江大学 一种点数可变的混合基 fft/ifft实现装置及其方法
CN101454772B (zh) * 2006-04-28 2015-11-25 高通股份有限公司 多端口混合基fft
WO2018027706A1 (zh) * 2016-08-10 2018-02-15 深圳市汇顶科技股份有限公司 Fft处理器及运算方法
CN110941792A (zh) * 2018-09-24 2020-03-31 半导体元件工业有限责任公司 用于执行就地快速傅里叶变换的信号处理器、系统和方法

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047268B2 (en) * 2002-03-15 2006-05-16 Texas Instruments Incorporated Address generators for mapping arrays in bit reversed order
EP1426872A3 (en) * 2002-12-03 2006-02-22 STMicroelectronics Ltd. Linear scalable FFT/IFFT computation in a multi-processor system
EP1447752A3 (en) * 2003-02-17 2006-02-22 STMicroelectronics Pvt. Ltd Method and system for multi-processor FFT/IFFT with minimum inter-processor data communication
US7543010B2 (en) * 2003-11-03 2009-06-02 Board Of Regents, The University Of Texas System Modular pipeline fast Fourier transform
KR100518797B1 (ko) * 2004-01-07 2005-10-05 삼성전자주식회사 처리속도가 향상된 고속 퓨리에 변환 장치 및 그의 처리방법
US20050198092A1 (en) * 2004-03-02 2005-09-08 Jia-Pei Shen Fast fourier transform circuit having partitioned memory for minimal latency during in-place computation
US7437396B2 (en) * 2004-03-31 2008-10-14 Intel Corporation Apparatus and method for generating transforms
US7835454B2 (en) * 2004-04-30 2010-11-16 Analog Devices, B.V. Multicarrier modulation systems
US7577698B2 (en) * 2004-12-28 2009-08-18 Industrial Technology Research Institute Fast fourier transform processor
KR100618889B1 (ko) * 2005-02-12 2006-09-01 삼성전자주식회사 메모리 사이즈를 감소시킬 수 있는 고속 푸리에 변환 프로세서
US8229014B2 (en) 2005-03-11 2012-07-24 Qualcomm Incorporated Fast fourier transform processing in an OFDM system
US8266196B2 (en) 2005-03-11 2012-09-11 Qualcomm Incorporated Fast Fourier transform twiddle multiplication
US7664187B2 (en) * 2005-04-25 2010-02-16 Sirf Technology, Inc. Memory reduction in digital broadcast receivers
TWI298448B (en) * 2005-05-05 2008-07-01 Ind Tech Res Inst Memory-based fast fourier transformer (fft)
US20060282764A1 (en) * 2005-06-08 2006-12-14 National Chiao Tung University High-throughput pipelined FFT processor
JP4796339B2 (ja) 2005-06-20 2011-10-19 Okiセミコンダクタ株式会社 メモリの読み出し及び書き込み方法
DE102005045519A1 (de) * 2005-09-23 2007-03-29 Newlogic Technologies Ag Verfahren und Vorrichtung zur FFT Berechnung
US7685220B2 (en) * 2005-12-14 2010-03-23 Telefonaktiebolaget L M Ericsson (Publ) Circular fast fourier transform
TWI307227B (en) * 2006-01-09 2009-03-01 Via Tech Inc A fft processor, an implement method thereof and an ofdm processor using the same
US20070239815A1 (en) * 2006-04-04 2007-10-11 Qualcomm Incorporated Pipeline fft architecture and method
TWI329814B (en) * 2007-03-13 2010-09-01 Keystone Semiconductor Corp Discrete fourier transform apparatus utilizing cooley-tukey algorithm for n-point discrete fourier transform
US20080320069A1 (en) * 2007-06-21 2008-12-25 Yi-Sheng Lin Variable length fft apparatus and method thereof
US8275820B2 (en) * 2007-07-06 2012-09-25 Mediatek Inc. Variable length FFT system and method
US8959133B2 (en) * 2008-04-18 2015-02-17 Nxp, B.V. System and method for configurable mixed radix FFT architecture for multimode device
US8612505B1 (en) * 2008-07-14 2013-12-17 The Mathworks, Inc. Minimum resource fast fourier transform
CN101630308B (zh) * 2008-07-16 2013-04-17 财团法人交大思源基金会 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法
US8898212B2 (en) * 2008-10-24 2014-11-25 Freescale Semiconductor, Inc Methods and apparatus for reordering data
US8549059B2 (en) * 2009-01-08 2013-10-01 Texas Instruments Incorporated In-place fast fourier transform processor
JP5472123B2 (ja) * 2009-02-05 2014-04-16 日本電気株式会社 Fft演算装置と電力演算方法
CN101847986B (zh) * 2009-03-27 2012-06-06 中兴通讯股份有限公司 一种实现fft/ifft变换的电路及方法
US20120269239A1 (en) * 2011-04-20 2012-10-25 Mykhaylo Sabelkin Method and Apparatus for Data Transmission Oriented on the Object, Communication Media, Agents, and State of Communication Systems
JP5444287B2 (ja) * 2011-06-07 2014-03-19 ラピスセミコンダクタ株式会社 演算装置
US20130311753A1 (en) * 2012-05-19 2013-11-21 Venu Kandadai Method and device (universal multifunction accelerator) for accelerating computations by parallel computations of middle stratum operations
CN104462016B (zh) * 2013-09-22 2018-06-05 南京中兴软件有限责任公司 一种矢量运算核以及矢量处理器
TWI506457B (zh) * 2014-09-26 2015-11-01 Univ Nat Chiao Tung 折疊式蝶形模組、管線式快速傅利葉轉換處理器及控制方法
WO2017111881A1 (en) * 2015-12-21 2017-06-29 Intel Corporation Fast fourier transform architecture
US11170071B2 (en) * 2018-12-15 2021-11-09 Texas Instruments Incorporated FFT engine having combined bit-reversal and memory transpose operations
CN113378109B (zh) * 2021-04-22 2023-09-12 浙江大学 一种基于存内计算的混合基快速傅里叶变换计算电路

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4689762A (en) * 1984-09-10 1987-08-25 Sanders Associates, Inc. Dynamically configurable fast Fourier transform butterfly circuit
US6334219B1 (en) * 1994-09-26 2001-12-25 Adc Telecommunications Inc. Channel selection for a hybrid fiber coax network
US6167416A (en) * 1997-09-26 2000-12-26 Xilinx, Inc. System and method for RAM-partitioning to exploit parallelism of radix-2 elements in FPGAS
FR2772951B1 (fr) * 1997-12-19 2000-03-17 St Microelectronics Sa Procede de commande d'un etage radix 4 d'un dispositif electroonique de calcul d'une transformee de fourier a architecture dite "pipelinee", et dispositif correspondant
IL131350A0 (en) * 1999-08-11 2001-01-28 Israel State Data storage patterns for fast fourier transforms
US6609140B1 (en) * 1999-11-30 2003-08-19 Mercury Computer Systems, Inc. Methods and apparatus for fast fourier transforms
EP1162547A3 (en) * 2000-06-05 2003-09-03 DSP Group Ltd. In-Place Memory Management for FFT
US7088791B2 (en) * 2001-10-19 2006-08-08 Texas Instruments Incorporated Systems and methods for improving FFT signal-to-noise ratio by identifying stage without bit growth
US6999520B2 (en) * 2002-01-24 2006-02-14 Tioga Technologies Efficient FFT implementation for asymmetric digital subscriber line (ADSL)
US7003536B2 (en) * 2002-08-15 2006-02-21 Comsys Communications & Signal Processing Ltd. Reduced complexity fast hadamard transform

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101454772B (zh) * 2006-04-28 2015-11-25 高通股份有限公司 多端口混合基fft
CN102004720A (zh) * 2010-11-09 2011-04-06 无锡中星微电子有限公司 可变长快速傅立叶变换电路及实现方法
CN102004720B (zh) * 2010-11-09 2013-04-03 无锡中星微电子有限公司 可变长快速傅立叶变换电路及实现方法
CN102298570A (zh) * 2011-09-13 2011-12-28 浙江大学 一种点数可变的混合基 fft/ifft实现装置及其方法
WO2018027706A1 (zh) * 2016-08-10 2018-02-15 深圳市汇顶科技股份有限公司 Fft处理器及运算方法
CN110941792A (zh) * 2018-09-24 2020-03-31 半导体元件工业有限责任公司 用于执行就地快速傅里叶变换的信号处理器、系统和方法

Also Published As

Publication number Publication date
AU2003243046A1 (en) 2004-01-19
JP2005531252A (ja) 2005-10-13
AU2003243046A8 (en) 2004-01-19
EP1516467B1 (en) 2023-04-26
US7164723B2 (en) 2007-01-16
EP1516467A4 (en) 2014-01-15
WO2004004265A1 (en) 2004-01-08
JP4022546B2 (ja) 2007-12-19
CN100563226C (zh) 2009-11-25
EP1516467A1 (en) 2005-03-23
US20040001557A1 (en) 2004-01-01

Similar Documents

Publication Publication Date Title
CN1663208A (zh) 利用混合基数快速付里叶变换的调制设备
US6401162B1 (en) Generalized fourier transform processing system
CN1290369A (zh) 流水线式快速傅里叶变换处理器
CN101571849B (zh) 一种快速傅立叶变换处理器及其方法
CN101587469B (zh) 可变长度的快速傅立叶变换装置
CN100346336C (zh) 使用主要因素算法的最佳离散傅利叶转换方法及装置
CN1265294C (zh) 基4和混合基(4+2)fft处理器地址映射方法和系统
CN101630308A (zh) 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法
CN1139185C (zh) 有限脉冲响应滤波器及其滤波方法
EP0953175B1 (en) Method and apparatus for fft computation
EP2144172A1 (en) Computation module to compute a multi radix butterfly to be used in DTF computation
US6351758B1 (en) Bit and digit reversal methods
KR100836624B1 (ko) 가변 고속 푸리에 변환 장치 및 그 방법
JP5486226B2 (ja) ルリタニアマッピングを用いるpfaアルゴリズムに従って種々のサイズのdftを計算する装置及び方法
KR100557160B1 (ko) 고속 퓨리에 변환을 이용한 혼합-기수 방식의 변조 장치
Park et al. Design of 2K/4K/8K-point FFT processor based on CORDIC algorithm in OFDM receiver
EP2144173A1 (en) Hardware architecture to compute different sizes of DFT
CN104268124A (zh) 一种fft实现装置和方法
CN101763337A (zh) N点fft/ifft/ifft/ifft方法和装置
CN1729464A (zh) 在阵列处理器上的划分
Xia et al. A generalized conflict-free address scheme for arbitrary 2k-point memory-based FFT processors
Su et al. Reconfigurable FFT design for low power OFDM communication systems
Baek et al. A continuous flow mixed-radix FFT architecture with an in-place algorithm
Chang et al. An enhanced memory assignment scheme for memory-based FFT processor
Tsai et al. A low-complexity mixed-radix FFT rotator architecture

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
CX01 Expiry of patent term

Granted publication date: 20091125

CX01 Expiry of patent term