CN101630308A - 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法 - Google Patents

以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法 Download PDF

Info

Publication number
CN101630308A
CN101630308A CN200810131540A CN200810131540A CN101630308A CN 101630308 A CN101630308 A CN 101630308A CN 200810131540 A CN200810131540 A CN 200810131540A CN 200810131540 A CN200810131540 A CN 200810131540A CN 101630308 A CN101630308 A CN 101630308A
Authority
CN
China
Prior art keywords
fast fourier
fourier transform
data
point
conversion
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
CN200810131540A
Other languages
English (en)
Other versions
CN101630308B (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.)
Spring Foundation of NCTU
Original Assignee
Spring Foundation of NCTU
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 Spring Foundation of NCTU filed Critical Spring Foundation of NCTU
Priority to CN2008101315408A priority Critical patent/CN101630308B/zh
Priority to US12/325,516 priority patent/US8364736B2/en
Publication of CN101630308A publication Critical patent/CN101630308A/zh
Application granted granted Critical
Publication of CN101630308B publication Critical patent/CN101630308B/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

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

本发明通过分解方程式将长点数离散傅立叶转换的计算分解为数个短点数的离散傅立叶转换,并同时将其指标由单一维度映像成多维度指标向量。通过控制指标向量,把原始输入资料分散存放到数个内存里,使得在不产生内存存取冲突的情况下同时达到计算期间的资料置换与内存完整蝴蝶点数一次存取的目的。当资料置换使用在已计算完成的旧资料依序输出与新资料依序输入时,为了往后计算期间可以继续保持资料存取时没有内存冲突,对于新资料的计算采取与先前资料计算时的反序操作来达成目的。本发明并涉及一种使用此方法的以内存为基础的正/逆向快速傅立叶转换处理器。

Description

以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法
技术领域
本发明涉及一种快速傅利叶转换的计算与寻址方法以及使用此方法的以内存为基础的任意点数正/逆向快速傅立叶转换处理器设计。对于任意点数的以内存为基础的离散快速傅立叶转换处理器设计可以有效地减少处理器面积与所需的操作时脉。
背景技术
有关本发明相关的快速傅利叶转换计算与寻址方法以及使用此方法的以内存为基础的正/逆向快速傅立叶转换处理器的现有技术谨罗列并比较缺点如下:
(1)由于美国专利号4,477,878名为“Discrete Fourier transformwith non-tumbled output””不能支持多内存架构(multi-bank memorystructure),因而,对于基r(radix-r)计算时,就需要有r个时脉周期才能把资料从内存中读出或将计算完的资料写回内存中。这将导致FFT在计算过程中需要更多的时脉周期,以及为了实时应用所需的更高时脉速度。
本发明可通过支持多内存寻址,而在无内存存取冲突的情况下,将诸如基r的r笔资料在一个时脉周期内完成读或写,以解决现有技术的问题。
(2)由于美国专利号5091875名为“Fast Fourier transform(FFT)addressing apparatus and method”,美国专利公开号20060253514名为“Memory-based Fast Fourier Transform device”,以及学术论文L.G.Johnson“Conflict free memory addressing for dedicated FFT hardware,”IEEE Trans.Circuits Syst.II,Analog Digit.Signal Process.,vol.39,no.5,pp.312-316,May 1992等,均仅支持固定的基r,因此仅能适用在具有N=rn大小的的FFT中。若考虑到应用在中国数字电视的3780点FFT或者是PLC应用的3072点FFT的情况时,前述两件现有技术即无法运作。
但本发明能够支持任意基数r的混和。因此,能够在任何大小的FFT应用中使用。
(3)美国专利号7062523名为“Method for efficiently computing afast Fourier transform”仅支持固定的基r,因此不能支持中国DTV或是PLC之类的应用。除此之外,其也不能支持多内存架构(multi-bankmemory structure),其在基r(radix-r)运算时,需要r个时脉周期自内存存取资料。因此将比使用多内存架构的处理器需要更高的时脉来完成FFT的计算。
本发明除了支持任意大小的FFT应用的可变基数外,尚支持多内存架构,在不产生内存存取冲突的情况下减低所需时脉。
(4)美国专利号7,164,723名为“Modulation apparatus usingmixed-radix fast Fourier transform”,以及论文B.G.Jo,and M.H.Sunwoo,“New continuous-flow mixed-radix(CFMR)FFT processor usingnovel in-place strategy,”IEEE Trans.Circuits Syst.I,Reg.Papers,vol.52,no.5,pp.911-919,May 2005仅适用于基2/4混和的算法(algorithm),故仅能工作在N=2n大小上的FFT,无法应用于例如N=3780的中国DTV的其它大小的FFT应用。
本发明因为可支持任何混合的基数,所以可以满足上述需求。除此之外,对于诸如N=8192的更长点数的处理器设计,本发明可以让处理器设计更加有弹性,因本发明可支持大于基4的算法。
(5)美国专利公开号20080025199名称为“Method and device forhigh throughput n-point forward and inverse fast Fourier transform”提出3780的可能分解(candidate decomposition),例如,3780=3×3×3×2×2×5×7。其以MDC架构实行每个小点数的FFT模块来减少后续会提到的一些中国专利中的较大内部缓存器。然而,由于此方法需要对每个模块在一个时脉周期中完成运算,因此会需要大量硬件。此外,在实际的系统应用上是需要依序输出资料的,但是此专利输出资料却不是依序输出的,因此尚有部分问题未解决。
(6)中国专利号01140060.9名称为“3780点离散傅里叶变换处理器系统及其结构”、中国专利号03107204.6名称为“具有3780点IDFT/DFT处理器的多载波系统及其方法”、中国专利公开号200410090873.2名称为“采用升采样处理方法实现3780点离散傅立叶变换”、中国专利公开号200610104144.7名称为“3780点离散傅立叶变换处理器”以及中国专利公开号200710044716.1名称为“流水线结构的3780点快速傅里叶变换处理器”等上述专利可执行3780点的具有类似管线(pipelined)架构的FFT处理器,其所提出的架构内部需要大量的缓存器或内存来重新排列资料。此外,对于实际系统应用之需求而言,依序输入输出资料以及支持连续资料流都是必须的,为了达成这些,中国专利号01140060.9名称为“3780点离散傅里叶变换处理器系统及其结构”以及中国专利号03107204.6名称为“具有3780点IDFT/DFT处理器的多载波系统及其方法”就至少需要3N字符的内存空间;中国专利公开号200410090873.2,名称为“采用升采样处理方法实现3780点离散傅立叶变换”、中国专利公开号200710044716.1,名称为“流水线结构的3780点快速傅里叶变换处理器”就至少需要5N字符的内存空间;中国专利公开号200610104144.7名称为“3780点离散傅立叶变换处理器”就至少需要6N字符的内存空间。
相较前述,本发明仅仅需要2N字符的内存空间就可以做到了。并且,请注意到在中国专利号01140060.9、中国专利号03107204.6以及中国专利公开号200710044716.1的输出资料并不是有序的,因此他们需要至少一个N字符的内存空间与额外的控制逻辑来重新排序输出数据以便依序输出。
(7)在论文Z.-X.Yang,Y.-P.Hu,C.-Y.Pan,and L.Yang,“Designof a 3780-point IFFT processor for TDS-OFDM”,IEEE Trans.Broadcast.,vol.48,no.1,pp.57-61,Mar.2002所提出的3780点FFT处理器的输出资料并非依序排列,为了能够依序排列,其需要一个缓冲器去重新排列输出资料,因此其至少需要3N字符的内存空间,才能在能处理连续资料流的前提下达成此需求,但本发明已如上述仅需2N字符空间的内存。
发明内容
有鉴于上述现有技术的缺陷,本发明的目的在于克服现有技术的不足与缺陷,提出一种快速傅利叶转换的计算与寻址方法以及使用此方法的以内存为基础的任意点数正/逆向快速傅立叶转换处理器设计,对于任意点数的以内存为基础的离散快速傅立叶转换处理器设计可以有效地减少处理器面积与所需的操作时脉。
为达上述目的,本发明提供一种任意点数快速傅利叶转换的计算与寻址方法,其包含下列步骤:
(1)将长点数离散傅立叶转换的计算分解为数个短点数的离散傅立叶转换,并同时将其指标由单一维度映像成多维度指标向量;
(2)通过控制这些多维度指标向量,把原始输入资料分散存放到数个内存里,使得在不产生内存存取冲突的情况下同时达到计算期间的资料置换与内存完整蝴蝶点数一次存取的目的;
(3)当资料置换使用在已计算完成的旧资料依序输出与新资料依序输入时,为了往后计算期间可以继续保持资料存取时没有内存冲突,对于新资料的计算采取与先前资料计算时的反序操作来达成目的;依此方法,对于设计任意点数的以内存为基础的快速傅立叶转换处理器,可以减少处理器面积与所需的操作时脉。
为达上述目的,本发明还提供一种以内存为基础的正/逆向快速傅立叶转换处理器,其包含:一用以存放资料的主要内存、一进行分解后短点数快速傅立叶转换的处理元件以及一控制单元,其中该控制单元具有控制以下项目的功能:(1)输入输出资料与蝴蝶运算用的内存,(2)分解后的短点数快速傅立叶转换的计算顺序,及(3)以资料置换方式进行资料存取所需的内存寻址。料置换用以执行上述的方法。
附图说明
图1为本发明快速傅立叶转换处理器设计方块图;
图2为本发明指标向量产生器硬件实施图。
具体实施方式
为了达成上述的发明目的,现将本发明的一具体实施例说明如下:
离散傅立叶转换的定义为 X ( k ) = Σ n = 0 N - 1 x ( n ) W N nk 。将长点数离散傅立叶转换分解为数个短点数离散傅立叶转换的方法已在论文“IEEETRANSACTIONS ON ACOUSTICS,SPEECH,AND SIGNALPROCESSING,VOL.ASSP-25,NO.3,JUNE 1977”名称“IndexMappings for Multidimensional Formulation of the DFT and Convolution”中提出。本发明在此以点数长度N=N1N2的分解方程式(1)加以说明:
n = N 2 n 1 + A 2 n 2 mod N n 1 , k 1 = 0,1 , . . . , N 1 - 1 k = B 1 k 1 + N 1 k 2 mod N n 2 , k 2 = 0,1 , . . . , N 2 - 1 - - - ( 1 )
方程式(1)将指标n与k映像为指标向量(n1,n2)与(k1,k2),使其由单一维度[0,N-1]映像成二维度[0,N1-1]×[0,N2-1]。其中系数A2与B1的选择取决于N1与N2间的关系。于本发明提出的方法中,方程式(1)系数选用规则如下:
情况一:若N1与N2互质,则选用符合下列条件的A2及B1为系数
A2=p1N1并且A2=q1N2+1
B1=p2N2并且B1=q2N1+1
在此,p1、q1、p2及q2皆为正整数。因此,离散傅立叶转换的定义可写成以下的方程式(2):
X ( k 1 , k 2 ) = Σ n 2 Σ n 1 x ( n 1 , n 2 ) W N 1 n 1 k 1 W N 2 n 2 k 2
= Σ n 2 { Σ n 1 x ( n 1 , n 2 ) W N 1 n 1 k 1 } W N 2 n 2 k 2 - - - ( 2 )
= Σ n 2 y ( k 1 , n 2 ) W N 2 n 2 k 2
情况二:若N1与N2非为互质,则选用A2=B1=1。因此,离散傅立叶转换的定义可写成以下的方程式(3):
X ( k 1 , k 2 ) = Σ n 2 Σ n 1 x ( n 1 , n 2 ) W N 1 n 1 k 1 W N 2 n 2 k 2 W N n 2 k 1
= Σ n 2 { W N n 2 k 1 Σ n 1 x ( n 1 , n 2 ) W N 1 n 1 k 1 } W N 2 n 2 k 2 - - - ( 3 )
= Σ n 2 W N n 2 k 1 y ( k 1 , n 2 ) W N 2 n 2 k 2
可由方程式(2)及(3)得知,一长点数(N点)快速傅立叶转换可分别在第一及第二阶段中以二较短点数(N1点及N2点)快速傅立叶转换加以计算。就定值n2而言,第一阶段N1点快速傅立叶转换的原始输入资料为x(n1,n2),n1=0,1,...,N1-1。对应此n2的第一阶段输出资料为y(k1,n2),k1=0,1,...,N1-1。就定值k1而言,第二阶段N2点快速傅立叶转换的原始输入资料为y(k1,n2),n2=0,1,...,N2-1。对应此k1的第二阶段输出资料则为X(k1,k2),k2=0,1,...,N2-1。方程式(2)与(3)的差异在于若N1与N2非为互质,则第一与第二阶段间存在有如方程式(3)所示的旋转因子
Figure S2008101315408D00067
注:就情况一而言,其系数选取亦可如情况二,且本发明的后续流程相同。
现于第一阶段计算N1点离散傅立叶转换并于第二阶段计算N2点离散傅立叶转换,以求取第一个离散傅立叶转换符元。先将原始输入资料分散存放到数个记忆库(memory bank)中。假定N2≥N1且记忆库的数量为N2,则可通过方程式(4)将该原始输入资料分散存放至N2个记忆库中以避免内存冲突。
bank=n1+n2 mod N2    (4)
避免内存冲突的关键在于通过方程式(1)及(4)将资料分散存放于记忆库。一旦选定记忆库,便需将资料寻址。同一记忆库中的任两笔资料应映像至0到N1-1范围内的不同地址。为求简单,在此选用以下的方程式(5)执行资料寻址。
address=n1           (5)
完成第一个离散傅立叶转换符元的计算后,应将资料依序输出。输出指标由方程式(1)映像而得。在将计算完成的第一个离散傅立叶转换符元资料依序输出的同时,亦以资料置换的方式依序输入第二个离散傅立叶转换符元的输入资料。亦即,新的原始输入资料x(i)应置于输出数据X(i)的位置。计算第二个离散傅立叶转换符元的顺序与计算第一个离散傅立叶转换符元时相反。即于第一阶段计算N2点离散傅立叶转换,再于第二阶段计算N1点离散傅立叶转换,以求取第二个离散傅立叶转换符元。完成第二个离散傅立叶转换符元的计算后,同样以资料置换方式依序输出计算完成的旧资料并依序输入新资料。第三个离散傅立叶转换符元复依第一个离散傅立叶转换符元的方式计算。
以下将以中国数字电视所需的3780点快速傅立叶转换为例详加说明。以下所述的分解顺序仅为可行方式的一例。
由于3780=4×3×3×3×5×7,可分别进行3点、4点、5点与7点的快速傅立叶转换计算。在此,资料分散存放于7个记忆库。
先依分解顺序4、3、3、3、5及7执行计算。第一阶段(4点快速傅立叶转换)采用分解方程式(6)进行计算。
n = 945 n 1 + 2836 n ~ 2 mod 3780 n 1 , k 1 = 0,1,2,3 k = 945 k 1 + 4 k ~ 2 mod 3780 n ~ 2 , k ~ 2 = 0 , . . . , 944 - - - ( 6 )
上述方程式将指标n映像为向量(n1,n2),即由[0,3779]至[0,3]×[0,944],如表一所示。
表一
第一阶段的指标映像
Figure S2008101315408D00082
表一中每一列的资料为每个4点快速傅立叶转换的原始输入资料。输入顺序取决于指标n1。例如, n ~ 2 = 1 列中,输入顺序为(n1,n2)=(0,1),(1,1),(2,1)以及(3,1),其分别对应的资料为x[2836]、x[1]、x[946]与x[1891],如表一所示。
由于每个4点快速傅立叶转换的原始输入资料皆具有相同的指标n2,故可通过方程式(7)将资料分散存入不同记忆库来避免第一阶段的内存冲突。
bank=n1+x mod7    (7)
历经第一阶段后,原始资料已被分解为4个945点快速傅立叶转换的独立群组,并分别对应于k1=0,1,2及3。
同样地,亦可以945=3×3×3×5×7的顺序分解上述的945点快速傅立叶转换,并将指标
Figure S2008101315408D00086
映像为向量(n2,n3,n4,n5,n6),即由[0,944]映像为[0,2]×[0,2]×[0,2]×[0,4]×[0,6]。结合各阶段的所有分解方程式,即可求得3780点快速傅立叶转换依此分解顺序的完整指标映像方程式,如方程式(8)与(9)所示。在选择记忆库时利用方程式(10)以避免内存冲突。寻址方程式则可采用方程式(11)。
n=945n1+1260n2+2940n3+980n4+1512n5+540n6 mod3780    (8)
k=945k1+2380k2+3360k3+2520k4+2268k5+540k6 mod3780   (9)
bank=n1+n2+n3+n4+n5+n6  mod7                        (10)
address=135n1+45n2+15n3+5n4+n5                      (11)
继计算第一个快速傅立叶转换符元,亦即单数的快速傅立叶转换符元之后,方程式(10)及(11)中所有指标ni将转换为ki。对于第二个输入的快速傅立叶转换符元而言,亦即双数的快速傅立叶转换符元,该双数快速傅立叶转换符元的输入资料xeven[n]应被置入单数离散傅立叶转换符元的输出资料Xodd[k]的位置,两者间关系为k=n。其映像指标、记忆库与地址应分别以方程式(9)、(10)与(11)决定。
以下讨论如何于目前双数快速傅立叶转换符元的资料分配下,于计算期间持续避免资料存取时的内存冲突。
为计算双数快速傅立叶转换符元,采用与计算单数快速傅立叶转换符元时相反的分解顺序进行计算,亦即3780=7×5×3×3×3×4。换言之,以7点、5点、3点、3点、3点以及4点快速傅立叶转换的顺序执行计算。通过类似方式,可求得双数快速傅立叶转换符元的完整输入输出指标映像方程式(12)及(13),其结果类似于单数快速傅立叶转换符元的完整指标映像方程式(8)及(9)。方程式(12)及(13)分别将输入指标n与输出指标k映像为向量(a1,a2,a3,a4,a5,a6)与(b1,b2,b3,b4,b5,b6),即由[0,3779]映像为[0,6]×[0,4]×[0,2]×[0,2]×[0,2]×[0,3],以计算双数快速傅立叶转换符元。
n=540a1+2268a2+2520a3+3360a4+2380a5+945a6 mod3780   (12)
k=540b1+1512b2+980b3+2940b4+1260b5+945b6 mod3780    (13)
将输入与输出指标方程式(9)与(12)以及(8)与(13)对应比较,可发现此两组方程式恰以反序向量的关系彼此匹配,如方程式(14)及(15)所示。
(a1,a2,a3,a4,a5,a6)=(k6,k5,k4,k3,k2,k1)   (14)
(n1,n2,n3,n4,n5,n6)=(b6,b5,b4,b3,b2,b1)   (15)
因双数快速傅立叶转换符元xeven[n]的输入资料被置于已计算完成的单数快速傅立叶转换符元输出资料Xodd[k]的位置,而两者间的关系为k=n。由此可得双数快速傅立叶转换符元的记忆库选择与内存寻址方程式(16)及(17)。
bank=a1+a2+a3+a4+a5+a6 mod7                         (16)
address=135a6+45a5+15a4+5a3+a2                      (17)
请注意,输入映像方程式(12)与输出映像方程式(9)相同,且记忆库选择方程式(10)与(16)亦保持相同。所以,于双数快速傅立叶转换符元的计算期间,通过倒转单数快速傅立叶转换符元分解顺序的计算方式,可使内存始终免于存取冲突。
此外,本发明发现,输出映像方程式(13)与输入映像方程式(8)亦为相同,意指在将第三个快速傅立叶转换输入资料xthird[n]置入已计算完成的双数快速傅立叶转换输出数据Xeven[k]的位置并令其中k=n时,该第三个快速傅立叶转换输入资料的分散储存方式可与方程式(8)、(10)及(11)所决定者相同。也即第三个快速傅立叶转换符元的数据存放位置跟单数快速傅立叶转换符元的数据存放位置一样而又回到起始讨论的状态,xthird[n]=xodd[n]。
根据以上的讨论,可通过倒转先前的快速傅立叶转换符元分解顺序,设计出无内存冲突的可变基数快速傅立叶转换处理器。其可同时达到蝴蝶输出与资料输入输出的资料置换。
图1为以内存为基础的3780点离散傅立叶转换处理器设计方块图。其中MEM_1与MEM_2为二记忆区块(memory block),各区块包含7个记忆库(memory bank),各记忆库大小为540个字。FFT_CORE包含可分别处理短点数离散傅立叶转换的处理单元,其计算各短点数离散傅立叶转换所需的时脉周期数由设计者依需求决定,此亦决定计算单元所需硬件数量。控制单元主控数据存取与处理单元的计算。以下将就离散傅立叶转换处理器的运作加以阐明。为便于说明,在此定义第一类的分解与计算顺序依次为4点、3点、3点、3点、5点与7点离散傅立叶转换,并将其倒转顺序定义为第二类顺序,依次为7点、5点、3点、3点、3点与4点离散傅立叶转换。
假设第一个与第二个离散傅立叶转换符元分别储存于记忆区块MEM_1与MEM_2,并假设第一个与第二个离散傅立叶转换符元的分解与计算顺序皆为第一类顺序,则根据以上的说明可知:
(1)第一、五、九、十三...离散傅立叶转换符元储存于记忆区块MEM_1且以第一类顺序计算。
(2)第二、六、十、十四...离散傅立叶转换符元储存于记忆区块MEM_2且以第一类顺序计算。
(3)第三、七、十一、十五...离散傅立叶转换符元储存于记忆区块MEM_1且以第二类顺序计算。
(4)第四、八、十二、十六...离散傅立叶转换符元储存于记忆区块MEM_2且以第二类顺序计算。
为说明之便,图2中仅以长度为N=N1N2N3的离散傅立叶转换为例来说明取得资料存取所需指标向量的硬件实施方式。如图2所示,其由数个累加器A1、A2、...、A5组成。于控制单元中包含3组此硬件设计,其中2组分别用于产生资料输入与输出所需的指标向量,其参数U1、U2、U3、U4、q与r由各阶段的分解方程式(1)决定。而第3组则是用于产生各个短点数傅立叶转换所需资料的指标向量,其与前面两组唯一不同处是此时的参数q,r皆为0,即A4,A5可去除。
下表二显示以内存为基础的离散傅立叶转换处理器设计的不同实时应用方法的比较结果。所有项目中,仅有本发明的方法与美国专利4,477,878可支持任何一般基数的混合,并进行任何点数长度的快速傅立叶转换。然而,如前所述,美国专利4,477,878未能实现无内存冲突的多内存架构(multi-bank memory structure),因而无法减少实时应用所需的操作时脉。
本发明提出以内存为基础的快速傅立叶转换处理器设计方法,使其可同时满足以下三项目的:(1)蝴蝶运算与输入输出资料时的资料置换;(2)任何基数的混合;及(3)支持多内存架构。
表二
本发明与不同方法的比较
  [A1]   [A2][B2][A5]   [A3]   [A4]B[3]   本发明
  基数   所有一般   固定基数-r   固定基数-r   基数-2/4   所有一般
  资料置换   是   是   是   是   是
  内存   2N个字   2N个字   2N个字   2N个字   2N个字
  多重记忆库   否   是   否   是   是
[A1]:美国专利4,477,878
[A2]:美国专利5,091,875
[A3]:美国专利7,062,523
[A4]:美国专利7,164,723
[A5]:美国专利公开20060253514
[B2]:论文L.G.Johnson“Conflict free memory addressing fordedicated FFT hardware,”IEEE Trans.Circuits Syst.II,Analog Digit.Signal Process.,vol.39,no.5,pp.312-316,May 1992.
B[3]:论文B.G.Jo,and M.H.Sunwoo,“New continuous-flowmixed-radix(CFMR)FFT processor using novel in-place strategy,”IEEETrans.Circuits Syst.I,Reg.Papers,vol.52,no.5,pp.911-919,May 2005.
综上所述,当以本发明方法应用于中国数字电视所需的3780点离散傅立叶转换时,仅需2N个字的内存即可满足系统需求,同时达到持续资料流与资料依序输入输出的目的。若欲达成与本案相同效果,美国专利公开20080025199、中国专利01140060.9、中国专利03107204.6的方案需至少3N个字的内存,中国专利公开200410090873.2与中国专利公开200710044716.1需至少5N个字的内存,中国专利公开200610104144.7需6N个字的内存,而论文Z.-X.Yang,Y.-P.Hu,C.-Y.Pan,and L.Yang,“Design of a 3780-point IFFT processor forTDS-OFDM,”IEEE Trans.Broadcast.,vol.48,no.1,pp.57-61,Mar.2002亦至少需3N个字以上的内存。因此,就此应用而言,若以本发明的方法设计3780点离散傅立叶转换处理器,则相较于以现有方式设计者可大幅缩减芯片面积。
本发明还提出一种以内存为基础的(正/逆向)快速傅立叶转换处理器,用以执行上述的方法,其包含:一用以存放资料的主要内存、一进行分解后短点数快速傅立叶转换的处理元件以及一控制单元,其中该控制单元具有控制以下项目的功能:(1)输入输出资料与蝴蝶运算用的内存,(2)分解后的短点数快速傅立叶转换的计算顺序,及(3)以资料置换方式进行资料存取所需的内存寻址。用以执行上述的方法。该主要内存包含二记忆区块(memory block),亦即MEM_1与MEM_2,当MEM_1用于快速傅立叶转换运算时,MEM_2则用于输入输出资料,反之亦然。且,每一记忆区块包含M个记忆库(memory bank),且每一记忆库的大小为N/M,其中N为快速傅立叶转换的点数长度,M为由系统设计者自行设定的记忆库数量。该处理单元FFT_CORE设计为可对分解后的短点数快速傅立叶转换进行个别计算,其计算各短点数离散傅立叶转换所需的时脉周期数由设计者依需求决定,此亦决定计算单元所需硬件数量。该控制单元的第(1)项控制功能是控制如前所述的该等记忆区块,以将其功能切换为快速傅立叶转换计算或输入输出资料。该控制单元的第(2)项控制功能是控制该处理元件,使其利用与同一记忆区块的前次快速傅立叶转换符元分解顺序相反的顺序进行短点数快速傅立叶转换计算,从而取得快速傅立叶转换符元;亦即,若该快速傅立叶转换符元于一记忆区块中以N1点快速傅立叶转换、N2点快速傅立叶转换......至Nk点快速傅立叶转换的顺序计算,则储存于同一记忆区块中的次一快速傅立叶转换符元的计算顺序为Nk点快速傅立叶转换、N(k-1)点快速傅立叶转换......至N1点快速傅立叶转换。该控制单元的第(3)项控制功能是控制以资料置换的方式进行资料存取,从而进行每一记忆区块的蝴蝶运算与资料输入输出。其包含3组运作原理如图2的硬件设计,其中2组分别用于产生资料输入与输出所需的指标向量,其参数U1、U2、U3、U4、q与r由各阶段的分解方程式决定。而第3组则是用于产生各个短点数傅立叶转换所需资料的指标向量,其与前面两组唯一不同处是此时的参数q,r皆为0。
综上所述,以上的实施例仅是用来解释本发明的具体实施方式,本发明的保护范围仍应以权利要求书的范围为准。

Claims (13)

1.一种任意点数快速傅利叶转换的计算与寻址方法,其特征在于,包含下列步骤:
(1)将长点数离散傅立叶转换的计算分解为数个短点数的离散傅立叶转换,并同时将其指标由单一维度映像成多维度指标向量;
(2)通过控制这些多维度指标向量,把原始输入资料分散存放到数个内存里,使得在不产生内存存取冲突的情况下同时达到计算期间的资料置换与内存完整蝴蝶点数一次存取的目的;
(3)当资料置换使用在已计算完成的旧资料依序输出与新资料依序输入时,为了往后计算期间可以继续保持资料存取时没有内存冲突,对于新资料的计算采取与先前资料计算时的反序操作来达成目的;依此方法,对于设计任意点数的以内存为基础的快速傅立叶转换处理器,可以减少处理器面积与所需的操作时脉。
2.一种以内存为基础的正/逆向快速傅立叶转换处理器,其特征在于,包含:一用以存放资料的主要内存、一进行分解后短点数快速傅立叶转换的处理元件以及一控制单元,其中该控制单元具有控制以下项目的功能:(1)输入输出资料与蝴蝶运算用的内存,(2)分解后的短点数快速傅立叶转换的计算顺序,及(3)以资料置换方式进行资料存取所需的内存寻址。
3.如权利要求2所述的以内存为基础的正/逆向快速傅立叶转换处理器,其中,该主要内存包含二记忆区块,为MEM_1与MEM_2,当MEM_1用于快速傅立叶转换运算时,MEM_2则用于输入输出资料,反之亦然。
4.如权利要求3所述的以内存为基础的正/逆向快速傅立叶转换处理器,其中,每一记忆区块包含M个记忆库,且每一记忆库的大小为N/M,其中N为快速傅立叶转换的点数长度,M为由系统设计者自行设定的记忆库数量。
5.如权利要求2所述的以内存为基础的正/逆向快速傅立叶转换处理器,其中,该处理单元设计为可对分解后的短点数快速傅立叶转换进行个别计算。
6.如权利要求2所述的以内存为基础的正/逆向快速傅立叶转换处理器,其中,该控制单元的第(1)项控制功能是控制如权利要求3所述的该两记忆区块,以将其功能切换为快速傅立叶转换计算或输入输出资料。
7.如权利要求2所述的以内存为基础的正/逆向快速傅立叶转换处理器,其中,该控制单元的第(2)项控制功能是控制该处理元件来依照权利要求1第(3)点的步骤执行,使其利用与同一记忆区块的前次快速傅立叶转换符元分解顺序相反的顺序进行短点数快速傅立叶转换计算,从而取得快速傅立叶转换符元;亦即,若该快速傅立叶转换符元于一记忆区块中以N1点快速傅立叶转换、N2点快速傅立叶转换......至Nk点快速傅立叶转换的顺序计算,则储存于同一记忆区块中的次一快速傅立叶转换符元的计算顺序为Nk点快速傅立叶转换、N(k-1)点快速傅立叶转换......至N1点快速傅立叶转换。
8.如权利要求2所述的以内存为基础的正/逆向快速傅立叶转换处理器,其中,该控制单元的第(3)项控制功能是内存寻址并控制以资料置换的方式进行资料存取,从而进行每一记忆区块的蝴蝶运算与资料输入输出,此项控制功能为权利要求1第(2)点的实施。
9.如权利要求8所述的以内存为基础的正/逆向快速傅立叶转换处理器,其中,执行资料存取的记忆库由指标向量(n1,n2,...,nk)与方程式(a1)所决定,其中方程式(a1)的c为一常量整数,而该指标向量对应每一短点数快速傅立叶转换,亦即如权利要求6所述的N1点快速傅立叶转换、N2点快速傅立叶转换......至Nk点快速傅立叶转换。
bank=n1+n2+...+nk+c mod M    (a1)
10.如权利要求9所述的以内存为基础的正/逆向快速傅立叶转换处理器,其中,方程式(a1)将所有资料分为M个群组以存入每一记忆区块的M个记忆库,该地址公式可为该指标向量(n1,n2,...,nk)的任一函数,该指标向量可将同一群组中任两笔资料置入两个不同地址;当记忆库数量M=Nt,Nt为N1,N2,...,Nk其中之一,而(U1,U2,...,Uk-1)=(N1,N2,...,Nt-1,Nt+1,...,Nk),(u1,u2,...,uk-1)=(n1,n2,...,nt-1,nt+1,...,nk)。而分解与计算顺序为N1点快速傅立叶转换、N2点快速傅立叶转换......至Nk点快速傅立叶转换或其逆向顺序,则采用公式(a3)来决定资料地址。
address = { Σ i = 1 k - 2 ( Π j = i + 1 k - 1 U j ) u i } + u k - 1 mod ( N / M ) - - - ( a 3 )
11.如权利要求9所述的以内存为基础的正/逆向快速傅立叶转换处理器,其中,该指标向量由分解下列方程式(a4)与(a5)于各阶段产生,在此以N=N1N2为例,离散傅立叶转换的定义为 X ( k ) = Σ n = 0 N - 1 x ( n ) W N nk , 分解方程式(a4)与(a5)可将N点离散傅立叶转换分解为两个较短点数的离散傅立叶转换,即N1点离散傅立叶转换与N2点离散傅立叶转换;分解方程式(a4)与(a5)中的系数A2及B1为正整数,输入及输出指标分别由该输入及输出方程式(a4)与(a5)转换;
n=N2n1+A2n2 mod N n1,k1=0,1,...,N1-1  (a4)
k=B1k1+N1k2 mod N n2,k2=0,1,...,N2-1  (a5)。
12.如权利要求9所述的以内存为基础的正/逆向快速傅立叶转换处理器,其中,对应于如权利要求10所述输入及输出方程式的该指标向量(n1,n2,...,nk)可经由累加器的硬件运用而取得。
13.如权利要求9所述的以内存为基础的正/逆向快速傅立叶转换处理器,其中,以该指标向量(n1,n2,...,nk)而言,用以于第j阶段计算Nj点离散傅立叶转换而被存取的Nj笔资料的每一群组对应(n1,n2,...,nj-1,0,nj+1,...,nk),(n1,n2,...,nj-1,1,nj+1,...,nk),...,(n1,n2,...,nj-1,Nj-1,nj+1,...,nk),且计算完成的输出数据于计算后写回其原来位置,而上述所需的指标向量可由累加器的硬件运用而取得。
CN2008101315408A 2008-07-16 2008-07-16 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法 Expired - Fee Related CN101630308B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2008101315408A CN101630308B (zh) 2008-07-16 2008-07-16 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法
US12/325,516 US8364736B2 (en) 2008-07-16 2008-12-01 Memory-based FFT/IFFT processor and design method for general sized memory-based FFT processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101315408A CN101630308B (zh) 2008-07-16 2008-07-16 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法

Publications (2)

Publication Number Publication Date
CN101630308A true CN101630308A (zh) 2010-01-20
CN101630308B CN101630308B (zh) 2013-04-17

Family

ID=41531224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101315408A Expired - Fee Related CN101630308B (zh) 2008-07-16 2008-07-16 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法

Country Status (2)

Country Link
US (1) US8364736B2 (zh)
CN (1) CN101630308B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102419741A (zh) * 2011-11-30 2012-04-18 中国传媒大学 一种基于同址同序素因子算法的3780点离散傅里叶变换处理装置和方法
CN102495721A (zh) * 2011-12-02 2012-06-13 南京大学 一种支持fft加速的simd向量处理器
CN106294285A (zh) * 2015-06-09 2017-01-04 华邦电子股份有限公司 数据分配装置、信号处理装置及其数据分配方法
CN109117454A (zh) * 2017-06-23 2019-01-01 扬智科技股份有限公司 3780点快速傅立叶转换处理器及其运作方法
CN112822139A (zh) * 2021-02-04 2021-05-18 展讯半导体(成都)有限公司 数据输入、数据转换方法及装置
CN113569190A (zh) * 2021-07-02 2021-10-29 星思连接(上海)半导体有限公司 一种快速傅立叶变换旋转因子计算系统和方法
CN113569189A (zh) * 2021-07-02 2021-10-29 星思连接(上海)半导体有限公司 一种快速傅立叶变换计算方法及装置
CN113569190B (zh) * 2021-07-02 2024-06-04 星思连接(上海)半导体有限公司 一种快速傅立叶变换旋转因子计算系统和方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009128033A2 (en) * 2008-04-18 2009-10-22 Nxp B.V. System and method for configurable mixed radix fft architecture for multimode device
US8549059B2 (en) * 2009-01-08 2013-10-01 Texas Instruments Incorporated In-place fast fourier transform processor
CN101860508B (zh) * 2009-04-13 2013-01-16 中兴通讯股份有限公司 一种fft变换的复用装置及方法
US8990281B2 (en) * 2012-09-21 2015-03-24 International Business Machines Corporation Techniques for improving the efficiency of mixed radix fast fourier transform
GB2515755A (en) 2013-07-01 2015-01-07 Ibm Method and apparatus for performing a FFT computation
US9459812B2 (en) 2014-02-03 2016-10-04 Ceva D.S.P. Ltd. System and method for zero contention memory bank access in a reorder stage in mixed radix discrete fourier transform
KR102526750B1 (ko) * 2015-12-17 2023-04-27 삼성전자주식회사 푸리에 변환을 수행하는 방법 및 장치
US10783216B2 (en) 2018-09-24 2020-09-22 Semiconductor Components Industries, Llc Methods and apparatus for in-place fast Fourier transform
CN112163184A (zh) * 2020-09-02 2021-01-01 上海深聪半导体有限责任公司 一种实现fft的装置及方法
CN114356409A (zh) * 2021-01-29 2022-04-15 展讯半导体(成都)有限公司 处理基为模6为零点数dft的方法、设备、装置及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2084362B (en) 1980-09-19 1984-07-11 Solartron Electronic Group Apparatus for performing the discrete fourier transform
US5091875A (en) 1990-03-23 1992-02-25 Texas Instruments Incorporated Fast fourier transform (FFT) addressing apparatus and method
US5991788A (en) * 1997-03-14 1999-11-23 Xilinx, Inc. Method for configuring an FPGA for large FFTs and other vector rotation computations
US6230177B1 (en) * 1998-06-12 2001-05-08 Silicon Graphics, Inc. Method and apparatus for performing fast fourier transforms
IL131350A0 (en) * 1999-08-11 2001-01-28 Israel State Data storage patterns for fast fourier transforms
US7062523B1 (en) 2000-08-01 2006-06-13 Analog Devices, Inc. Method for efficiently computing a fast fourier transform
EP1516467B1 (en) 2002-06-27 2023-04-26 Samsung Electronics Co., Ltd. Modulation apparatus using mixed-radix fast fourier transform
TWI298448B (en) 2005-05-05 2008-07-01 Ind Tech Res Inst Memory-based fast fourier transformer (fft)
US20070239815A1 (en) * 2006-04-04 2007-10-11 Qualcomm Incorporated Pipeline fft architecture and method
US20080025199A1 (en) 2006-07-25 2008-01-31 Legend Silicon Method and device for high throughput n-point forward and inverse fast fourier transform
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
GB2448755B (en) * 2007-04-27 2009-03-25 Univ Bradford FFT processor
US20100030831A1 (en) * 2008-08-04 2010-02-04 L-3 Communications Integrated Systems, L.P. Multi-fpga tree-based fft processor

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102419741A (zh) * 2011-11-30 2012-04-18 中国传媒大学 一种基于同址同序素因子算法的3780点离散傅里叶变换处理装置和方法
CN102495721A (zh) * 2011-12-02 2012-06-13 南京大学 一种支持fft加速的simd向量处理器
CN106294285A (zh) * 2015-06-09 2017-01-04 华邦电子股份有限公司 数据分配装置、信号处理装置及其数据分配方法
CN106294285B (zh) * 2015-06-09 2018-11-30 华邦电子股份有限公司 数据分配装置、信号处理装置及其数据分配方法
CN109117454A (zh) * 2017-06-23 2019-01-01 扬智科技股份有限公司 3780点快速傅立叶转换处理器及其运作方法
CN109117454B (zh) * 2017-06-23 2022-06-14 扬智科技股份有限公司 3780点快速傅立叶转换处理器及其运作方法
CN112822139A (zh) * 2021-02-04 2021-05-18 展讯半导体(成都)有限公司 数据输入、数据转换方法及装置
CN113569190A (zh) * 2021-07-02 2021-10-29 星思连接(上海)半导体有限公司 一种快速傅立叶变换旋转因子计算系统和方法
CN113569189A (zh) * 2021-07-02 2021-10-29 星思连接(上海)半导体有限公司 一种快速傅立叶变换计算方法及装置
CN113569189B (zh) * 2021-07-02 2024-03-15 星思连接(上海)半导体有限公司 一种快速傅立叶变换计算方法及装置
CN113569190B (zh) * 2021-07-02 2024-06-04 星思连接(上海)半导体有限公司 一种快速傅立叶变换旋转因子计算系统和方法

Also Published As

Publication number Publication date
CN101630308B (zh) 2013-04-17
US8364736B2 (en) 2013-01-29
US20100017452A1 (en) 2010-01-21

Similar Documents

Publication Publication Date Title
CN101630308B (zh) 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法
Ayinala et al. An in-place FFT architecture for real-valued signals
Jo et al. New continuous-flow mixed-radix (CFMR) FFT processor using novel in-place strategy
CN100563226C (zh) 利用混合基数快速付里叶变换的调制设备
JPH11161637A (ja) 高速フーリエ変換を用いて短い待ち時間でアレイ処理を行う並列システム
Chen et al. Continuous-flow parallel bit-reversal circuit for MDF and MDC FFT architectures
CN107408101A (zh) 配置成使用组合和分离向量的指令对可变长度向量进行操作的向量处理器
TW594502B (en) Length-scalable fast Fourier transformation digital signal processing architecture
US20100191791A1 (en) Method and apparatus for evaluation of multi-dimensional discrete fourier transforms
US20040039765A1 (en) Fourier transform apparatus
Xing et al. A novel conflict-free parallel memory access scheme for FFT processors
CN105224505A (zh) 基于矩阵转置操作的fft加速器装置
US20140089369A1 (en) Multi-granularity parallel fft computation device
Richardson et al. Building conflict-free FFT schedules
EP3340066A1 (en) Fft accelerator
CN103034621B (zh) 基2×k并行fft架构的地址映射方法及系统
Sorokin et al. Conflict-free parallel access scheme for mixed-radix FFT supporting I/O permutations
EP3066583B1 (en) Fft device and method for performing a fast fourier transform
CN102957993B (zh) 低功耗wola滤波器组及其分析阶段电路
JP2001101160A (ja) 高速フーリエ変換用データ記憶パターン
WO2013097235A1 (zh) 并行位反序装置和方法
TWI375171B (zh)
US20190129914A1 (en) Implementation method of a non-radix-2-point multi data mode fft and device thereof
Unnikrishnan et al. Multi-channel FFT architectures designed via folding and interleaving
Kaya et al. A novel addressing algorithm of radix-2 FFT using single-bank dual-port memory

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

Granted publication date: 20130417

Termination date: 20190716

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