CN101340414A - 可变长度的快速傅立叶转换系统及其执行方法 - Google Patents

可变长度的快速傅立叶转换系统及其执行方法 Download PDF

Info

Publication number
CN101340414A
CN101340414A CNA2008101088870A CN200810108887A CN101340414A CN 101340414 A CN101340414 A CN 101340414A CN A2008101088870 A CNA2008101088870 A CN A2008101088870A CN 200810108887 A CN200810108887 A CN 200810108887A CN 101340414 A CN101340414 A CN 101340414A
Authority
CN
China
Prior art keywords
processing unit
fast fourier
butterfly
fourier transform
length
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
CNA2008101088870A
Other languages
English (en)
Other versions
CN101340414B (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.)
MediaTek Inc
Original Assignee
MediaTek 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 MediaTek Inc filed Critical MediaTek Inc
Publication of CN101340414A publication Critical patent/CN101340414A/zh
Application granted granted Critical
Publication of CN101340414B publication Critical patent/CN101340414B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/25Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS
    • G01S19/254Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS relating to Doppler shift of satellite signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/30Acquisition or tracking or demodulation of signals transmitted by the system code related
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Discrete Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

本发明揭示一种可变长度的快速傅立叶转换系统,包含至少一个串接的蝴蝶运算级,其中每一蝴蝶运算级包含至少一个处理单元;以及至少一个分割开关,根据旁路信号分割处理单元或蝴蝶运算级之间的数据连接,以执行第一数据长度的快速傅立叶转换或第二数据长度的快速傅立叶转换,其中第二数据长度短于第一数据长度。本发明的具有可变长度的快速傅立叶转换系统可提升硬件利用率并增加信号处理的产出量。

Description

可变长度的快速傅立叶转换系统及其执行方法
技术领域
本发明是关于一种可变长度的快速傅立叶转换系统及其执行方法,特别是关于一种适用于全球导航卫星系统(Global Navigation Satellite System,GNSS)的信号获取和追踪的可变长度快速傅立叶转换系统及其执行方法。
背景技术
众所周知,用于多载波调制的正交频分复用(Orthogonal Frequency DivisionMultiplexing,OFDM)技术已经广泛应用在各种信号处理或通信装置上,例如包括无线发射器/接收器、数字数据广播装置以及各类型的全球导航卫星系统(Global Navigation Satellite System,GNSS)等。较广为人知的全球导航卫星系统包括全球定位系统(Global Positioning System,GPS)、全球轨道导航卫星系统(Global Orbiting Navigation Satellite System,GLONASS)、未来欧洲伽利略系统(Future European Galileo System),或是类似的系统等等,其中因为GPS应用较为广泛,因此以下将以GPS作为全球导航卫星系统的范例加以说明。
为满足以正交频分复用技术为主的各种现有通信系统的需要,传统的可变长度(Variable Length)的快速傅立叶转换(Fast Fourier Transform,FFT)处理器提出以高速缓冲存储器(Cache-memory)架构来执行操作。可变长度的快速傅立叶转换处理器主要包括:控制逻辑单元(Control Logic Unit,CLU),用于决定快速傅立叶转换操作及数据点数的数量/长度;地址产生器(Address Generator,AG),用于产生高速缓冲存储器(如随机存储器RAM)和系数只读存储器(ROM)所需要的地址;以及蝴蝶处理单元(Processing Element,PE)或处理级(ProcessingStage),依据地址对随机存储器中的数据及只读存储器所输出的系数数据执行复数运算(Complex Operation)。可变长度的快速傅立叶转换处理器利用连接于处理单元和主存储器之间的高速缓冲存储器来减少对蝴蝶运算级(Butterfly stage)的主存储器的存取次数。一些使用单径延迟反馈(Single-path Delay Feedback,SDF)架构的可变长度快速傅立叶转换处理器可以根据规格上的需求预先设定,来指定不同长度的输入数据点数(如1K、4K或8K),以作为执行快速傅立叶转换的大小。事实上,在信号处理的过程中,输入的数据点数不断地持续进入快速傅立叶转换处理器中,一旦所累积的输入数据点数达到一定的数据长度,如1K(1024比特),则整个快速傅立叶转换处理器就会对各个输入的数据点数执行快速傅立叶转换操作,而完全不考虑进来的特定数据长度有多长,即使是处理具有较短长度的数据点数,还是需要使用所有的蝴蝶运算级,而每一蝴蝶运算级却都设有大量的乘法元件、加法元件及暂存元件,如此可能会导致较高的硬件复杂度和成本上的浪费。
发明内容
为解决前述问题,本发明主要目的之一在于提供一种可变长度的快速傅立叶转换系统及其执行方法,其适用于全球导航卫星系统的信号获取及追踪,并能提高硬件的利用率及增加数据的产出量(Throughputs)。
为获得前述发明目的,本发明揭示一种可变长度的快速傅立叶转换系统,包含至少一个串接的蝴蝶运算级,其中每一蝴蝶运算级包含至少一个处理单元;以及至少一个分割开关,根据旁路信号分割处理单元或蝴蝶运算级之间的数据连接,以执行第一数据长度的快速傅立叶转换或第二数据长度的快速傅立叶转换,其中第二数据长度短于第一数据长度。
本发明还提供一种执行可变长度快速傅立叶转换系统的方法,可变长度的快速傅立叶转换系统具有至少一个串接的蝴蝶运算级,其中每一蝴蝶运算级包含至少一个处理单元,此方法包含以下步骤:基于不同数据长度快速傅立叶转换操作的需要,产生旁路信号;以及依据旁路信号,分割处理单元或蝴蝶运算级之间的数据连接,以执行第一数据长度的快速傅立叶转换操作或第二数据长度的快速傅立叶转换操作,其中第二数据长度短于第一数据长度。
与现有技术相比较,本发明的可变长度的快速傅立叶转换系统及其执行方法的有益效果包括:利用较少数量的蝴蝶运算级、较小复杂度的乘法器及较节省的操作时间来提升硬件的利用率和系统的产出量,从而在可变数据长度方面,取得比现有快速傅立叶转换系统更大的使用弹性。
附图说明
图1显示依据本发明第一实施例的可变长度的快速傅立叶转换系统的电路示意图,此快速傅立叶转换系统包含一个基23的蝴蝶运算级。
图2A显示图1的可变长度快速傅立叶转换系统的第一阶蝴蝶处理单元的电路示意图。
图2B显示图1的可变长度快速傅立叶转换系统的第二阶蝴蝶处理单元的电路示意图。
图2C显示图1所示可变长度快速傅立叶转换系统的第三阶蝴蝶处理单元的电路示意图。
图3显示依据本发明第二实施例的可变长度的快速傅立叶转换系统的电路示意图,其中此快速傅立叶转换系统包含另一基23的蝴蝶运算级。
图4显示根据本发明第三实施例的可变长度256点快速傅立叶转换系统的电路示意图,其中设置多个单径延迟反馈型蝴蝶运算级。
图5显示依据本发明第四实施例的另一可变长度256点快速傅立叶转换系统的电路示意图,其中设有至少一个内存型蝴蝶运算级。
图6显示依据本发明第五实施例的可变长度的256点快速傅立叶转换系统的电路示意图。
图7A显示将图6的可变长度256点快速傅立叶转换系统应用于追踪模式的全球定位系统的结构示意图。
图7B是全球定位系统的结构示意图,其中可变长度的256点快速傅立叶转换系统被分割成多个快速傅立叶转换子系统以用于获取模式。
图8显示依据本发明优选实施例的执行图3所示的可变长度快速傅立叶转换系统的方法的流程图。
具体实施方式
在本说明书以及权利要求当中使用了某些词汇来指称特定的元件,本领域的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件,本说明书及权利要求并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的准则,在通篇说明书及权利要求书当中所提及的“包含有”是开放式的用语,故应解释成“包含有但不限定于”,此外,“耦合”一词在此包含任何直接及间接的电气连接手段,因此,若文中描述第一装置耦合于第二装置,则代表第一装置可以直接电气连接于第二装置,或通过其它装置或连接手段间接地电气连接至第二装置。
请先参阅图1,揭示一种可变长度的基23(Radix-23)快速傅立叶转换(FFT)系统2,其采用多个串接在一起的基23单径延迟反馈型(SDF)蝴蝶运算级20,且每一蝴蝶运算级20的硬件、最佳化的积分器及加法器的配置都非常类似。在串接的基23蝴蝶运算级20之间交错设置若干乘法器28,其中各乘法器28将旋转因子(twiddle factor,如“W1(n)”)与前一蝴蝶运算级20所输出的数据流相乘,以产生乘积282。而后,乘积282被输入至下一蝴蝶运算级20(如基23的蝴蝶运算级或基22的蝴蝶运算级或基2的蝴蝶运算级)。
每一个基23蝴蝶运算级20可分解成第一阶蝴蝶处理单元(Butterfly I或BFI)22、耦合于第一阶蝴蝶处理单元22的第二阶蝴蝶处理单元(Butterfly II或BFII)24,以及耦合于第二阶蝴蝶处理单元24的第三阶蝴蝶处理单元(Butterfly III或BFIII)26,从而以平行操作方式,计算输入数据长度/点的分割(Divisions)。基于频率抽取(Decimation-in-frequency,DIF)的分解,此可变长度的基23快速傅立叶转换系统2的串接蝴蝶运算级20的所有处理单元22、24及26分别依次构建一个含有不同字元容量(Word Capacity)的反馈缓存器201,如从N/2、N/4、N/8...到1。
依据本发明的第一实施例,每一个基23蝴蝶运算级20的处理单元22和24都是以传统的基22单径延迟反馈型蝴蝶运算结构(包含BFI和BFII)为基础而建立的。基23单径延迟反馈型蝴蝶运算结构可以从下列数学式(1)推导出来:
Figure A20081010888700091
其中α=(-j)k1+2k2+8k4 β = [ 2 2 ( 1 - j ) ] k 1 + 2 k 2 + 4 k 3 皆为旋转因子。H(k1,k2,k3,n4)为时域函数。
需要注意的是,数学式(1)代表第三阶蝴蝶处理单元(BFIII)26且其本身即为一般的基22单径延迟反馈型蝴蝶运算结构。因为代表第二、第三阶蝴蝶处理单元24、26(BFII和BFIII)的另外两个数学公式都是源自第一阶蝴蝶处理单元22(BFI),因此第一阶、第二阶及第三阶蝴蝶处理单元(BFI、BFII和BFIII)22、24和26都具有相同的规则和操作方式。
请进一步参阅图1和图2A,介绍了第一阶蝴蝶处理单元(BFI)22的电路示意图。如图所示,利用同步计数器(未显示)的控制信号‘s0’的不同电平,可控制多路复用器(MUX)222切换至不同位置上,以将输入数据直接存储至反馈缓存器201,或者分散输入数据点数(divided-point)以分别执行离散傅立叶转换(Discrete Fourier transform,DFT)(如数学式(1)的操作)。
请进一步参阅图1和图2B,介绍第二阶蝴蝶处理单元(BFII)24的电路示意图。就硬件设计而言,第二阶蝴蝶处理单元(BFII)24与第一阶蝴蝶处理单元(BFI)22的操作及结构基本上是相类似的,但两者不同之处在于,第二阶蝴蝶处理单元(BFII)24具有系数处置器(Coefficient handler)244,其中系数处置器244由换向器(Commutator)245、多路复用器249、乘法器248及逻辑门控制单元(如与门246)所组成。第二阶蝴蝶处理单元(BFII)24由同步计数器的两个控制信号‘t0’和‘s1’控制,其中控制信号‘s1’用于输入与门246的一个输入端,并用于切换多路复用器(MUX)242以执行如同第一阶蝴蝶处理单元22的操作。另一控制信号‘t0’的相位不同于控制信号‘s1’,当控制信号‘t0’输入至与门246的反相输入端后,可决定两个不同系数(1,-j)2483之中的哪一个系数与第一阶蝴蝶处理单元22的输出结果相乘,并经过换向器245和加/减操作的实数/虚数交换(Real-imaginary swapping),以获得轻微旋转因子乘积(Trivial twiddle factormultiplication product)。
请参阅图1和图2C,第三阶蝴蝶处理单元(BFIII)26的结构除了增加了第三级的蝴蝶操作之外,均与前述处理单元(BFI和BFII)22、24类似。不同于第二阶蝴蝶处理单元(BFII)24之处在于,第三阶蝴蝶处理单元26具有系数处置器264,且系数处置器264由逻辑门控制单元265、4对1多路复用器270及乘法器272所组成,其中逻辑门控制单元265具有第一与门266和第二与门268。
处于不同时序的两比特(two-bit)的控制信号‘t1’和‘t2’决定四个不同旋转因子系数(1,-j,
Figure A20081010888700101
Figure A20081010888700102
)2833中的哪一个系数用来执行轻微旋转因子乘积,其中控制信号‘t1’输入至第一与门266的一个输入端,另一控制信号‘t2’输入至第二与门268的一个输入端。此外,旁路控制产生的旁路信号‘b2’输入至第一与门266的反相输入端和第二与门268的反相输入端中,以调整第一与门266和第二与门268的两输出。例如,当将两比特控制信号‘t1’和‘t2’设定为“00”时,操作系数即为“1”,如同执行第一阶蝴蝶处理单元“BFI”。当将两比特控制信号‘t1’和‘t2’设定为“01”时,操作系数为“-j”,如同执行第二阶蝴蝶处理单元“BFII”。当将两比特控制信号‘t1’‘t2’设定为“10”或“11”时,操作系数为“
Figure A20081010888700103
”或“”,如同执行第三阶蝴蝶处理单元“BFIII”。控制信号‘s2’用于切换多路复用器262和一些加法器/减法器。相反地,现有基23单径延迟反馈型快速傅立叶转换系统必须先聚集到足够的数据长度,且可变数据长度被限定为4或8的幂数,之后才开始处理所聚集到的数据。
为了打破4或8的幂数对可变数据长度的限制,本发明图1所示的可变长度的基23快速傅立叶转换系统2是利用一个2对1多路复用器320作为分割开关,分割开关根据旁路控制(未显示)产生的旁路信号(Bypassing signal)的不同电平,将至少一个蝴蝶运算级20分割成多个具有不同数据长度快速傅立叶转换操作的快速傅立叶转换子系统,从而在可变数据的长度上,系统2可获得比现有基23单径延迟反馈型快速傅立叶转换系统更大的运用弹性。利用多路复用器320的配置和旁路信号的控制,每一个基23单径延迟反馈型蝴蝶运算级20可以根据使用者所指定的较短数据长度(如分割数据长度=2,4,8...),分割成至少一个基2蝴蝶运算级或基22蝴蝶运算级。通过这种方式,具有N长度的基23快速傅立叶转换系统2可以被分割成多个具有不同数据长度的快速傅立叶转换子系统。
如图1所示的本发明第一实施例,2对1多路复用器320设置于处理单元24(BFII)和处理单元26(BFIII)之间的数据传输中,可将其分割成多个具有不同数据长度快速傅立叶转换操作的蝴蝶运算级。前述旁路控制(未显示)可以通过软件或硬件实现,并根据不同输入数据长度的需要(例如,侦测不同长度的输入数据进入可变长度快速傅立叶转换系统2的时间)来设定旁路信号‘b2’,以将多路复用器320切换至不同的位置(如1或0),允许第二阶蝴蝶处理单元24(BFII)产生的数据通过多路复用器320或使输入数据跳过第一、第二阶蝴蝶处理单元22、24(BFI及BFII)而直接进入第三阶蝴蝶处理单元26(BFIII)。
同时也利用旁路信号‘b2’改变第一与门266和第二与门268的两输出端的输出极性,以切换多路复用器270去决定输出四个不同旋转因子系数(1,-j,
Figure A20081010888700112
)2833中的哪一个系数给乘法器272,使输出系数与多路复用器320的输出数据相乘产生轻微旋转因子乘积。
举例来说,如果可变长度的基23快速傅立叶转换系统2仅需执行8点数据长度的快速傅立叶转换操作,会先将旁路信号‘b2’设在指定的电平上,使输入数据跳过前两个处理单元22和24(BFI和BFII),而直接输入后续的处理单元26(BFIII),并调整第一与门266和第二与门268的输出,使后续处理单元26(BFIII)仅使用旋转因子系数“1”以形成单纯的基2蝴蝶运算级,而其作用如同执行基2的快速傅立叶转换系统。因为可变数据长度可以根据所聚集到的不同数据长度,再作更细微的分割,所以可大幅减少蝴蝶运算级的使用数量、降低多路复用器的复杂度,并节省操作时间。若考虑硬件成本、利用率和处理速度,具有可分割基数的单径延迟反馈型结构的快速傅立叶转换系统实为较好的选择。
在另一应用案例中,若需要在可变长度的基23快速傅立叶转换系统2上执行8点数据长度的快速傅立叶转换操作,可通过旁路控制更改旁路信号‘b2’的电平来切换多路复用器320,使多路复用器320允许前一个处理单元24(BFII)产生的数据通过并进入后续的处理单元26(BFIII),而处理单元26(BFIII)会使用四个旋转系数(1,-j,)来进行操作。
利用多路复用器320、旁路控制和逻辑门控制单元265,可选择性地将每一个基23或基22蝴蝶运算级20分割出较小的单径延迟反馈型蝴蝶运算级(如同基2的蝴蝶运算级),且较小的单径延迟反馈型蝴蝶运算级执行较短数据长度(下降到2的幂数)的操作。反观现有基23或22的快速傅立叶转换系统,因为限定数据长度(如4的幂数或8的幂数),所以无法进一步分割成不同基数的子系统来执行不同输入数据长度的快速傅立叶转换操作。
最好的应用方式是,可变长度的快速傅立叶转换系统2的输入数据长度可为8的幂数,如8、64、128或256等,其中可变长度的快速傅立叶转换系统2内的每一个基本处理单元都可以是由至少一个基23的蝴蝶运算结构组成,只要将其中任一基23的蝴蝶运算结构分割成多个不同基数的蝴蝶运算级即可,如此可变长度的快速傅立叶转换系统2的输入数据长度的变化弹性将远超过前述现有技术。
请进一步参阅图3,显示依据本发明第二实施例的可变长度的基23快速傅立叶转换系统3,其具有多个串接的基23单径延迟反馈型蝴蝶运算级30,其中每一个基23单径延迟反馈型蝴蝶运算级30进一步可分解成第一阶蝴蝶处理单元(如BFI)32、耦合于第一阶蝴蝶处理单元32的第二阶蝴蝶处理单元(如BFII)34,以及耦合于第二阶蝴蝶处理单元34的第三阶蝴蝶处理单元(如BFIII)36,从而以并行操作方式,执行分割运算。
不同于第一实施例之处在于:第二实施例的前两个处理单元32和34(BFI和BFII)之间的数据传输中设置有2对1多路复用器322,用于执行不同数据长度的快速傅立叶转换操作。当具有不同长度的输入数据进入可变长度的基23快速傅立叶转换系统3时,旁路控制(未显示)会基于侦测到的进入时间,以不同的时序产生两个旁路信号‘b1’和‘b2’。旁路信号‘b1’将多路复用器322切换至不同位置(如1或0),以允许前一个处理单元32(BFI)产生的数据通过多路复用器322或允许输入数据跳过前一个处理单元32(BFI)而直接进入下一个处理单元34(BFII)。在另一种状态下,可将2对1多路复用器322的位置改设于两个串接的蝴蝶运算级30的数据传输之间,以执行多个不同数据长度的快速傅立叶转换操作。
第二阶蝴蝶处理单元(BFII)34具有系数处置器344,且系数处置器344是由第一逻辑门控制单元346、2对1多路复用器348及乘法器350所构成。第一逻辑门控制单元346实际为与门,其中控制信号‘t0’输入到与门346的一个输入端,而来自旁路控制的旁路信号‘b1’输入到与门346的反相输入端。多路复用器(MUX)348根据与门346输出的信号极性,决定两个输入旋转系数(1,-j)中的哪一个系数输出至乘法器350,输出系数用来与多路复用器322输出的数据相乘,以产生轻微旋转因子乘积。
此外第三阶蝴蝶处理单元(BFIII)36具有系数处置器38,且系数处置器38由第二逻辑门控制单元382、4对1多路复用器384及乘法器386构成。第二逻辑门控制单元382具有第一与门3822和第二与门3824,其中控制信号‘t1’用于输入至第一与门3822的一个输入端,而另一控制信号‘t2’用于输入至第二与门3824的一个输入端。此外,旁路控制产生的旁路信号‘b2’用于输入至第一与门3822的反相输入端和第二与门3824的反相输入端,以更改第一与门3822的输出和第二与门3824的输出。4对1多路复用器(MUX)384会依据第一与门3822和第二与门3824输出的更改过的信号来进行切换,以决定将四个输入旋转系数(1,-j,
Figure A20081010888700131
)中的哪一个系数输出至乘法器386,进而产生轻微旋转因子乘积。
通过控制旁路控制输出的两旁路信号‘b1’及‘b2’的不同电平,可以调整处理单元34(BFII)的控制信号‘t0’和处理单元36(BFIII)的两控制信号‘t1’及‘t2’,使输入数据跳过前一个处理单元32(BFI),并使其余的蝴蝶运算结构(即后两个处理单元34、36(BFII和BFIII))变为基22蝴蝶运算级(包含BFI和BFII),如同执行基22的快速傅立叶转换子系统的运算功能。
举例来说,若需要在可变长度的基23快速傅立叶转换系统3的基23单径延迟反馈型蝴蝶运算级30上执行具有8点数据长度的快速傅立叶转换操作,则可将旁路信号‘b1’设在特定电平来切换多路复用器322,以允许前一个处理单元32(BFI)产生的数据进入下一个处理单元34(BFII)。若将旁路信号‘b1’反相,则可改变处理单元34(BFII)的与门346的输出极性,以切换多路复用器348依序使用两旋转系数(1,-j)。其结果如同图2B所示,处理单元34(BFII)会执行第二阶蝴蝶运算操作。
在接下来的周期中,可利用旁路控制将旁路信号‘b2’设为特定电平,来更改处理单元36(BFIII)的第一与门3822的输出和第二与门3824的输出,从而切换4对1多路复用器384依序使用不同旋转系数(1,-j,
Figure A20081010888700141
),进而执行如同图2C所示的第三阶蝴蝶运算操作。
相反的,若需要在可变长度的基23快速傅立叶转换系统3的基23单径延迟反馈型蝴蝶运算级30上执行具有4点数据长度的快速傅立叶转换操作,则可将旁路信号‘b1’改设在不同电平以切换多路复用器322,允许输入数据跳过处理单元32(BFI)直接进入处理单元34(BFII)。利用反相的旁路信号‘b1’,可切换多路复用器348仅能使用旋转系数‘1’。其结果如同图2A所示,即处理单元34(BFII)执行第一阶蝴蝶运算操作。
在接下来的周期中,可通过旁路控制将旁路信号‘b2’设定为特定电平,以更改处理单元36(BFIII)的第一与门3822和第二与门3824的各信号输出,以切换多路复用器384仅能使用两旋转系数‘1’或‘-j’。这样,处理单元36(BFIII)会执行如图2B所示的第二阶蝴蝶运算操作。
如图1和图3所示,通过在可变长度的基23快速傅立叶转换系统内设置不同的分离点,可变长度基23快速傅立叶转换系统2或3的基本蝴蝶运算级将能选择执行基23或基22或甚至是基2的数据长度的蝴蝶运算级的功能。
在其它应用方面,通过混合基23与基22或基2的多个蝴蝶运算级来构建可变长度的快速傅立叶转换系统,能取得任何所需的数据长度。当需要不同数据长度的多个快速傅立叶转换系统时,可调整到的最小数据长度的蝴蝶运算级可以是任何一个以2为基数的运算单元。例如,具有64点数据长度的快速傅立叶转换系统可以分割出2/4/8/16/32点的快速傅立叶转换子系统,甚至是一个以23为基数的运算结构。然而,如果现有单径延迟反馈型快速傅立叶转换结构可能要用到所有的长度因子,则其所有蝴蝶运算级都必须是单纯的基2蝴蝶运算级。因此,本发明能达到最大使用弹性且最小化乘法器的数量。
进一步参阅图4,为一种依据本发明第三实施例的可变长度的快速傅立叶转换系统4,其具有多个串接在一起的基23和基22的蝴蝶运算级40、41,其中每一个基23蝴蝶运算级40(如同一般的基23单径延迟反馈型蝴蝶运算结构)可以分解成多个处理单元(PE),包含如第一阶蝴蝶处理单元(BFI)402、第二阶蝴蝶处理单元(BFII)404及第三阶蝴蝶处理单元(BFIII)406。此外,其中至少一个基22蝴蝶运算级41可以分解成多个处理单元(PE),包含:第一阶蝴蝶处理单元(BFI)412及第二阶蝴蝶处理单元(BFII)414。2对1多路复用器(418)设置于两个相邻处理单元412和414(BFI和BFII)之间的数据传输中,以作为分割开关,分割开关用于进行多个快速傅立叶转换子系统的分割,进而执行多个不同数据长度的快速傅立叶转换操作。在第三实施例中,如图4所示,可变长度的快速傅立叶转换系统4的每一处理单元皆设有单径延迟反馈(Single-PathDelay Feedback,SDF)结构,单径延迟反馈结构具有延迟缓存器400、基2的蝴蝶运算440及乘法器。
在多个串接的基23或基22蝴蝶运算级40、41之间交错设置有多个系数乘法器43,每一个系数乘法器43用于将可变的旋转因子输入与前一级蝴蝶运算级40或41输出的数据流相乘,以产生用于输入至下一级蝴蝶运算级40或41的乘积。可变的旋转因子输入由对应2比1系数多路复用器(MUX)46产生,且系数多路复用器46是依据模式开关48的控制信号的不同电平,基于两个不同快速傅立叶转换运算模式,如全球导航卫星系统(Global Navigation Satellite System,GNSS)接收器接收数据时的追踪模式或获取模式,选择性切换到两个旋转因子的其中一个。当模式开关48以控制信号切换多路复用器46的同时,另一多路复用器418也依据模式开关48产生的旁路信号的不同电平,切换至不同位置上,以从第一个基23蝴蝶运算级40聚集N长度的数据,或者从第一个基23蝴蝶运算级40至处理单元412(BFI)之间收集n1长度的数据1(n1<N),以及/或者从处理单元414(BFII)至其它后续蝴蝶运算级40或41之间收集n2长度的数据2(n2<N),其中跳过处理单元412(BFI)和第一个基23蝴蝶运算级40。因为数据1和2的长度n1和n2可以相同,也可以不同,而且可同时在同一快速傅立叶转换系统4中执行,即快速傅立叶转换系统4会被多路复用器418分成多个快速傅立叶转换子系统,以对不同长度的数据执行快速傅立叶转换操作,因此,本发明可通过改变快速傅立叶转换的长度来提高硬件的利用率。
如图4所示的应用案例,当需要在256点的快速傅立叶转换系统(如标号4所示)上执行16点的快速傅立叶转换运算时,多路复用器418可以将256点的快速傅立叶转换系统4分割为第一部分和第二部分,即两个相互独立的快速傅立叶转换子系统4a和4b。但实际上,只需要使用第二部分4b执行16点的快速傅立叶转换操作即可,第二部分4b是指设于多路复用器418后的后半部的多个蝴蝶运算级。然而,设置于多路复用器418之前的快速傅立叶转换子系统4a仍然能同时执行另一不同长度的快速傅立叶转换操作。在此提供一种提升256点快速傅立叶转换系统4的硬件利用率和快速傅立叶处理速度的方法,即:如果改变快速傅立叶转换子系统4a的基2蝴蝶运算级的反馈内存地址控制(未显示),则快速傅立叶转换子系统4a能够执行另一个16点的快速傅立叶转换运算。例如,处理单元402的延迟缓存器400虽然包含了128个缓存器,但其中只有8点被使用,而下一处理单元404的延迟缓存器400则包含了64个缓存器,但只用到其中的4点等等。
请进一步参阅图5,显示依据本发明第四实施例的可变长度的快速傅立叶转换系统5,其类似前述第三实施例,具有多个串接的基23和基22蝴蝶运算级50、51。当在256点的快速傅立叶转换系统(如标号5)上执行16点的快速傅立叶转换操作时,多路复用器518可以将256点快速傅立叶转换系统5分割成两个部分,即两个相互独立的快速傅立叶转换子系统5a、5b。不同于第三实施例之处在于:在第四实施例中,快速傅立叶转换子系统5a的每一个基2蝴蝶处理单元(包含四个)都可切换成如图5所示的内存型快速傅立叶转换模式(Memory-based FFT mode)。也就是说,蝴蝶运算级中的每一个处理单元结构都可以变换成内存型快速傅立叶转换系统。处理单元结构包含地址控制器,用于控制嵌入式静态随机存储器(SRAM)和更复杂的系数处置器,且处理单元结构能独自执行快速傅立叶转换操作。因此,快速傅立叶转换子系统5a可以同时执行四个16点的快速傅立叶转换操作。与前述第三实施例相比较,第四实施例的可变长度的快速傅立叶转换系统5具有更高的产出量。
在其它实施例中,本发明的快速傅立叶转换系统的分割可依据系统需要作选择性的设置以形成几个不同的结构。例如,可以将256点快速傅立叶转换系统选择性的分割成8点的单径延迟反馈型快速傅立叶转换子系统和32点的单径延迟反馈型快速傅立叶转换子系统,或分割成32点单径延迟反馈型快速傅立叶转换子系统和128点的内存式快速傅立叶转换子系统,或甚至是以多径延迟换向(Multi-path Delay Commutator,MDC)结构进行分割。
当应用于GPS接收系统时,使用同一内存的同一可变长度的快速傅立叶转换系统可以针对两种不同GPS信号模式(包含获取模式和追踪模式)的不同的相关值(Correlation)进行弹性的调整。利用本发明的可变长度的快速傅立叶转换系统,在获取模式下可以获取高速编码相位和多普勒二进制代码扫描(Dopplerbinary scan)。为了找寻足够数量的卫星以精确定位GPS接收器来取得其产生的GPS信号,必须先获取相关结果的分析。相关结果可以从每一对应的假设值(Hypothesis)(如编码、码相位或GPS接收器与卫星之间的多普勒相移)和在特定期间内所采样到的GPS信号两者乘积的积分中获取。
在GPS接收器定位后的追踪模式中,利用本发明的可变长度快速傅立叶变换系统的快速傅立叶变换操作,可以持续追踪这些卫星的初始状况,并对时域相关结果进行多普勒频谱分析,从而改变相关值以补偿多普勒移位误差。同样的,快速傅立叶转换操作也有助于持续追踪当地载波信号的较高多普勒频率包含的信息。
在GPS系统的应用中,本发明的可变长度的快速傅立叶转换系统可以用软件或硬件来弹性设置所需的可变长度,而同时系统中的所有产出量(Throughputs)可以维持不变或甚至是大幅提升。与现有快速傅立叶转换结构相比,本发明的可变长度快速傅立叶转换系统同时兼顾了硬件执行效率、硬件利用率并增强性能。
如图6、图7A和图7B所示,图6是依据本发明的第五实施例的可变长度的快速傅立叶转换系统6,其适用于GPS接收系统。在GPS接收系统的后快速傅立叶转换程序(Post-FFT process)中,获取模式和追踪模式常分别需要使用快速傅立叶转换系统来执行不同的快速傅立叶转换操作。
当在追踪模式中追踪GPS信号时,可以获得大概的编码相位且中心多普勒偏移相对较小。后相关快速傅立叶转换(Post correlation FFT)操作可以用来获取残余的多普勒频率。在追踪模式中,对频率分辨率的要求非常高,但编码相位的数量和多普勒结合(即所谓的“假设值”)却不是很大。在追踪模式时,如图6和图7A所示,具有时序多工的256点快速傅立叶转换系统6可用于处理64个假设值。如图6所示,具有可变数据长度的256点快速傅立叶转换系统6具有单径延迟反馈结构,单径延迟反馈结构是由8个串接的蝴蝶运算级60组成,具有多个反馈缓存器64(从128点至1点)以存储数据。
请进一步参阅图7A,显示一种GPS接收系统8的方框图,其中GPS接收系统8在追踪模式下使用本发明的可变长度的快速傅立叶转换系统6。在此架构下,快速傅立叶转换系统6包括两个可以利用的存储器,其中之一为第一存储器642,具有‘H’(如H=64)假设值或阶层,每个假设值具有‘P’(如P=256)点,且每一点具有‘N’比特,其中‘N/2’比特用于数据的实数部分,而另一半用于数据的虚数部分;另一个为第二存储器646,具有64个假设值或阶层,每一假设值具有‘P’(如P=256)点,且每一点具有‘N/2’比特用于实数部分。快速傅立叶转换系统6在追踪模式下的计算时间可以依据下列数学式(2)取得:
64hypotheses*256point*Tf=16384*Tf             (2)
其中‘Tf’为快速傅立叶转换系统6的频率周期。
第一存储器642可用于存储所有的64个假设值,以执行快速傅立叶转换系统6的下一个快速傅立叶转换操作,且前述假设值的数据类型为复数值(complexvalue)。事实上,每一取样的GPS信号均具有同相分量(In-phase),如复数值‘I+jQ’中的实数部分‘I’,而‘Q’(Quadrature-phase,即正交相位分量)则为虚数部分,用以代表相位和振幅。第一存储器642的一路数据输入是来自相关器802产生的相干积分(Coherent integration)结果,将收到的GPS信号的相关数据从时域相关区域80转换至频域相关区域82。在计算出第一存储器642的振幅之后,在第二存储器646中聚集非相干积分(Incoherent integration)结果,用于非相干积分积聚。因此,利用本发明的架构能准确地追踪到GPS信号的编码相位和多普勒频率。
请进一步参阅图7B,显示GPS接收系统8的另一方框图,其中GPS接收系统8在获取模式下使用本发明的可变长度的快速傅立叶转换系统6。当要在没有任何数据帮助下取到GPS信号时,因为GPS信号的编码相位和多普勒频率皆是未知,此时快速编码相位和多普勒频率扫描搜索就极为需要,特别是针对微弱的信号。
在此获取模式下,需要调整256点快速傅立叶转换系统6、第一存储器642和第二存储器646的使用状态,因为需要2046个假设值存在来搜索所有的编码相位。首先粗略搜索多普勒频率,使用16点快速傅立叶转换操作即已足够。利用图4或图5所示的分割开关418、518及模式开关48,能将256点快速傅立叶转换系统6分割成多个或两个‘p’点(如p=16)的单径延迟反馈型及/或内存型快速傅立叶转换子系统。两个分割的16点单径延迟反馈型及/或内存型快速傅立叶转换子系统可以同时操作,以确保有足够的产出量并提高硬件利用率。每一分割的16点快速傅立叶转换子系统针对1023个假设值的运算是采用时序多工的方式进行,因此第一存储器642可用于‘h’(例如h=2046)假设值或阶层,且每一假设值具有‘p’(如p=16)点,每一点具有‘n’个比特,以针对复数值的数据类型。第二存储器646也被转换成为2046个假设值。为了降低信噪比(SNR),将第一存储器642中的数据位数减半,较少的正交相位不会对输出的信噪比造成很大危害,因此在追踪模式下,可用此种方式共享其内存。
基于上文所述,在追踪或获取模式下,利用不同的设置即可共享同一内存(因为H*P*N=h*p*n)。在追踪模式下,两个分割16点快速傅立叶转换子系统的计算时间可以从下列数学式(3)获取:
2046hypotheses*16point*Tf/2=16368*Tf                 (3)
其中,可以利用两个16点的快速傅立叶转换子系统分割计算时间,从而在不同模式下仍能保持相同的产出量。
在获取模式或追踪模式下,计算能力应分别着重在不同层面上,如在追踪模式下,需要有限数量的假设值和高频解析,而在获取模式下,则需要快速编码相位扫描和粗略多普勒频率搜索。
此外,如图8所示,本发明提供一种执行可变长度快速傅立叶转换系统的方法,且可变长度快速傅立叶转换系统包括多个串接的蝴蝶运算级,其中每一蝴蝶运算级可以是基2或基22或基23的蝴蝶运算级。请配合参考图3所示的可变长度的快速傅立叶转换系统3,方法包含以下步骤:
步骤800,基于不同数据长度的快速傅立叶转换运算的需要,选定其中一个蝴蝶运算级(如基23蝴蝶运算级30)进行分割并产生旁路信号;
步骤810,利用旁路信号的不同电平选择性切换分割开关(Divide switch),以分割同一蝴蝶运算级或两个串接的蝴蝶运算级的两相邻处理单元之间的数据连接,并将位于分割开关之前的两处理单元的其中一个所输出的数据输出至分割开关之后的后续处理单元,以执行第一数据长度的快速傅立叶转换操作,或者将数据跳过位于分割开关之前的处理单元而直接输入至分割开关后方的后续处理单元,以执行第二数据长度的快速傅立叶转换操作,其中第二数据长度要短于第一数据长度;
步骤820,利用旁路信号更改分割开关(如第二阶蝴蝶处理单元34)后方的其中一个处理单元的逻辑门控制单元的输出信号的极性;
步骤830,利用逻辑门控制单元的更改过的输出信号,选择性的切换处理单元的多路复用器,以决定将两个不同系数(1,-j)中的哪一个系数输出至乘法器,将第二阶蝴蝶处理单元调整成第一阶蝴蝶处理单元或者第二阶蝴蝶处理单元;
步骤840,利用乘法器将处理单元的输出系数与分割开关输出的数据相乘以取得轻微旋转因子乘积;
步骤850,利用旁路信号更改其余处理单元(如第三阶蝴蝶处理单元36)的逻辑门控制单元的两个输出信号;
步骤860,利用逻辑门控制单元的更改过的输出信号,选择性的切换其余处理单元的多路复用器,以决定将四个不同系数(1,-j,
Figure A20081010888700201
)中的哪一个系数输出至乘法器,进而将第三阶蝴蝶处理单元调整为第一阶蝴蝶处理单元或第二阶蝴蝶处理单元或第三阶蝴蝶处理单元;以及
步骤870,利用乘法器将其余处理单元的输出系数与分割开关输出的数据相乘以取得轻微旋转因子乘积。
在其它实施例中,如果步骤800中已选定分割基2或基22或基23的蝴蝶运算级,则仅执行步骤800~840。如果选定基23的蝴蝶运算级来分割出基2的蝴蝶处理单元,则仅需执行步骤800、步骤810和步骤850~870。
不同于前述实施例之处在于,其它实施例的方法还包含下列步骤:
依据不同数据长度的需要,利用模式开关产生控制信号和旁路信号以执行多个不同的快速傅立叶转换操作模式;以及
利用控制信号的不同电平选择性切换至少一个多路复用器,以将两个旋转因子中的一个输出至两相邻蝴蝶运算级之间的乘法器,以产生旋转因子乘积,其中在全球导航卫星系统接收器中,不同快速傅立叶转换操作模式包含获取模式和追踪模式。
综上所述,依据本发明的可变长度的快速傅立叶转换系统及其执行方法,可同时适用于全球导航卫星系统信号获取和追踪模式,且能够利用较少数量的蝴蝶运算级、较小复杂度的乘法器及较节省的操作时间来提升硬件的利用率和系统的产出量,从而在可变数据长度方面,取得比现有快速傅立叶转换系统更大的使用弹性。
所属技术领域的技术人员可轻易完成的均等改变或润饰均属于本发明所主张的范围,本发明的权利范围应以权利要求书所限定的范围为准。

Claims (19)

1.一种可变长度的快速傅立叶转换系统,包含:
至少一个串接的蝴蝶运算级,其中每一蝴蝶运算级包含至少一个处理单元;以及
至少一个分割开关,根据旁路信号分割该至少一个处理单元或该至少一个蝴蝶运算级之间的数据连接,以执行第一数据长度的快速傅立叶转换或第二数据长度的快速傅立叶转换,其中该第二数据长度短于该第一数据长度。
2.如权利要求1所述的可变长度的快速傅立叶转换系统,其特征在于,该至少一个蝴蝶运算级可为基2蝴蝶运算级或基22蝴蝶运算级或基23蝴蝶运算级其中的任何一种,其中该基2蝴蝶运算级包含第一阶蝴蝶处理单元,该基22蝴蝶运算级包含第一阶蝴蝶处理单元和耦合于该第一阶蝴蝶处理单元的第二阶蝴蝶处理单元,该基23蝴蝶运算级包含第一阶蝴蝶处理单元、耦合于该第一阶蝴蝶处理单元的第二阶蝴蝶处理单元以及耦合于该第二阶蝴蝶处理单元的第三阶蝴蝶处理单元。
3.如权利要求2所述的可变长度的快速傅立叶转换系统,其特征在于,该分割开关设置于其中一个蝴蝶运算级的两相邻处理单元之间的数据传输中。
4.如权利要求3所述的可变长度的快速傅立叶转换系统,其特征在于,该分割开关分割该至少一个处理单元的一部分成为独立的基2蝴蝶运算级或独立的基22蝴蝶运算级,且该基2蝴蝶运算级或该基22蝴蝶运算级执行该第二数据长度的快速傅立叶转换。
5.如权利要求4所述的可变长度的快速傅立叶转换系统,其特征在于,该每一第三阶蝴蝶处理单元包含第一系数处置器,且该第一系数处置器由逻辑门控制单元、多路复用器及乘法器构成。
6.如权利要求5所述的可变长度的快速傅立叶转换系统,其特征在于,该第一系数处置器的逻辑门控制单元具有两个信号输出,且可基于不同数据长度的需要,利用该旁路信号更改该两个信号输出,以及该第一系数处置器的多路复用器依据该逻辑门控制单元的两个更改过的信号输出,作选择性的切换,以决定将四个不同系数(1,-j,
Figure A2008101088870002C1
Figure A2008101088870002C2
)中的哪一个作为输出系数输出至该乘法器,从而将该第三阶蝴蝶处理单元调整为第一阶蝴蝶处理单元或第二阶蝴蝶处理单元或者第三阶蝴蝶处理单元,且该第一系数处置器的乘法器用于将该分割开关输出的数据与该输出系数相乘以产生轻微旋转因子乘积。
7.如权利要求6所述的可变长度的快速傅立叶转换系统,其特征在于,该每一第二阶蝴蝶处理单元具有第二系数处置器,且该第二系数处置器由逻辑门控制单元、多路复用器及乘法器构成。
8.如权利要求7所述的可变长度的快速傅立叶转换系统,其特征在于,该第二系数处置器的逻辑门控制单元具有信号输出,且可基于不同数据长度的需要,利用该旁路信号更改该信号输出,且该第二系数处置器的多路复用器依据该第二系数处置器的逻辑门控制单元的更改过的信号输出,作选择性的切换以决定将两个不同系数(1,-j)中的哪一个作为输出系数输出至该乘法器,以将该第二阶蝴蝶处理单元调整为第一阶蝴蝶处理单元或第二阶蝴蝶处理单元,该第二系数处置器的乘法器将该分割开关输出的数据与该输出系数相乘以产生轻微旋转因子乘积。
9.如权利要求8所述的可变长度的快速傅立叶转换系统,其特征在于,依据该旁路信号的不同电平可选择性的切换该分割开关,以将位于该分割开关之前的处理单元的输出数据输出至位于该分割开关之后的后续处理单元,或者将输入数据跳过位于该分割开关之前的该处理单元而直接输入至位于该分割开关之后的该后续处理单元。
10.如权利要求1所述的可变长度的快速傅立叶转换系统,其特征在于,进一步包含:
模式开关,依据不同数据长度的需要;产生该旁路信号和控制信号以执行多个不同快速傅立叶转换操作模式;以及
至少一个多路复用器,依据该模式开关的该控制信号的不同电平作选择性的切换,以将两个不同旋转因子中的其中一个输出至设置于两个相邻蝴蝶运算级之间的对应乘法器,进而产生旋转因子乘积。
11.如权利要求10所述的可变长度的快速傅立叶转换系统,其特征在于,该多个不同的快速傅立叶转换操作模式包含全球导航卫星系统接收器中的获取模式和追踪模式。
12.一种执行可变长度快速傅立叶转换系统的方法,该可变长度的快速傅立叶转换系统具有至少一个串接的蝴蝶运算级,其中每一蝴蝶运算级包含至少一个处理单元,该方法包含:
基于不同数据长度快速傅立叶转换操作的需要,产生旁路信号;以及
依据该旁路信号,分割该至少一个处理单元或该至少一个蝴蝶运算级之间的数据连接,以执行第一数据长度的快速傅立叶转换操作或第二数据长度的快速傅立叶转换操作,其中该第二数据长度短于该第一数据长度。
13.如权利要求12所述的执行可变长度快速傅立叶转换系统的方法,其特征在于,进一步包含:
选择基2蝴蝶运算级或基22蝴蝶运算级或基23蝴蝶运算级的至少一种蝴蝶运算级来进行分割,其中该基2蝴蝶运算级包含第一阶蝴蝶处理单元,该基22蝴蝶运算级包含第一阶蝴蝶处理单元和耦合于该第一阶蝴蝶处理单元的第二阶蝴蝶处理单元,以及该基23蝴蝶运算级包含第一阶蝴蝶处理单元、耦合于该第一阶蝴蝶处理单元的第二阶蝴蝶处理单元以及耦合于该第二阶蝴蝶处理单元的第三阶蝴蝶处理单元。
14.如权利要求13所述的执行可变长度快速傅立叶转换系统的方法,其特征在于,进一步包含:利用分割开关将该至少一个处理单元的一部分分割成独立的基2蝴蝶运算级或独立的基22蝴蝶运算级,其中该基2蝴蝶运算级或该基22蝴蝶运算级执行该第二数据长度的快速傅立叶转换操作。
15.如权利要求14所述的执行可变长度快速傅立叶转换系统的方法,其特征在于,其中该每一第三阶蝴蝶处理单元包含第一系数处置器,且该第一系数处置器由逻辑门控制单元、多路复用器及乘法器构成,该方法还包含以下步骤:
基于不同数据长度的需要,利用该旁路信号更正该第一系数处置器的逻辑门控制单元的两个信号输出;
依据该第一系数处置器的逻辑门控制单元的更正过的两个信号输出,选择性地切换该第一系数处置器的多路复用器,以决定将四个不同系数(1,-j,
Figure A2008101088870004C1
Figure A2008101088870004C2
)中的哪一个作为输出系数输出至该第一系数处置器的乘法器,以将该第三阶蝴蝶处理单元调整为第一阶蝴蝶处理单元或第二阶蝴蝶处理单元或者第三阶蝴蝶处理单元;以及
利用该第一系数处置器的乘法器将该输出系数和该分割开关输出的数据相乘以取得轻微旋转因子乘积。
16.如权利要求15所述的执行可变长度快速傅立叶转换系统的方法,其特征在于,该每一第二阶蝴蝶处理单元具有第二系数处置器,且该第二系数处置器由逻辑门控制单元、多路复用器及乘法器构成,该方法还包含步骤:
基于不同数据长度变化的需要,利用该旁路信号更正该第二系数处置器的逻辑门控制单元的信号输出;
依据该第二系数处置器的逻辑门控制单元的更正过的信号输出,选择性地切换该第二系数处置器的多路复用器,以决定将两个不同系数(1,-j)中的哪一个作为输出系数输出至该第二系数处置器的乘法器,以将该第二阶蝴蝶处理单元调整为第一阶蝴蝶处理单元或第二阶蝴蝶处理单元;以及
利用该第二系数处置器的乘法器将该输出系数和该分割开关输出的数据相乘以取得轻微旋转因子乘积。
17.如权利要求16所述的执行可变长度快速傅立叶转换系统的方法,其特征在于,进一步包括以下步骤:利用该旁路信号的不同电平选择性的切换该分割开关,以将位于该分割开关之前的处理单元的输出数据输出至位于该分割开关之后的后续处理单元,或者将输入数据跳过位于该分割开关之前的该处理单元而直接输入至位于该分割开关之后的该后续处理单元。
18.如权利要求12所述的执行可变长度快速傅立叶转换系统的方法,其特征在于,进一步包含以下步骤:
依据不同数据长度的需要,产生控制信号以执行多个不同的快速傅立叶转换操作模式;以及
利用该控制信号的不同电平选择性切换至少一个多路复用器,以将两个不同旋转因子中的其中一个输出至设置于两相邻蝴蝶运算级之间的对应乘法器,从而产生旋转因子乘积。
19.如权利要求18所述的执行可变长度快速傅立叶转换系统的方法,其特征在于,其中该多个不同快速傅立叶转换操作模式包含全球导航卫星系统接收器的获取模式和追踪模式。
CN2008101088870A 2007-07-06 2008-05-28 可变长度的快速傅立叶转换系统及其执行方法 Active CN101340414B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US94841407P 2007-07-06 2007-07-06
US60/948,414 2007-07-06
US11/853,537 US8275820B2 (en) 2007-07-06 2007-09-11 Variable length FFT system and method
US11/853,537 2007-09-11

Publications (2)

Publication Number Publication Date
CN101340414A true CN101340414A (zh) 2009-01-07
CN101340414B CN101340414B (zh) 2011-08-24

Family

ID=40214369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101088870A Active CN101340414B (zh) 2007-07-06 2008-05-28 可变长度的快速傅立叶转换系统及其执行方法

Country Status (3)

Country Link
US (1) US8275820B2 (zh)
CN (1) CN101340414B (zh)
TW (1) TWI355594B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004720A (zh) * 2010-11-09 2011-04-06 无锡中星微电子有限公司 可变长快速傅立叶变换电路及实现方法
CN102129419A (zh) * 2011-03-04 2011-07-20 中山大学 基于快速傅立叶变换的处理器
CN102707141A (zh) * 2010-09-28 2012-10-03 特克特朗尼克公司 多域测试和测量仪器及方法
CN103870437A (zh) * 2012-12-07 2014-06-18 新唐科技股份有限公司 数字信号处理装置及其处理方法
CN105445759A (zh) * 2015-11-09 2016-03-30 湖南中森通信科技有限公司 一种导航基带抗干扰多系统复用方法
CN108154473A (zh) * 2016-12-06 2018-06-12 三星电子株式会社 用于处理图像的方法和装置
CN114168192A (zh) * 2020-09-10 2022-03-11 尼奥耐克索斯有限私人贸易公司 一种数据位数转换电路及方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070299903A1 (en) * 2006-06-27 2007-12-27 Nokia Corporation Optimized DFT implementation
US8356064B1 (en) * 2006-11-07 2013-01-15 Marvell International Ltd. Discrete Fourier transform calculation method and apparatus
US9042479B2 (en) * 2008-10-16 2015-05-26 Qualcomm Incorporated Method and apparatus for avoiding interference between coexisting wireless systems
JP5353396B2 (ja) 2009-04-10 2013-11-27 ソニー株式会社 通信装置、信号処理方法、信号処理装置、および移動体
KR20120072226A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 고속 퓨리에 변환기
WO2014013726A1 (ja) * 2012-07-18 2014-01-23 日本電気株式会社 Fft回路
GB2515793A (en) * 2013-07-04 2015-01-07 Aptcore Ltd Signal processing apparatus
TWI506457B (zh) * 2014-09-26 2015-11-01 Univ Nat Chiao Tung 折疊式蝶形模組、管線式快速傅利葉轉換處理器及控制方法
GB2545210B (en) * 2015-12-09 2020-07-29 Imagination Tech Ltd Configurable FFT architecture
US20200142670A1 (en) * 2018-05-29 2020-05-07 Marwan A. Jaber Radix-23 Fast Fourier Transform for an Embedded Digital Signal Processor
US10601459B1 (en) 2018-11-02 2020-03-24 Cisco Technology, Inc. Efficient handling of clock offset in spread spectrum decoders
US11934482B2 (en) 2019-03-11 2024-03-19 Untether Ai Corporation Computational memory
US11256503B2 (en) * 2019-03-11 2022-02-22 Untether Ai Corporation Computational memory
US11342944B2 (en) 2019-09-23 2022-05-24 Untether Ai Corporation Computational memory with zero disable and error detection
US11468002B2 (en) 2020-02-28 2022-10-11 Untether Ai Corporation Computational memory with cooperation among rows of processing elements and memory thereof
CN117389946B (zh) * 2023-11-09 2024-05-28 合肥灿芯科技有限公司 一种可动态扩展点数的fft实现结构

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163017A (en) 1990-03-23 1992-11-10 Texas Instruments Incorporated Pipelined Fast Fourier Transform (FFT) architecture
JPH0668123A (ja) 1992-05-22 1994-03-11 Nec Corp 信号処理回路
US6061705A (en) * 1998-01-21 2000-05-09 Telefonaktiebolaget Lm Ericsson Power and area efficient fast fourier transform processor
US6931055B1 (en) 2000-04-18 2005-08-16 Sirf Technology, Inc. Signal detector employing a doppler phase correction system
JP4022546B2 (ja) * 2002-06-27 2007-12-19 サムスン エレクトロニクス カンパニー リミテッド 高速フーリエ変換を用いた混合−基数方式の変調装置
GB2391966B (en) 2002-08-15 2005-08-31 Zarlink Semiconductor Ltd A method and system for performing a fast-fourier transform
TWI281619B (en) 2002-12-20 2007-05-21 Realtek Semiconductor Corp Data processing structure and method for fast Fourier transformation/inverse fast Fourier transformation
US7164740B2 (en) 2003-11-21 2007-01-16 Interdigital Technology Corporation Wireless communication apparatus using fast fourier transforms to create, optimize and incorporate a beam space antenna array in an orthogonal frequency division multiplexing receiver
TW200828044A (en) * 2006-12-21 2008-07-01 Univ Nat Chiao Tung Pipeline structure reconfigurable mixed-radix Fast Fourier Transform

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102707141A (zh) * 2010-09-28 2012-10-03 特克特朗尼克公司 多域测试和测量仪器及方法
CN102004720A (zh) * 2010-11-09 2011-04-06 无锡中星微电子有限公司 可变长快速傅立叶变换电路及实现方法
CN102004720B (zh) * 2010-11-09 2013-04-03 无锡中星微电子有限公司 可变长快速傅立叶变换电路及实现方法
CN102129419A (zh) * 2011-03-04 2011-07-20 中山大学 基于快速傅立叶变换的处理器
CN102129419B (zh) * 2011-03-04 2016-02-03 中山大学 基于快速傅立叶变换的处理器
CN103870437A (zh) * 2012-12-07 2014-06-18 新唐科技股份有限公司 数字信号处理装置及其处理方法
CN105445759A (zh) * 2015-11-09 2016-03-30 湖南中森通信科技有限公司 一种导航基带抗干扰多系统复用方法
CN108154473A (zh) * 2016-12-06 2018-06-12 三星电子株式会社 用于处理图像的方法和装置
CN114168192A (zh) * 2020-09-10 2022-03-11 尼奥耐克索斯有限私人贸易公司 一种数据位数转换电路及方法

Also Published As

Publication number Publication date
US8275820B2 (en) 2012-09-25
TWI355594B (en) 2012-01-01
CN101340414B (zh) 2011-08-24
US20090013021A1 (en) 2009-01-08
TW200903273A (en) 2009-01-16

Similar Documents

Publication Publication Date Title
CN101340414B (zh) 可变长度的快速傅立叶转换系统及其执行方法
US20030041083A1 (en) Method and apparatus for high speed calculation of non-linear functions and networks using non-linear function calculations for digital signal processing
CN101553808A (zh) 流水线fft架构和方法
CN101836202B (zh) 快速傅立叶变换/反快速傅立叶变换运算核
CN103278829A (zh) 一种基于gpu的并行导航卫星信号跟踪方法及其系统
AU2004297978A1 (en) FFT architecture and method
CN112231626B (zh) 一种fft处理器
CN101639529B (zh) 一种兼容gps和北斗2导航系统的卫星信号捕获方法
US6356926B1 (en) Device and method for calculating FFT
CN101154216B (zh) 用于ofdm载波的调制解调的快速傅立叶变换电路及变换方法
CN101933012B (zh) 用于dft演算的器件和方法
Lo et al. Design of an efficient FFT processor for DAB system
CN111679123B (zh) 适用于多模调制体制的符号边沿与频率估计方法与系统
Abbas et al. An FPGA implementation and performance analysis between Radix-2 and Radix-4 of 4096 point FFT
WO2005062480A1 (en) Determination of correlation in the frequency domain
Leclère et al. FFT Splitting for Improved FPGA‐Based Acquisition of GNSS Signals
WO2006103486A1 (en) Method and device for correlation detection in spread spectrum transmission systems by fast fourier transformation
Ferizi et al. Design and implementation of a fixed-point radix-4 FFT optimized for local positioning in wireless sensor networks
Alaqeeli Global positioning system signal acquisition and tracking using field programmable gate arrays
Bahmani et al. Optimisation of doppler search space to improve acquisition speed of GPS signals
Ding et al. Improved high-sensitivity partial-matched filter with FFT-based acquisition algorithm for BDS-2 and BDS-3 signals with secondary code modulation
Kumar et al. Implementation of Area Efficient Pipelined R2 2 SDF FFT Architecture
CN112835073A (zh) 一种用于卫星信号捕获的fft处理器
CN102035567B (zh) 可变长度数字扩频信号快速相关处理方法
Alaqeeli et al. Hardware implementation for fast convolution with a pn code using field programmable gate array

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