專利名稱:可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng)及其執(zhí)行方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng)及其執(zhí)行方法,特別是
關(guān)于一種適用于全球?qū)Ш叫l(wèi)星系統(tǒng)(Global Navigation Satellite System, GNSS ) 的信號獲取和追蹤的可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)及其執(zhí)行方法。
背景技術(shù):
眾所周知,用于多載波調(diào)制的正交頻分復(fù)用(Orthogonal Frequency Division Multiplexing, OFDM):技術(shù)已經(jīng)廣泛應(yīng)用在各種信號處理或通信裝置上,例如包 括無線發(fā)射器/接收器、數(shù)字?jǐn)?shù)據(jù)廣播裝置以及各類型的全球?qū)Ш叫l(wèi)星系統(tǒng)
(Global Navigation Satellite System, GNSS )等。較廣為人知的全球?qū)Ш叫l(wèi)星系 統(tǒng)包括全球定位系統(tǒng)(Global Positioning System, GPS )、全{求壽九道導(dǎo)航衛(wèi)星系統(tǒng)
(Global Orbiting Navigation Satellite System, GLONASS )、未來歐洲伽利略系統(tǒng) (Future European Galileo System),或是類似的系統(tǒng)等等,其中因?yàn)镚PS應(yīng)用較 為廣泛,因此以下將以GPS作為全J求導(dǎo)航衛(wèi)星系統(tǒng)的范例加以i兌明。
為滿足以正交頻分復(fù)用技術(shù)為主的各種現(xiàn)有通信系統(tǒng)的需要,傳統(tǒng)的可變 長度(Variable Length)的快速傅立葉轉(zhuǎn)換(Fast Fourier Transform, FFT)處理器提 出以高速緩沖存儲器(Cache-memory)架構(gòu)來執(zhí)4亍才喿作??勺冮L度的快速傅立葉轉(zhuǎn) 換處理器主要包括控制邏輯單元(Control Logic Unit, CLU),用于決定快速傅 立葉轉(zhuǎn)換操作及數(shù)據(jù)點(diǎn)數(shù)的數(shù)量/長度;地址產(chǎn)生器(Address Generator, AG), 用于產(chǎn)生高速緩沖存儲器(如隨機(jī)存儲器RAM)和系數(shù)只讀存儲器(ROM)所 需要的地址;以及蝴蟲萊處理單元(Processing Element, PE )或處理級(Processing Stage),依據(jù)地址對隨才;i^儲器中的數(shù)據(jù)及只讀存儲器所輸出的系數(shù)數(shù)據(jù)執(zhí)行復(fù) 數(shù)運(yùn)算(Complex Operation)??勺冮L度的快速傅立葉轉(zhuǎn)換處理器利用連接于處理 單元和主存儲器之間的高速緩沖存儲器來減少對蝴蝶運(yùn)算級(Butterfly stage)的 主存儲器的存取次數(shù)。 一些使用單徑延遲反饋(Single-path Delay Feedback, SDF) 架構(gòu)的可變長度快速傅立葉轉(zhuǎn)換處理器可以根據(jù)規(guī)格上的需求預(yù)先設(shè)定,來指 定不同長度的輸入數(shù)據(jù)點(diǎn)數(shù)(如1K、 4K或8K),以作為執(zhí)行快速傅立葉轉(zhuǎn)換的 大小。事實(shí)上,在信號處理的過程中,輸入的數(shù)據(jù)點(diǎn)數(shù)不斷地持續(xù)進(jìn)入快速傅
立葉轉(zhuǎn)換處理器中, 一旦所累積的輸入數(shù)據(jù)點(diǎn)數(shù)達(dá)到一定的數(shù)據(jù)長度,如IK (1024比特),則整個快速傅立葉轉(zhuǎn)換處理器就會對各個輸入的數(shù)據(jù)點(diǎn)數(shù)執(zhí)行快
速傅立葉轉(zhuǎn)換:操作,而完全不考慮進(jìn)來的特定數(shù)據(jù)長度有多長,即使是處理具
有較短長度的數(shù)據(jù)點(diǎn)數(shù),還是需要使用所有的蝴蝶運(yùn)算級,而每一蝴蝶運(yùn)算級 卻都設(shè)有大量的乘法元件、加法元件及暫存元件,如此可能會導(dǎo)致較高的硬件 復(fù)雜度和成本上的浪費(fèi)。
發(fā)明內(nèi)容
為解決前述問題,本發(fā)明主要目的之一在于提供一種可變長度的快速傅立 葉轉(zhuǎn)換系統(tǒng)及其執(zhí)行方法,其適用于全球?qū)JI星系統(tǒng)的信號獲取及追蹤,并
能提高硬件的利用率及增加數(shù)據(jù)的產(chǎn)出量(Throughputs)。
為獲得前述發(fā)明目的,本發(fā)明揭示一種可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng),包 含至少一個串接的蝴蝶運(yùn)算級,其中每一蝴蝶運(yùn)算級包含至少一個處理單元; 以及至少一個分割開關(guān),根據(jù)旁路信號分割處理單元或蝴i萊運(yùn)算級之間的數(shù)據(jù) 連接,以執(zhí)行第一數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換或第二數(shù)據(jù)長度的快速傅立葉轉(zhuǎn) 換,其中第二數(shù)據(jù)長度短于第一數(shù)據(jù)長度。
本發(fā)明還提供一種執(zhí)行可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)的方法,可變長度的 快速傅立葉轉(zhuǎn)換系統(tǒng)具有至少一個串接的蝴蝶運(yùn)算級,其中每一蝴蝶運(yùn)算級包 含至少一個處理單元,此方法包含以下步驟基于不同數(shù)據(jù)長度快速傅立葉轉(zhuǎn) 換4栗作的需要,產(chǎn)生旁路信號;以及依據(jù)旁路信號,分割處理單元或蝴蝶運(yùn)算 級之間的數(shù)據(jù)連接,以執(zhí)行第一數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換操作或第二數(shù)據(jù)長 度的快速傅立葉轉(zhuǎn)換操作,其中第二數(shù)據(jù)長度短于第一數(shù)據(jù)長度。
與現(xiàn)有技術(shù)相比較,本發(fā)明的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng)及其執(zhí)行方 法的有益效果包括利用較少數(shù)量的蝴蝶運(yùn)算級、較小復(fù)雜度的乘法器及較節(jié) 省的操作時間來提升硬件的利用率和系統(tǒng)的產(chǎn)出量,從而在可變數(shù)據(jù)長度方面, 取得比現(xiàn)有快速傅立葉轉(zhuǎn)換系統(tǒng)更大的使用彈性。
圖1顯示依據(jù)本發(fā)明第一實(shí)施例的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng)的電路 示意圖,此快速傅立葉轉(zhuǎn)換系統(tǒng)包含一個基23的蝴蝶運(yùn)算級。
圖2A顯示圖1的可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)的第一階蝴蝶處理單元的電
路示意圖。
圖2B顯示圖1的可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)的第二階蝴蝶處理單元的電 路示意圖。
圖2C顯示圖1所示可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)的第三階蝴蝶處理單元的 電路示意圖。
圖3顯示依據(jù)本發(fā)明第二實(shí)施例的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng)的電路 示意圖,其中此快速傅立葉轉(zhuǎn)換系統(tǒng)包含另 一基23的蝴蝶運(yùn)算級。
圖4顯示根據(jù)本發(fā)明第三實(shí)施例的可變長度256點(diǎn)快速傅立葉轉(zhuǎn)換系統(tǒng)的 電路示意圖,其中設(shè)置多個單徑延遲反饋型蝴蝶運(yùn)算級。
圖5顯示依據(jù)本發(fā)明第四實(shí)施例的另一可變長度256點(diǎn)快速傅立葉轉(zhuǎn)換系 統(tǒng)的電路示意圖,其中設(shè)有至少一個內(nèi)存型蝴蝶運(yùn)算級。
圖6顯示依據(jù)本發(fā)明第五實(shí)施例的可變長度的256點(diǎn)快速傅立葉轉(zhuǎn)換系統(tǒng) 的電路示意圖。
圖7A顯示將圖6的可變長度256點(diǎn)快速傅立葉轉(zhuǎn)換系統(tǒng)應(yīng)用于追蹤模式的 全J求定位系統(tǒng)的結(jié)構(gòu)示意圖。
圖7B是全球定位系統(tǒng)的結(jié)構(gòu)示意圖,其中可變長度的256點(diǎn)快速傅立葉轉(zhuǎn) 換系統(tǒng)被分割成多個快速傅立葉轉(zhuǎn)換子系統(tǒng)以用于獲和漠式。
圖8顯示依據(jù)本發(fā)明優(yōu)選實(shí)施例的執(zhí)行圖3所示的可變長度快速傅立葉轉(zhuǎn) 換系統(tǒng)的方法的流程圖。
具體實(shí)施例方式
在本說明書以及權(quán)利要求當(dāng)中使用了某些詞匯來指稱特定的元件,本領(lǐng)域 的技術(shù)人員應(yīng)可理解,硬件制造商可能會用不同的名詞來稱呼同一個元件,本 說明書及權(quán)利要求并不以名稱的差異作為區(qū)分元件的方式,而是以元件在功能 上的差異作為區(qū)分的準(zhǔn)則,在通篇說明書及權(quán)利要求書當(dāng)中所提及的"包含有" 是開放式的用語,故應(yīng)解釋成"包含有但不限定于",此外,"耦合"一詞在此包含 任何直接及間接的電氣連接手段,因此,若文中描述第一裝置耦合于第二裝置, 則代表第一裝置可以直接電氣連接于第二裝置,或通過其它裝置或連接手段間 接地電氣連接至第二裝置。
請先參閱圖1,揭示一種可變長度的基f(Radix-2S)快速傅立葉轉(zhuǎn)換(FFT)系 統(tǒng)2,其采用多個串接在一起的基2S單徑延遲反饋型(SDF)蝴蝶運(yùn)算級20,且每一蝴蝶運(yùn)算級20的硬件、最佳化的積分器及加法器的配置都非常類似。在串接 的基23蝴蝶運(yùn)算級20之間交錯設(shè)置若干乘法器28,其中各乘法器28將旋轉(zhuǎn)因 子(twiddle factor,如"W1 (n),,)與前一蝴蝶運(yùn)算級20所輸出的數(shù)據(jù)流相乘, 以產(chǎn)生乘積282。而后,乘積282被輸入至下一蝴蟲萊運(yùn)算級20 (如基23的蝴蝶 運(yùn)算級或基22的蝴蝶運(yùn)算級或基2的蝴蝶運(yùn)算級)。
每一個基23蝴蝶運(yùn)算級20可分解成第一階蝴蝶處理單元(Butterfly I或BFI) 22、耦合于第一階蝴蝶處理單元22的第二階蝴i萊處理單元(Butterfly II或BFII) 24,以及耦合于第二階蝴蝶處理單元24的第三階蝴蝶處理單元(Butterfly III或 BFIII)26,從而以平行操作方式,計(jì)算輸入數(shù)據(jù)長度/點(diǎn)的分割(Divisions)。基 于頻率抽取(Decimation-in-frequency, DIF )的分解,此可變長度的基23快速傅 立葉轉(zhuǎn)換系統(tǒng)2的串接蝴蝶運(yùn)算級20的所有處理單元22、 24及26分別依次構(gòu) 建一個含有不同字元容量(Word Capacity)的反饋緩存器201,如從N/2、N/4、N/8... 到1。
依據(jù)本發(fā)明的第一實(shí)施例,每一個基23蝴蝶運(yùn)算級20的處理單元22和24 都是以傳統(tǒng)的基22單徑延遲反饋型蝴蝶運(yùn)算結(jié)構(gòu)(包含BFI和BFII)為勤出而 建立的?;?3單徑延遲反饋型蝴蝶運(yùn)算結(jié)構(gòu)可以從下列數(shù)學(xué)式(1)推導(dǎo)出來
<formula>formula see original document page 9</formula>
其中"=(力f 2+m, = (1 -力f "2+4"皆為旋轉(zhuǎn)因子。H(kl, k2, k3, n4)為時
需要注意的是,數(shù)學(xué)式(1 )代表第三階蝴蝶處理單元(BFIII)26且其本身即 為一般的基22單徑延遲反饋型蝴蝶運(yùn)算結(jié)構(gòu)。因?yàn)榇淼诙⒌谌A蝴蝶處理 單元24、 26 ( BFII和BFIII)的另外兩個數(shù)學(xué)7>式都是源自第一階蝴蝶處理單元 22(BFI),因此第一階、第二階及第三階蝴蝶處理單元(BFI、 BFII和BFIII) 22、 24和26都具有相同的規(guī)則和4喿作方式。
請進(jìn)一步參閱圖1和圖2A,介紹了第一階蝴蝶處理單元(BFI) 22的電路
示意圖。如圖所示,利用同步計(jì)數(shù)器(未顯示)的控制信號'sO,的不同電平,可 控制多路復(fù)用器(MUX) 222切換至不同位置上,以將輸入數(shù)據(jù)直接存儲至反 饋緩存器201,或者分散輸入數(shù)據(jù)點(diǎn)數(shù)(divided-point)以分別執(zhí)行離散傅立葉 轉(zhuǎn)換(Discrete Fourier transform, DFT)(如數(shù)學(xué)式(1 )的操作)。
請進(jìn)一步參閱圖1和圖2B,介紹第二階蝴蝶處理單元(BFII) 24的電路示 意圖。就硬件設(shè)計(jì)而言,第二階蝴蝶處理單元(BFII) 24與第一階蝴蝶處理單 元(BFI)22的操作及結(jié)構(gòu)基本上是相類似的,但兩者不同之處在于,第二階蝴 蝶處理單元(BFII) 24具有系數(shù)處置器(Coefficient handler)244,其中系數(shù)處置 器244由換向器(Commutator)245、多路復(fù)用器249、乘法器248及邏輯門控制 單元(如與門246)所組成。第二階蝴蝶處理單元(BFII) 24由同步計(jì)數(shù)器的兩個 控制信號'tO,和'sl,控制,其中控制信號'sl,用于輸入與門246的一個llr入端,并 用于切換多路復(fù)用器(MUX) 242以執(zhí)行如同第一階蝴蝶處理單元22的操作。 另一控制信號'tO,的相位不同于控制信號'sl,,當(dāng)控制信號'tO,輸入至與門246的 反相輸入端后,可決定兩個不同系數(shù)(l, -j) 2483之中的哪一個系數(shù)與第一階 蝴蝶處理單元22的輸出結(jié)果相乘,并經(jīng)過換向器245和加/減4喿作的實(shí)凄t/虛數(shù) 交4臭(Real國imaginary swapping),以獲4尋輕孩t》走4爭因子乘積、(Trivial twiddle factor multiplication product)。
請參閱圖1和圖2C,第三階蝴蝶處理單元(BFIII)26的結(jié)構(gòu)除了增加了第 三級的蝴蝶4乘作之外,均與前述處理單元(BFI和BFII) 22、 24類似。不同于 第二階蝴蝶處理單元(BFII) 24之處在于,第三階蝴蝶處理單元26具有系數(shù)處 置器264,且系數(shù)處置器264由邏輯門控制單元265、 4對1多路復(fù)用器270及 乘法器272所組成,其中邏輯門控制單元265具有第一與門266和第二與門268。
處于不同時序的兩比特(two-bit)的控制信號'tl,和't2,決定四個不同旋轉(zhuǎn)因 子系數(shù)(l,-j, ,(w), —" (1+")2833中的哪一個系數(shù)用來執(zhí)行輕微旋轉(zhuǎn)因子乘積, 其中控制信號'tl,輸入至第一與門266的一個輸入端,另一控制信號't2,輸入至第 二與門268的一個輸入端。此外,旁^^空制產(chǎn)生的旁i 各信號'b2,輸入至第一與門 266的反相輸入端和第二與門268的反相輸入端中,以調(diào)整第一與門266和第二 與門268的兩輸出。例如,當(dāng)將兩比特控制信號'tl,和't2,設(shè)定為"00"時,才喿作系 數(shù)即為'T,,如同執(zhí)行第一階蝴蝶處理單元"BFI"。當(dāng)將兩比特控制信號'tl,和't2, 設(shè)定為"01"時,操作系數(shù)為"-j",如同執(zhí)行第二階蝴蝶處理單元"BFII"。當(dāng)將兩 比特控制信號'tr't2,設(shè)定為"10"或"ll"時,操作系數(shù)為"^(1—力"或"—"?(…)",如
同執(zhí)行第三階蝴蝶處理單元"BFin"??刂菩盘?s2,用于切換多路復(fù)用器262和一 些加法器/減法器。相反地,現(xiàn)有基23單徑延遲反饋型快速傅立葉轉(zhuǎn)換系統(tǒng)必須 先聚集到足夠的數(shù)據(jù)長度,且可變數(shù)據(jù)長度被限定為4或8的冪數(shù),之后才開 始處理所聚集到的數(shù)據(jù)。
為了打破4或8的冪數(shù)對可變數(shù)據(jù)長度的限制,本發(fā)明圖1所示的可變長 度的基23快速傅立葉轉(zhuǎn)換系統(tǒng)2是利用一個2對1多路復(fù)用器320作為分割開 關(guān),分割開關(guān)根據(jù)旁路控制(未顯示)產(chǎn)生的旁路信號(Bypassingsignal)的不同 電平,將至少一個蝴蝶運(yùn)算級20分割成多個具有不同數(shù)據(jù)長度快速傅立葉轉(zhuǎn)換 操作的快速傅立葉轉(zhuǎn)換子系統(tǒng),從而在可變數(shù)據(jù)的長度上,系統(tǒng)2可獲得比現(xiàn) 有基23單徑延遲反饋型快速傅立葉轉(zhuǎn)換系統(tǒng)更大的運(yùn)用彈性。利用多路復(fù)用器 320的配置和旁路信號的控制,每一個基23單徑延遲反饋型蝴蝶運(yùn)算級20可以 根據(jù)使用者所指定的較短數(shù)據(jù)長度(如分割數(shù)據(jù)長度=2, 4, 8…),分割成至少一 個基2蝴蝶運(yùn)算級或基22蝴蝶運(yùn)算級。通過這種方式,具有N長度的基2^夬速 傅立葉轉(zhuǎn)換系統(tǒng)2可以被分割成多個具有不同數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換子系 統(tǒng)。
如圖1所示的本發(fā)明第一實(shí)施例,2對1多路復(fù)用器320設(shè)置于處理單元 24 (BFII)和處理單元26 (BFIII)之間的數(shù)據(jù)傳輸中,可將其分割成多個具有 不同數(shù)據(jù)長度快速傅立葉轉(zhuǎn)換操作的蝴蝶運(yùn)算級。前述旁路控制(未顯示)可 以通過軟件或硬件實(shí)現(xiàn),并根據(jù)不同輸入數(shù)據(jù)長度的需要(例如,偵測不同長 度的輸入數(shù)據(jù)進(jìn)入可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)2的時間)來設(shè)定旁路信號'b2,, 以將多路復(fù)用器320切換至不同的位置(如1或0),允許第二階蝴蝶處理單元 24 (BFII)產(chǎn)生的數(shù)據(jù)通過多路復(fù)用器320或使輸入數(shù)據(jù)跳過第一、第二階蝴蟲萊 處理單元22、 24 (BFI及BFII)而直接進(jìn)入第三階蝴蝶處理單元26 ( BFIII )。
同時也利用旁路信號'b2,改變第一與門266和第二與門268的兩輸出端的豐命 出極性,以切換多路復(fù)用器270去決定輸出四個不同旋轉(zhuǎn)因子系數(shù)(l,-j, " (w), -^(""PSSS中的哪一個系數(shù)給乘法器272,使輸出系數(shù)與多路復(fù)用器320的輸 出數(shù)據(jù)相乘產(chǎn)生輕微旋轉(zhuǎn)因子乘積。
舉例來說,如果可變長度的基23快速傅立葉轉(zhuǎn)換系統(tǒng)2僅需執(zhí)行8點(diǎn)數(shù)據(jù) 長度的快速傅立葉轉(zhuǎn)換操作,會先將旁路信號'b2,設(shè)在指定的電平上,使輸入數(shù) 據(jù)跳過前兩個處理單元22和24 ( BFI和BFII ),而直4妻輸入后續(xù)的處理單元26 (BFIII),并調(diào)整第一與門266和第二與門268的^T出,^使后續(xù)處理單元26
(BFIII)僅使用旋轉(zhuǎn)因子系數(shù)"1"以形成單純的基2蝴蝶運(yùn)算級,而其作用如同 執(zhí)行基2的快速傅立葉轉(zhuǎn)換系統(tǒng)。因?yàn)榭勺償?shù)據(jù)長度可以根據(jù)所聚集到的不同 數(shù)據(jù)長度,再作更細(xì)微的分割,所以可大幅減少蝴蝶運(yùn)算級的使用數(shù)量、降低 多路復(fù)用器的復(fù)雜度,并節(jié)省才乘作時間。若考慮硬件成本、利用率和處理速度, 具有可分割基數(shù)的單徑延遲反饋型結(jié)構(gòu)的快速傅立葉轉(zhuǎn)換系統(tǒng)實(shí)為較好的選 擇。
在另 一應(yīng)用案例中,若需要在可變長度的基23快速傅立葉轉(zhuǎn)換系統(tǒng)2上執(zhí) 行8點(diǎn)數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換操作,可通過旁路控制更改旁路信號'b2,的電 平來切換多路復(fù)用器320,使多^各復(fù)用器320允許前一個處理單元24 ( BFII)產(chǎn) 生的數(shù)據(jù)通過并進(jìn)入后續(xù)的處理單元26 (BFIII),而處理單元26 (BFIII)會使 用四個旋轉(zhuǎn)系數(shù)(l,-j, ,(w), —" (1"))來進(jìn)行操作。
利用多路復(fù)用器320、旁路控制和邏輯門控制單元265,可選擇性地將每一 個基23或基22蝴蝶運(yùn)算級20分割出較小的單徑延遲反饋型蝴蝶運(yùn)算級(如同 基2的蝴蝶運(yùn)算級),且較小的單徑延遲反饋型蝴蝶運(yùn)算級執(zhí)行較短數(shù)據(jù)長度(下 降到2的冪數(shù))的操作。反觀現(xiàn)有基23或22的快速傅立葉轉(zhuǎn)換系統(tǒng),因?yàn)橄薅?數(shù)據(jù)長度(如4的冪數(shù)或8的冪數(shù)),所以無法進(jìn)一步分割成不同基數(shù)的子系統(tǒng) 來執(zhí)行不同輸入數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換操作。
最好的應(yīng)用方式是,可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng)2的輸入數(shù)據(jù)長度可 為8的冪數(shù),如8、 64、 128或256等,其中可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng)2 內(nèi)的每一個基本處理單元都可以是由至少一個基23的蝴蝶運(yùn)算結(jié)構(gòu)組成,只要 將其中任一基23的蝴蝶運(yùn)算結(jié)構(gòu)分割成多個不同基數(shù)的蝴蝶運(yùn)算級即可,如此 可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng)2的輸入數(shù)據(jù)長度的變化彈性將遠(yuǎn)超過前述現(xiàn) 有技術(shù)。
請進(jìn)一步參閱圖3,顯示依據(jù)本發(fā)明第二實(shí)施例的可變長度的基23快速傅 立葉轉(zhuǎn)換系統(tǒng)3,其具有多個串接的基23單徑延遲反饋型蝴蝶運(yùn)算級30,其中 每一個基23單徑延遲反饋型蝴蝶運(yùn)算級30進(jìn)一步可分解成第 一階蝴蝶處理單元 (如BFI) 32、耦合于第一階蝴蟲萊處理單元32的第二階蝴蝶處理單元(如BFII) 34,以及耦合于第二階蝴蝶處理單元34的第三階蝴蝶處理單元(如BFIII) 36, 從而以并行操作方式,執(zhí)行分割運(yùn)算。
不同于第一實(shí)施例之處在于第二實(shí)施例的前兩個處理單元32和34 (BFI 和BFII)之間的數(shù)據(jù)傳輸中設(shè)置有2對1多路復(fù)用器322,用于執(zhí)行不同數(shù)據(jù)長
度的快速傅立葉轉(zhuǎn)換操作。當(dāng)具有不同長度的輸入數(shù)據(jù)進(jìn)入可變長度的基23快
速傅立葉轉(zhuǎn)換系統(tǒng)3時,旁路控制(未顯示)會基于偵測到的進(jìn)入時間,以不 同的時序產(chǎn)生兩個旁路信號'bl,和'b2,。旁路信號'bl,將多路復(fù)用器322切換至 不同位置(如1或0),以允許前一個處理單元32 (BFI)產(chǎn)生的數(shù)據(jù)通過多路 復(fù)用器322或允許輸入數(shù)據(jù)跳過前一個處理單元32 ( BFI)而直接進(jìn)入下一個處 理單元34 ( BFII )。在另 一種狀態(tài)下,可將2對1多路復(fù)用器322的位置改設(shè)于 兩個串接的蝴蝶運(yùn)算級30的數(shù)據(jù)傳輸之間,以執(zhí)行多個不同數(shù)據(jù)長度的快速傅 立葉轉(zhuǎn)換,喿作。
第二階蝴蝶處理單元(BFII) 34具有系數(shù)處置器344,且系數(shù)處置器344 是由第一邏輯門控制單元346、 2對1多路復(fù)用器348及乘法器350所構(gòu)成。第 一邏輯門控制單元346實(shí)際為與門,其中控制信號'tO,輸入到與門346的一個輸 入端,而來自旁路控制的旁路信號'bl,輸入到與門346的反相輸入端。多路復(fù)用 器(MUX) 348根據(jù)與門346輸出的信號極性,決定兩個輸入旋轉(zhuǎn)系數(shù)(l,-j)中 的哪一個系數(shù)輸出至乘法器350,輸出系數(shù)用來與多路復(fù)用器322輸出的數(shù)據(jù)相 乘,以產(chǎn)生輕^U走轉(zhuǎn)因子乘積。
此外第三階蝴蝶處理單元(BFIII) 36具有系數(shù)處置器38,且系數(shù)處置器 38由第二邏輯門控制單元382、 4對1多路復(fù)用器384及乘法器386構(gòu)成。第二 邏輯門控制單元382具有第一與門3822和第二與門3824,其中控制信號'tl,用 于輸入至第一與門3822的一個輸入端,而另一控制信號't2,用于輸入至第二與 門3824的一個輸入端。此外,旁路控制產(chǎn)生的旁路信號'b2,用于輸入至第一與 門3822的反相輸入端和第二與門3824的反相輸入端,以更改第一與門3822的 輸出和第二與門3824的輸出。4對1多路復(fù)用器(MUX) 384會依據(jù)第一與門 3822和第二與門3824輸出的更改過的信號來進(jìn)行切換,以決定將四個輸入旋轉(zhuǎn) 系數(shù)(l,-j, y), —" (…))中的哪一個系數(shù)輸出至乘法器386,進(jìn)而產(chǎn)生輕微旋 轉(zhuǎn)因子乘積。
通過控制旁路控制輸出的兩旁路信號'bl'及'b2,的不同電平,可以調(diào)整處理 單元34 (BFII)的控制信號't0,和處理單元36 (BFIII)的兩控制信號'tl,及't2,, 使輸入數(shù)據(jù)跳過前一個處理單元32 (BFI),并使其余的蝴蝶運(yùn)算結(jié)構(gòu)(即后兩 個處理單元34、 36 (BFII和BFIII))變?yōu)榛?2蝴蝶運(yùn)算級(包含BFI和BFII ), 如同執(zhí)行基22的快速傅立葉轉(zhuǎn)換子系統(tǒng)的運(yùn)算功能。
舉例來說,若需要在可變長度的基23快速傅立葉轉(zhuǎn)換系統(tǒng)3的基23單徑延
遲反饋型蝴蝶運(yùn)算級30上執(zhí)行具有8點(diǎn)數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換操作,則可 將旁路信號'bl,設(shè)在特定電平來切換多路復(fù)用器322,以允許前一個處理單元32 (BFI)產(chǎn)生的數(shù)據(jù)進(jìn)入下一個處理單元34 (BFII)。若將旁路信號'bl,反相,則 可改變處理單元34 (BFII)的與門346的輸出極性,以切換多路復(fù)用器348依
序使用兩旋轉(zhuǎn)系數(shù)(l, -j)。其結(jié)果如同圖2B所示,處理單元34 (BFII)會執(zhí)行 第二階蝴蝶運(yùn)算操作。
在接下來的周期中,可利用旁路控制將旁^各信號'b2,設(shè)為特定電平,來更改 處理單元36 (BFin)的第一與門3822的輸出和第二與門3824的輸出,從而切 換4對1多路復(fù)用器384依序使用不同旋轉(zhuǎn)系數(shù)(l,-j, ,(w), -4("",進(jìn)而執(zhí) 行如同圖2C所示的第三階蝴蝶運(yùn)算操作。
相反的,若需要在可變長度的基23快速傅立葉轉(zhuǎn)換系統(tǒng)3的基23單徑延遲 反饋型蝴蝶運(yùn)算級30上執(zhí)行具有4點(diǎn)數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換操作,則可將 旁路信號'bl,改設(shè)在不同電平以切換多路復(fù)用器322,允許輸入數(shù)據(jù)跳過處理單 元32 ( BFI)直接進(jìn)入處理單元34 (BFII )。利用反相的旁路信號'M,,可切換 多路復(fù)用器348僅能使用旋轉(zhuǎn)系數(shù)'1'。其結(jié)果如同圖2A所示,即處理單元34 (BFII)執(zhí)行第一階蝴蝶運(yùn)算操作。
在接下來的周期中,可通過旁路控制將旁路信號'b2,設(shè)定為特定電平,以更 改處理單元36 (BFIII)的第一與門3822和第二與門3824的各^f言號^T出,以切 換多路復(fù)用器384僅能使用兩旋轉(zhuǎn)系數(shù)'l,或'-j,。這樣,處理單元36 ( BFIII)會 執(zhí)行如圖2B所示的第二階蝴蝶運(yùn)算操作。
如圖1和圖3所示,通過在可變長度的基23快速傅立葉轉(zhuǎn)換系統(tǒng)內(nèi)設(shè)置不 同的分離點(diǎn),可變長度基23快速傅立葉轉(zhuǎn)換系統(tǒng)2或3的基本蝴蝶運(yùn)算級將能 選擇執(zhí)行基23或基22或甚至是基2的數(shù)據(jù)長度的蝴蝶運(yùn)算級的功能。
在其它應(yīng)用方面,通過混合基23與基22或基2的多個蝴蝶運(yùn)算級來構(gòu)建可 變長度的快速傅立葉轉(zhuǎn)換系統(tǒng),能取得任何所需的數(shù)據(jù)長度。當(dāng)需要不同數(shù)據(jù) 長度的多個快速傅立葉轉(zhuǎn)換系統(tǒng)時,可調(diào)整到的最小數(shù)據(jù)長度的蝴蝶運(yùn)算級可 以是任何一個以2為基數(shù)的運(yùn)算單元。例如,具有64點(diǎn)數(shù)據(jù)長度的快速傅立葉 轉(zhuǎn)換系統(tǒng)可以分割出2/4/8/16/32點(diǎn)的快速傅立葉轉(zhuǎn)換子系統(tǒng),甚至是一個以23 為基數(shù)的運(yùn)算結(jié)構(gòu)。然而,如果現(xiàn)有單徑延遲反饋型快速傅立葉轉(zhuǎn)換結(jié)構(gòu)可能 要用到所有的長度因子,則其所有蝴蝶運(yùn)算級都必須是單純的基2蝴蝶運(yùn)算級。 因此,本發(fā)明能達(dá)到最大使用彈性且最小化乘法器的數(shù)量。
進(jìn)一步參閱圖4,為一種依據(jù)本發(fā)明第三實(shí)施例的可變長度的快速傅立葉轉(zhuǎn) 換系統(tǒng)4,其具有多個串接在一起的基23和基22的蝴蝶運(yùn)算級40、 41,其中每 一個基23蝴蝶運(yùn)算級40 (如同 一般的基23單徑延遲反饋型蝴蝶運(yùn)算結(jié)構(gòu))可以 分解成多個處理單元(PE ),包含如第一階蝴^萊處理單元(BFI) 402、第二階蝴 蟲萊處理單元(BFII) 404及第三階蝴蟲萊處理單元(BFIII) 406。此外,其中至少 一個基22蝴蝶運(yùn)算級41可以分解成多個處理單元(PE),包含第一階蝴蝶處 理單元(BFI)412及第二階蝴蝶處理單元(BFI1)414。 2對1多路復(fù)用器(418) 設(shè)置于兩個相鄰處理單元412和414 (BFI和BFII)之間的數(shù)據(jù)傳輸中,以作為 分割開關(guān),分割開關(guān)用于進(jìn)行多個快速傅立葉轉(zhuǎn)換子系統(tǒng)的分割,進(jìn)而執(zhí)行多 個不同數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換操作。在第三實(shí)施例中,如圖4所示,可變 長度的快速傅立葉轉(zhuǎn)換系統(tǒng)4的每一處理單元皆設(shè)有單徑延遲反饋(Single-Path Delay Feedback, SDF )結(jié)構(gòu),單徑延遲反饋結(jié)構(gòu)具有延遲緩存器400、基2的蝴 蝶運(yùn)算440及乘法器。
在多個串接的基23或基22蝴蝶運(yùn)算級40、 41之間交4晉設(shè)置有多個系數(shù)乘 法器43,每一個系數(shù)乘法器43用于將可變的旋轉(zhuǎn)因子輸入與前一級蝴蝶運(yùn)算級 40或41輸出的數(shù)據(jù)流相乘,以產(chǎn)生用于輸入至下一級蝴蝶運(yùn)算級40或41的乘 積??勺兊男D(zhuǎn)因子輸入由對應(yīng)2比1系數(shù)多^各復(fù)用器(MUX) 46產(chǎn)生,且系 數(shù)多路復(fù)用器46是依據(jù)模式開關(guān)48的控制信號的不同電平,基于兩個不同快 速傅立葉轉(zhuǎn)換運(yùn)算模式,如全球?qū)Ш叫l(wèi)星系統(tǒng)(Global Navigation Satellite System, GNSS)接收器接收數(shù)據(jù)時的追蹤模式或獲^^莫式,選擇性切換到兩個旋轉(zhuǎn)因子 的其中一個。當(dāng)模式開關(guān)48以控制信號切換多路復(fù)用器46的同時,另一多路 復(fù)用器418也依據(jù)模式開關(guān)48產(chǎn)生的旁路信號的不同電平,切換至不同位置上, 以從第一個基23蝴蝶運(yùn)算級40聚集N長度的數(shù)據(jù),或者從第一個基23蝴蝶運(yùn) 算級40至處理單元412 (BFI)之間收集nl長度的數(shù)據(jù)1 (nKN),以A/或者 從處理單元414 ( BFII)至其它后續(xù)蝴蝶運(yùn)算級40或41之間收集n2長度的數(shù) 據(jù)2(n2〈N),其中跳過處理單元412 (BFI)和第一個基23蝴蝶運(yùn)算級40。因 為數(shù)據(jù)1和2的長度nl和n2可以相同,也可以不同,而且可同時在同一快速 傅立葉轉(zhuǎn)換系統(tǒng)4中執(zhí)行,即快速傅立葉轉(zhuǎn)換系統(tǒng)4會^皮多^各復(fù)用器418分成 多個快速傅立葉轉(zhuǎn)換子系統(tǒng),以對不同長度的數(shù)據(jù)執(zhí)行快速傅立葉轉(zhuǎn)換操作,因 此,本發(fā)明可通過改變快速傅立葉轉(zhuǎn)換的長度來提高硬件的利用率。
如圖4所示的應(yīng)用案例,當(dāng)需要在256點(diǎn)的快速傅立葉轉(zhuǎn)換系統(tǒng)(如標(biāo)號4
所示)上執(zhí)行16點(diǎn)的快速傅立葉轉(zhuǎn)換運(yùn)算時,多路復(fù)用器418可以將256點(diǎn)的 快速傅立葉轉(zhuǎn)換系統(tǒng)4分割為第一部分和第二部分,即兩個相互獨(dú)立的快速傅 立葉轉(zhuǎn)換子系統(tǒng)4a和4b。但實(shí)際上,只需要使用第二部分4b執(zhí)行16點(diǎn)的快速 傅立葉轉(zhuǎn)換操作即可,第二部分4b是指設(shè)于多路復(fù)用器418后的后半部的多個 蝴蝶運(yùn)算級。然而,設(shè)置于多路復(fù)用器418之前的快速傅立葉轉(zhuǎn)換子系統(tǒng)4a仍 然能同時執(zhí)行另一不同長度的快速傅立葉轉(zhuǎn)換操作。在此提供一種提升256點(diǎn) 快速傅立葉轉(zhuǎn)換系統(tǒng)4的硬件利用率和快速傅立葉處理速度的方法,即如果 改變快速傅立葉轉(zhuǎn)換子系統(tǒng)4a的基2蝴蝶運(yùn)算級的反々貴內(nèi)存地址控制(未顯示), 則快速傅立葉轉(zhuǎn)換子系統(tǒng)4a能夠執(zhí)行另一個16點(diǎn)的快速傅立葉轉(zhuǎn)換運(yùn)算。例 如,處理單元402的延遲緩存器400雖然包含了 128個緩存器,但其中只有8 點(diǎn)被使用,而下一處理單元404的延遲緩存器400則包含了 64個緩存器,但只 用到其中的4點(diǎn)等等。
請進(jìn)一步參閱圖5,顯示依據(jù)本發(fā)明第四實(shí)施例的可變長度的快速傅立葉轉(zhuǎn) 換系統(tǒng)5,其類似前述第三實(shí)施例,具有多個串接的基23和基22蝴蝶運(yùn)算級50、 51。當(dāng)在256點(diǎn)的快速傅立葉轉(zhuǎn)換系統(tǒng)(如標(biāo)號5 )上執(zhí)行16點(diǎn)的快速傅立葉 轉(zhuǎn)換才喿作時,多路復(fù)用器518可以將256點(diǎn)快速傅立葉轉(zhuǎn)換系統(tǒng)5分割成兩個 部分,即兩個相互獨(dú)立的快速傅立葉轉(zhuǎn)換子系統(tǒng)5a、 5b。不同于第三實(shí)施例之 處在于在第四實(shí)施例中,快速傅立葉轉(zhuǎn)換子系統(tǒng)5a的每一個基2蝴蝶處理單 元(包含四個)都可切換成如圖5所示的內(nèi)存型快速傅立葉轉(zhuǎn)換模式 (Memory-based FFT mode)。也就是說,蝴蝶運(yùn)算級中的每一個處理單元結(jié)構(gòu)都 可以變換成內(nèi)存型快速傅立葉轉(zhuǎn)換系統(tǒng)。處理單元結(jié)構(gòu)包含地址控制器,用于 控制嵌入式靜態(tài)隨機(jī)存儲器(SRAM)和更復(fù)雜的系數(shù)處置器,且處理單元結(jié)構(gòu)能 獨(dú)自執(zhí)行快速傅立葉轉(zhuǎn)換操作。因此,快速傅立葉轉(zhuǎn)換子系統(tǒng)5a可以同時4丸行 四個16點(diǎn)的快速傅立葉轉(zhuǎn)換操作。與前述第三實(shí)施例相比較,第四實(shí)施例的可 變長度的快速傅立葉轉(zhuǎn)換系統(tǒng)5具有更高的產(chǎn)出量。
在其它實(shí)施例中,本發(fā)明的快速傅立葉轉(zhuǎn)換系統(tǒng)的分割可依據(jù)系統(tǒng)需要作 選擇性的設(shè)置以形成幾個不同的結(jié)構(gòu)。例如,可以將256點(diǎn)快速傅立葉轉(zhuǎn)換系 統(tǒng)選擇性的分割成8點(diǎn)的單徑延遲反饋型快速傅立葉轉(zhuǎn)換子系統(tǒng)和32點(diǎn)的單徑 延遲反饋型快速傅立葉轉(zhuǎn)換子系統(tǒng),或分割成32點(diǎn)單徑延遲反饋型快速傅立葉 轉(zhuǎn)換子系統(tǒng)和128點(diǎn)的內(nèi)存式快速傅立葉轉(zhuǎn)換子系統(tǒng),或甚至是以多徑延遲換 向(Multi-path Delay Commutator, MDC )結(jié)構(gòu)進(jìn)4亍分割。
當(dāng)應(yīng)用于GPS接收系統(tǒng)時,使用同 一內(nèi)存的同 一可變長度的快速傅立葉轉(zhuǎn) 換系統(tǒng)可以針對兩種不同GPS信號模式(包含獲取模式和追蹤模式)的不同的 相關(guān)值(Correlation)進(jìn)行彈性的調(diào)整。利用本發(fā)明的可變長度的快速傅立葉轉(zhuǎn)換 系統(tǒng),在獲取模式下可以獲取高速編碼相位和多普勒二進(jìn)制代碼掃描(Doppler binary scan)。為了找尋足夠數(shù)量的衛(wèi)星以精確定位GPS接收器來取得其產(chǎn)生的 GPS信號,必須先獲取相關(guān)結(jié)果的分析。相關(guān)結(jié)果可以從每一對應(yīng)的假設(shè)值 (Hypothesis)(如編碼、碼相位或GPS接收器與衛(wèi)星之間的多普勒相移)和在特 定期間內(nèi)所采樣到的GPS信號兩者乘積的積分中獲取。
在GPS接收器定位后的追蹤模式中,利用本發(fā)明的可變長度快速傅立葉變 換系統(tǒng)的快速傅立葉變換操作,可以持續(xù)追蹤這些衛(wèi)星的初始狀況,并對時域 相關(guān)結(jié)果進(jìn)行多普勒頻譜分析,^^而改變相關(guān)值以補(bǔ)償多普勒移位誤差。同樣 的,快速傅立葉轉(zhuǎn)換操作也有助于持續(xù)追蹤當(dāng)?shù)剌d波信號的較高多普勒頻率包 含的信息。
在GPS系統(tǒng)的應(yīng)用中,本發(fā)明的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng)可以用軟 件或硬件來彈性設(shè)置所需的可變長度,而同時系統(tǒng)中的所有產(chǎn)出量(Throughputs) 可以維持不變或甚至是大幅提升。與現(xiàn)有快速傅立葉轉(zhuǎn)換結(jié)構(gòu)相比,本發(fā)明的 可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)同時兼顧了硬件執(zhí)行效率、硬件利用率并增強(qiáng)性
6匕 f]匕。
如圖6、圖7A和圖7B所示,圖6 3—依據(jù)本發(fā)明的第五實(shí)施例的可變長度 的快速傅立葉轉(zhuǎn)換系統(tǒng)6,其適用于GPS接收系統(tǒng)。在GPS接收系統(tǒng)的后快速 傅立葉轉(zhuǎn)換程序(Post-FFT process )中,獲擬漠式和追蹤模式常分別需要使用 快速傅立葉轉(zhuǎn)換系統(tǒng)來執(zhí)行不同的快速傅立葉轉(zhuǎn)換操作。
當(dāng)在追蹤模式中追蹤GPS信號時,可以獲得大概的編碼相位且中心多普勒 偏移相對較小。后相關(guān)快速傅立葉轉(zhuǎn)換(Post correlation FFT)操作可以用來獲取 殘余的多普勒頻率。在追蹤模式中,對頻率分辨率的要求非常高,但編碼相位 的數(shù)量和多普勒結(jié)合(即所謂的"假設(shè)值")卻不是4艮大。在追蹤模式時,如圖6和 圖7A所示,具有時序多工的256點(diǎn)快速傅立葉轉(zhuǎn)換系統(tǒng)6可用于處理64個4叚 設(shè)值。如圖6所示,具有可變數(shù)據(jù)長度的256點(diǎn)快速傅立葉轉(zhuǎn)換系統(tǒng)6具有單 徑延遲反饋結(jié)i勾,單徑延遲反饋結(jié)構(gòu)是由8個串接的蝴蝶運(yùn)算級60組成,具有 多個反饋緩存器64 (從128點(diǎn)至1點(diǎn))以存儲數(shù)據(jù)。
請進(jìn)一步參閱圖7A,顯示一種GPS接收系統(tǒng)8的方框圖,其中GPS接收
系統(tǒng)8在追蹤模式下使用本發(fā)明的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng)6。在此架構(gòu) 下,快速傅立葉轉(zhuǎn)換系統(tǒng)6包括兩個可以利用的存儲器,其中之一為第一存儲 器642,具有'H,(如H=64 )假設(shè)值或階層,每個假設(shè)值具有'P,(如P=256 )點(diǎn), 且每一點(diǎn)具有'N,比特,其中'N/2,比特用于數(shù)據(jù)的實(shí)數(shù)部分,而另一半用于數(shù)據(jù) 的虛數(shù)部分;另一個為第二存儲器646,具有64個假設(shè)值或階層,每一假設(shè)值 具有'P,(如P二256)點(diǎn),且每一點(diǎn)具有'N/2,比特用于實(shí)數(shù)部分??焖俑盗⑷~轉(zhuǎn) 換系統(tǒng)6在追蹤模式下的計(jì)算時間可以依據(jù)下列數(shù)學(xué)式(2)取得
64 hypotheses*256 point * Tf = 16384*Tf (2)
其中'Tf,為快速傅立葉轉(zhuǎn)換系統(tǒng)6的頻率周期。
第一存儲器642可用于存儲所有的64個假設(shè)值,以執(zhí)行快速傅立葉轉(zhuǎn)換系 統(tǒng)6的下一個快速傅立葉轉(zhuǎn)換操作,且前述假設(shè)值的數(shù)據(jù)類型為復(fù)數(shù)值(complex value )。事實(shí)上,每一取樣的GPS信號均具有同相分量(In-phase),如復(fù)數(shù)值'I+jQ, 中的實(shí)數(shù)部分T,而'Q,(Quadrature-phase,即正交相位分量)則為虛數(shù)部分,用以 代表相位和振幅。第一存儲器642的一路數(shù)據(jù)輸入是來自相關(guān)器802產(chǎn)生的相 干積分(Coherent integration)結(jié)果,將收到的GPS信號的相關(guān)數(shù)據(jù)從時域相關(guān)區(qū) 域80轉(zhuǎn)換至頻域相關(guān)區(qū)域82。在計(jì)算出第一存儲器642的振幅之后,在第二存 儲器646中聚集非相干積分(Incoherent integmtion)結(jié)果,用于非相干積分積聚。 因此,利用本發(fā)明的架構(gòu)能準(zhǔn)確地追蹤到GPS信號的編碼相位和多普勒頻率。
請進(jìn)一步參閱圖7B,顯示GPS接收系統(tǒng)8的另一方框圖,其中GPS接收 系統(tǒng)8在獲^^莫式下使用本發(fā)明的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng)6。當(dāng)要在沒 有任何數(shù)據(jù)幫助下取到GPS信號時,因?yàn)镚PS信號的編碼相位和多普勒頻率皆 是未知,此時快速編碼相位和多普勒頻率掃描搜索就極為需要,特別是針對微 弱的信號。
在此獲取模式下,需要調(diào)整256點(diǎn)快速傅立葉轉(zhuǎn)換系統(tǒng)6、第一存儲器642 和第二存儲器646的l吏用狀態(tài),因?yàn)樾枰?046個,I設(shè)值存在來搜索所有的編碼 相位。首先粗略搜索多普勒頻率,使用16點(diǎn)快速傅立葉轉(zhuǎn)換操作即已足夠。利 用圖4或圖5所示的分割開關(guān)418、 518及才莫式開關(guān)48,能將256點(diǎn)快速^f專立葉 轉(zhuǎn)換系統(tǒng)6分割成多個或兩個'p,點(diǎn)(如p=16)的單徑延遲反^t貴型;sj或內(nèi)存型快 速傅立葉轉(zhuǎn)換子系統(tǒng)。兩個分割的16點(diǎn)單徑延遲反饋型A/或內(nèi)存型快速傅立葉 轉(zhuǎn)換子系統(tǒng)可以同時操作,以確保有足夠的產(chǎn)出量并提高硬件利用率。每一分 割的16點(diǎn)快速傅立葉轉(zhuǎn)換子系統(tǒng)針對1023個假設(shè)值的運(yùn)算是采用時序多工的
方式進(jìn)行,因此第一存儲器642可用于'h,(例如11=2046)假設(shè)值或階層,且每 一假設(shè)值具有'p,(如p46)點(diǎn),每一點(diǎn)具有'n,個比特,以針對復(fù)數(shù)值的數(shù)據(jù)類 型。第二存儲器646也被轉(zhuǎn)換成為2046個假設(shè)值。為了降低信噪比(SNR),將 第一存儲器642中的數(shù)據(jù)位數(shù)減半,較少的正交相位不會對輸出的信噪比造成 很大危害,因此在追蹤模式下,可用此種方式共享其內(nèi)存。
基于上文所述,在追蹤或獲取模式下,利用不同的設(shè)置即可共享同一內(nèi)存 (因?yàn)镠承P承N二h氺p5^11)。在追蹤才莫式下,兩個分割16點(diǎn)快速傅立葉轉(zhuǎn)換子 系統(tǒng)的計(jì)算時間可以從下列數(shù)學(xué)式(3)獲取
2046 hypotheses * 16 point * Tf / 2 = 16368*Tf (3)
其中,可以利用兩個16點(diǎn)的快速傅立葉轉(zhuǎn)換子系統(tǒng)分割計(jì)算時間,從而在 不同模式下仍能保持相同的產(chǎn)出量。
在獲取模式或追蹤模式下,計(jì)算能力應(yīng)分別著重在不同層面上,如在追蹤 模式下,需要有限數(shù)量的假設(shè)值和高頻解析,而在獲取模式下,則需要快速編 碼相位掃描和粗略多普勒頻率搜索。
此外,如圖8所示,本發(fā)明提供一種執(zhí)行可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)的 方法,且可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)包括多個串接的蝴蝶運(yùn)算級,其中每一 蝴蝶運(yùn)算級可以是基2或基22或基23的蝴蝶運(yùn)算級。請配合參考圖3所示的可 變長度的快速傅立葉轉(zhuǎn)換系統(tǒng)3,方法包含以下步驟
步驟800,基于不同數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換運(yùn)算的需要,選定其中一個 蝴蝶運(yùn)算級(如基23蝴蝶運(yùn)算級30)進(jìn)行分割并產(chǎn)生旁路信號;
步驟810,利用旁鴻一言號的不同電平選擇性切換分割開關(guān)(Divide switch), 以分割同一蝴蝶運(yùn)算級或兩個串接的蝴蝶運(yùn)算級的兩相鄰處理單元之間的數(shù)據(jù) 連接,并將位于分割開關(guān)之前的兩處理單元的其中一個所輸出的數(shù)據(jù)輸出至分 割開關(guān)之后的后續(xù)處理單元,以執(zhí)行第一數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換操作,或 者將數(shù)據(jù)跳過位于分割開關(guān)之前的處理單元而直接輸入至分割開關(guān)后方的后續(xù) 處理單元,以執(zhí)行第二數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換操作,其中第二數(shù)據(jù)長度要 短于第一數(shù)據(jù)長度;
步驟820,利用旁路信號更改分割開關(guān)(如第二階蝴蝶處理單元34)后方 的其中 一個處理單元的邏輯門控制單元的輸出信號的極性;
步驟830,利用邏輯門控制單元的更改過的輸出信號,選4奪性的切換處理單 元的多路復(fù)用器,以決定將兩個不同系數(shù)(1, -j)中的哪一個系數(shù)輸出至乘法
器,將第二階蝴蝶處理單元調(diào)整成第一階蝴蝶處理單元或者第二階蝴蝶處理單
元;
步驟840,利用乘法器將處理單元的輸出系數(shù)與分割開關(guān)輸出的數(shù)據(jù)相乘以 取得輕微旋轉(zhuǎn)因子乘積;
步驟850,利用旁路信號更改其余處理單元(如第三階蝴蝶處理單元36) 的邏輯門控制單元的兩個輸出信號;
步驟860,利用邏輯門控制單元的更改過的輸出信號,選擇性的切換其余處 理單元的多路復(fù)用器,以決定將四個不同系數(shù)(l,-j, 4(1_7), —"?('"))中的哪一個 系數(shù)輸出至乘法器,進(jìn)而將第三階蝴蝶處理單元調(diào)整為第一階蝴蝶處理單元或 第二階蝴蝶處理單元或第三階蝴蝶處理單元;以及
步驟870,利用乘法器將其余處理單元的輸出系數(shù)與分割開關(guān)輸出的數(shù)據(jù)相 乘以取得輕微旋轉(zhuǎn)因子乘積。
在其它實(shí)施例中,如果步驟800中已選定分割基2或基22或基23的蝴蝶運(yùn) 算級,則僅執(zhí)行步驟800 840。如果選定基23的蝴蝶運(yùn)算級來分割出基2的蝴 蝶處理單元,則僅需執(zhí)行步驟800、步驟810和步驟850 870。
不同于前述實(shí)施例之處在于,其它實(shí)施例的方法還包含下列步驟
依據(jù)不同數(shù)據(jù)長度的需要,利用模式開關(guān)產(chǎn)生控制信號和旁路信號以執(zhí)行 多個不同的快速傅立葉轉(zhuǎn)換操作模式;以及
利用控制信號的不同電平選擇性切換至少一個多路復(fù)用器,以將兩個旋轉(zhuǎn) 因子中的一個輸出至兩相鄰蝴蝶運(yùn)算級之間的乘法器,以產(chǎn)生旋轉(zhuǎn)因子乘積, 其中在全球?qū)Ш叫l(wèi)星系統(tǒng)接收器中,不同快速傅立葉轉(zhuǎn)換操作模式包含獲取才莫 式和追蹤一莫式。
綜上所述,依據(jù)本發(fā)明的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng)及其執(zhí)行方法, 可同時適用于全球?qū)Ш叫l(wèi)星系統(tǒng)信號獲取和追蹤模式,且能夠利用較少數(shù)量的
系統(tǒng)的產(chǎn)出量,從而在可變數(shù)據(jù)長度方面,取得比現(xiàn)有快速傅立葉轉(zhuǎn)換系統(tǒng)更 大的^f吏用彈性。
所屬技術(shù)領(lǐng)域的技術(shù)人員可輕易完成的均等改變或潤飾均屬于本發(fā)明所主 張的范圍,本發(fā)明的權(quán)利范圍應(yīng)以權(quán)利要求書所限定的范圍為準(zhǔn)。
權(quán)利要求
1.一種可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng),包含至少一個串接的蝴蝶運(yùn)算級,其中每一蝴蝶運(yùn)算級包含至少一個處理單元;以及至少一個分割開關(guān),根據(jù)旁路信號分割該至少一個處理單元或該至少一個蝴蝶運(yùn)算級之間的數(shù)據(jù)連接,以執(zhí)行第一數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換或第二數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換,其中該第二數(shù)據(jù)長度短于該第一數(shù)據(jù)長度。
2. 如權(quán)利要求1所述的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng),其特征在于,該至 少一個蝴蝶運(yùn)算級可為基2蝴蝶運(yùn)算級或基22蝴蝶運(yùn)算級或基23蝴蝶運(yùn)算級其 中的任何一種,其中該基2蝴蝶運(yùn)算級包含第一階蝴蝶處理單元,該基22蝴蝶 運(yùn)算級包含第一階蝴蝶處理單元和耦合于該第一階蝴蝶處理單元的第二階蝴蝶 處理單元,該基23蝴蝶運(yùn)算級包含第一階蝴蝶處理單元、耦合于該第一階蝴蝶 處理單元的第二階蝴蝶處理單元以及耦合于該第二階蝴蝶處理單元的第三階蝴 蟲萊處理單元。
3. 如權(quán)利要求2所述的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng),其特征在于,該分 割開關(guān)設(shè)置于其中 一個蝴蝶運(yùn)算級的兩相鄰處理單元之間的數(shù)據(jù)傳輸中。
4. 如權(quán)利要求3所述的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng),其特征在于,該分 割開關(guān)分割該至少一個處理單元的一部分成為獨(dú)立的基2蝴i萊運(yùn)算級或獨(dú)立的 基22蝴蝶運(yùn)算級,且該基2蝴蝶運(yùn)算級或該基22蝴蝶運(yùn)算級執(zhí)行該第二數(shù)據(jù)長 度的快速傅立葉轉(zhuǎn)換。
5. 如權(quán)利要求4所述的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng),其特征在于,該每 一第三階蝴蝶處理單元包含第 一 系數(shù)處置器,且該第 一 系數(shù)處置器由邏輯門控 制單元、多路復(fù)用器及乘法器構(gòu)成。
6. 如權(quán)利要求5所述的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng),其特征在于,該第 一系數(shù)處置器的邏輯門控制單元具有兩個信號輸出,且可基于不同數(shù)據(jù)長度的 需要,利用該旁路信號更改該兩個信號輸出,以及該第一系數(shù)處置器的多路復(fù) 用器依據(jù)該邏輯門控制單元的兩個更改過的信號輸出,作選擇性的切換,以決 定將四個不同系數(shù)(l, -j, 72(1_力,-#(1"))中的哪一個作為輸出系數(shù)輸出至該乘 法器,從而將該第三階蝴蝶處理單元調(diào)整為第一階蝴蝶處理單元或第二階蝴蝶 處理單元或者第三階蝴蝶處理單元,且該第一系^t處置器的乘法器用于將該分 割開關(guān)輸出的數(shù)據(jù)與該輸出系數(shù)相乘以產(chǎn)生輕孩l旋轉(zhuǎn)因子乘積。
7. 如權(quán)利要求6所述的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng),其特征在于,該每 一第二階蝴蝶處理單元具有第二系數(shù)處置器,且該第二系數(shù)處置器由邏輯門控 制單元、多路復(fù)用器及乘法器構(gòu)成。
8. 如權(quán)利要求7所述的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng),其特征在于,該第 二系數(shù)處置器的邏輯門控制單元具有信號輸出,且可基于不同數(shù)據(jù)長度的需要, 利用該旁路信號更改該信號輸出,且該第二系數(shù)處置器的多路復(fù)用器依據(jù)該第 二系數(shù)處置器的邏輯門控制單元的更改過的信號輸出,作選擇性的切換以決定 將兩個不同系數(shù)(l, -j)中的哪一個作為輸出系數(shù)輸出至該乘法器,以將該第二階 蝴蝶處理單元調(diào)整為第一階蝴蝶處理單元或第二階蝴蝶處理單元,該第二系數(shù) 處置器的乘法器將該分割開關(guān)輸出的數(shù)據(jù)與該輸出系數(shù)相乘以產(chǎn)生輕微旋轉(zhuǎn)因 子乘積。
9. 如權(quán)利要求8所述的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng),其特征在于,依據(jù) 該旁路信號的不同電平可選擇性的切換該分割開關(guān),以將位于該分割開關(guān)之前 的處理單元的輸出數(shù)據(jù)輸出至位于該分割開關(guān)之后的后續(xù)處理單元,或者將輸 入數(shù)據(jù)跳過位于該分割開關(guān)之前的該處理單元而直接輸入至位于該分割開關(guān)之 后的該后續(xù)處理單元。
10. 如權(quán)利要求1所述的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng),其特征在于,進(jìn) 一步包含模式開關(guān),依據(jù)不同數(shù)據(jù)長度的需要,產(chǎn)生該旁路信號和控制信號以執(zhí)行 多個不同快速傅立葉轉(zhuǎn)換操作模式;以及至少 一個多路復(fù)用器,依據(jù)該模式開關(guān)的該控制信號的不同電平作選擇性的切換,以將兩個不同旋轉(zhuǎn)因子中的其中 一個輸出至設(shè)置于兩個相鄰蝴蝶運(yùn)算 級之間的對應(yīng)乘法器,進(jìn)而產(chǎn)生旋轉(zhuǎn)因子乘積。
11. 如權(quán)利要求IO所述的可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng),其特征在于,該 多個不同的快速傅立葉轉(zhuǎn)換操作模式包含全球?qū)Ш叫l(wèi)星系統(tǒng)接收器中的獲取模 式和追蹤一莫式。
12. —種執(zhí)行可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)的方法,該可變長度的快速傅立 葉轉(zhuǎn)換系統(tǒng)具有至少一個串接的蝴蝶運(yùn)算級,其中每一蝴蝶運(yùn)算級包含至少一 個處理單元,該方法包含基于不同數(shù)據(jù)長度快速傅立葉轉(zhuǎn)換操作的需要,產(chǎn)生旁路信號;以及依據(jù)該旁路信號,分割該至少一個處理單元或該至少一個蝴蝶運(yùn)算級之間 的數(shù)據(jù)連接,以執(zhí)行第 一數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換操作或第二數(shù)據(jù)長度的快 速傅立葉轉(zhuǎn)換操作,其中該第二數(shù)據(jù)長度短于該第 一數(shù)據(jù)長度。
13. 如權(quán)利要求12所述的執(zhí)行可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)的方法,其特征 在于,進(jìn)一步包含選擇基2蝴蝶運(yùn)算級或基22蝴蝶運(yùn)算級或基23蝴蝶運(yùn)算級的至少一種蝴蝶 運(yùn)算級來進(jìn)行分割,其中該基2蝴蝶運(yùn)算級包含第一階蝴蝶處理單元,該基22 蝴蝶運(yùn)算級包含第一階蝴蝶處理單元和耦合于該第一階蝴蝶處理單元的第二階 蝴蝶處理單元,以及該基23蝴蝶運(yùn)算級包含第一階蝴蝶處理單元、耦合于該第 一階蝴蝶處理單元的第二階蝴蝶處理單元以及耦合于該第二階蝴蝶處理單元的 第三階蝴蝶處理單元。
14. 如權(quán)利要求13所述的執(zhí)行可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)的方法,其特征 在于,進(jìn)一步包含利用分割開關(guān)將該至少一個處理單元的一部分分割成獨(dú)立 的基2蝴蝶運(yùn)算級或獨(dú)立的基22蝴蝶運(yùn)算級,其中該基2蝴蝶運(yùn)算級或該基22 蝴蝶運(yùn)算級執(zhí)行該第二數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換操作。
15. 如權(quán)利要求14所述的執(zhí)行可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)的方法,其特征 在于,其中該每一第三階蝴蝶處理單元包含第一系數(shù)處置器,且該第一系數(shù)處 置器由邏輯門控制單元、多路復(fù)用器及乘法器構(gòu)成,該方法還包含以下步驟基于不同數(shù)據(jù)長度的需要,利用該旁路信號更正該第一系數(shù)處置器的邏輯門控制單元的兩個信號輸出;依據(jù)該第一系數(shù)處置器的邏輯門控制單元的更正過的兩個信號輸出,選擇性地切換該第一系數(shù)處置器的多路復(fù)用器,以決定將四個不同系數(shù)(l,-j, #(1_7), -^ ('+")中的哪一個作為輸出系凄t輸出至該第一系數(shù)處置器的乘法器,以將該第三階蝴蝶處理單元調(diào)整為第一階蝴蝶處理單元或第二階蝴蝶處理單元或者第三 階蝴蝶處理單元;以及利用該第一系數(shù)處置器的乘法器將該輸出系數(shù)和該分割開關(guān)輸出的數(shù)據(jù)相 乘以取得輕微旋轉(zhuǎn)因子乘積。
16. 如權(quán)利要求15所述的執(zhí)行可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)的方法,其特征 在于,該每一第二階蝴蝶處理單元具有第二系數(shù)處置器,且該第二系數(shù)處置器 由邏輯門控制單元、多路復(fù)用器及乘法器構(gòu)成,該方法還包含步驟基于不同數(shù)據(jù)長度變化的需要,利用該旁路信號更正該第二系數(shù)處置器的邏輯門控制單元的信號輸出;依據(jù)該第二系數(shù)處置器的邏輯門控制單元的更正過的信號輸出,選才奪性地切換該第二系數(shù)處置器的多路復(fù)用器,以決定將兩個不同系數(shù)(l, -j)中的哪一個 作為輸出系數(shù)輸出至該第二系數(shù)處置器的乘法器,以將該第二階蝴蝶處理單元 調(diào)整為第一階蝴蝶處理單元或第二階蝴蝶處理單元;以及利用該第二系數(shù)處置器的乘法器將該輸出系數(shù)和該分割開關(guān)輸出的數(shù)據(jù)相 乘以取得輕微旋轉(zhuǎn)因子乘積。
17. 如權(quán)利要求16所述的執(zhí)行可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)的方法,其特征 在于,進(jìn)一步包括以下步驟利用該旁路信號的不同電平選擇性的切換該分割 開關(guān),以將位于該分割開關(guān)之前的處理單元的輸出數(shù)據(jù)輸出至位于該分割開關(guān) 之后的后續(xù)處理單元,或者將輸入數(shù)據(jù)跳過位于該分割開關(guān)之前的該處理單元 而直接輸入至位于該分割開關(guān)之后的該后續(xù)處理單元。
18. 如權(quán)利要求12所述的執(zhí)行可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)的方法,其特征 在于,進(jìn)一步包含以下步驟依據(jù)不同數(shù)據(jù)長度的需要,產(chǎn)生控制信號以執(zhí)行多個不同的快速傅立葉轉(zhuǎn) 換操作模式;以及利用該控制信號的不同電平選擇性切換至少一個多路復(fù)用器,以將兩個不 同旋轉(zhuǎn)因子中的其中一個輸出至設(shè)置于兩相鄰蝴蝶運(yùn)算級之間的對應(yīng)乘法器, 從而產(chǎn)生旋轉(zhuǎn)因子乘積。
19. 如權(quán)利要求18所述的執(zhí)行可變長度快速傅立葉轉(zhuǎn)換系統(tǒng)的方法,其特征 在于,其中該多個不同快速傅立葉轉(zhuǎn)換操作模式包含全球?qū)Ш叫l(wèi)星系統(tǒng)接收器 的獲取漠式和追蹤才莫式。
全文摘要
本發(fā)明揭示一種可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng),包含至少一個串接的蝴蝶運(yùn)算級,其中每一蝴蝶運(yùn)算級包含至少一個處理單元;以及至少一個分割開關(guān),根據(jù)旁路信號分割處理單元或蝴蝶運(yùn)算級之間的數(shù)據(jù)連接,以執(zhí)行第一數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換或第二數(shù)據(jù)長度的快速傅立葉轉(zhuǎn)換,其中第二數(shù)據(jù)長度短于第一數(shù)據(jù)長度。本發(fā)明的具有可變長度的快速傅立葉轉(zhuǎn)換系統(tǒng)可提升硬件利用率并增加信號處理的產(chǎn)出量。
文檔編號H04L27/26GK101340414SQ20081010888
公開日2009年1月7日 申請日期2008年5月28日 優(yōu)先權(quán)日2007年7月6日
發(fā)明者張志祥, 李明鴻, 魏睿民 申請人:聯(lián)發(fā)科技股份有限公司