專利名稱:循環(huán)快速傅里葉變換的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及快速傅里葉變換(FFT),更具體地涉及利用 俞入 數(shù)據(jù)的循環(huán)移位來(lái)實(shí)現(xiàn)FFT或等價(jià)地利用每個(gè)輸出數(shù)據(jù)的旋轉(zhuǎn)來(lái)實(shí)現(xiàn) FFT。
背景技術(shù):
FFT在從低級(jí)電信信令到語(yǔ)音和圖像處理的現(xiàn)代數(shù)字信號(hào)處理中有 大量應(yīng)用。在某些應(yīng)用中,出于特定的目的,對(duì)變換數(shù)據(jù)組進(jìn)行前移位 或后旋轉(zhuǎn)。通過(guò)變換理論我們己知前移位和后旋轉(zhuǎn)是等價(jià)操作。然而,在常規(guī) 布置中,它們的實(shí)施彼此不同。前移位器由大小至少為變換大小的緩沖 器和某種尋址邏輯構(gòu)成。與此對(duì)照,后旋轉(zhuǎn)器被實(shí)施為復(fù)數(shù)乘法器或例 如使用坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算機(jī)(CORDIC)算法的純旋轉(zhuǎn)器和某種旋轉(zhuǎn)角度 發(fā)生器(例如存儲(chǔ)器中存儲(chǔ)的表)。結(jié)合FFT使用的前移位和/或后旋轉(zhuǎn)的典型應(yīng)用是利用正交頻分復(fù) 用(OFDM)來(lái)傳送信息的通信系統(tǒng)。目前,OFDM被用在各種無(wú)線局 域網(wǎng)(WLAN)標(biāo)準(zhǔn)(例如,IEEE 802.11a和WiMAX)和數(shù)字電視(DVB) 中。OFDM還被認(rèn)為是未來(lái)的通信標(biāo)準(zhǔn),如超寬帶(UWB)和對(duì)"3G"(第 三代)蜂窩系統(tǒng)的增強(qiáng)。前移位的一種用途是改善OFDM中的時(shí)間同步。圖1中例示了帶有 循環(huán)前綴的單時(shí)域OFDM符號(hào)。在發(fā)射器端,數(shù)據(jù)被編碼成復(fù)數(shù),它們 在時(shí)域中被逆傅里葉變換且附帶上循環(huán)前綴。在接收器端,通過(guò)應(yīng)用正 向傅里葉變換來(lái)還原出數(shù)據(jù)。即使不是全部,大多數(shù)實(shí)施都依賴于針對(duì) 時(shí)頻變換的某種FFT算法。接收器時(shí)間同步(即,找到放置FFT窗口的最佳位置)對(duì)于實(shí)現(xiàn)良好的接收器性能是至關(guān)重要的。絕不能將窗口放置為,使得多于一個(gè)符 號(hào)(包括其循環(huán)前綴)被覆蓋,因?yàn)檫@將導(dǎo)致符號(hào)間干擾(ISI), g卩,兩 個(gè)獨(dú)立的符號(hào)混合成一個(gè)符號(hào)。窗口的最佳位置是將它放置得"盡可能晚",而不包括來(lái)自下一符號(hào)的循環(huán)前綴的數(shù)據(jù)。然而,過(guò)于迅速(aggressive)的方法可能會(huì)導(dǎo)致ISI, 所以必須有一些安全裕度。只要信道的脈沖響應(yīng)足夠短,盡早放置包括 循環(huán)前綴部分的窗口就可以消除ISI的風(fēng)險(xiǎn)。FFT窗口的早放置對(duì)應(yīng)于變換輸入數(shù)據(jù)的循環(huán)移位(見圖l)。位于 發(fā)射器中最右側(cè)位置處的數(shù)據(jù)塊此時(shí)出現(xiàn)在接收器FFT窗口的左側(cè)。對(duì) 于在信道估計(jì)器中使用頻率插值的系統(tǒng)而言,移位越大,插值器就越復(fù) 雜。為了保持信道評(píng)估簡(jiǎn)單,應(yīng)當(dāng)通過(guò)前移位或后旋轉(zhuǎn)使輸入數(shù)據(jù)在FFT 窗口中對(duì)準(zhǔn)。OFDM中的前移位和/或后旋轉(zhuǎn)的另一用途是當(dāng)通信信道具有較大 的延遲擴(kuò)展時(shí)。這種信道經(jīng)歷了頻域中的旋轉(zhuǎn),這能夠通過(guò)所提出的FFT 方案來(lái)消除。前移位和/或后旋轉(zhuǎn)的益處并不能毫無(wú)代價(jià)地獲得。對(duì)于硬件實(shí)施而 言,時(shí)域中的循環(huán)移位需要較大的緩沖器,以及相應(yīng)的延遲和能耗。相 應(yīng)的后旋轉(zhuǎn)需要作用于所有變換輸出數(shù)據(jù)的高精度轉(zhuǎn)動(dòng)抵消器 (de-rotator),從而導(dǎo)致芯片面積以及能耗的增大?,F(xiàn)有解決方案存在以上介紹的問(wèn)題。現(xiàn)有技術(shù)循環(huán)移位要么在時(shí)域 實(shí)施要么在頻域?qū)嵤?。盡管這兩種方法導(dǎo)致了不同的實(shí)現(xiàn),但是它們的 相同之處在于,和單獨(dú)的FFT相比,面積、延遲和能耗增大到了顯著的 程度。對(duì)于時(shí)域解決方案而言,F(xiàn)FT的輸入數(shù)據(jù)在變換之前被循環(huán)移位。 為了進(jìn)行這種移位,如果FFT不是使用流水線方法實(shí)施的,則待變換的 所有數(shù)據(jù)必須都可用。因而,就需要大小為N個(gè)字的額外緩沖器。即使 對(duì)FFT使用了流水線方法,取決于這種結(jié)構(gòu)能夠處理的循環(huán)移位的量, 也可能必須提供緩沖器來(lái)存儲(chǔ)多達(dá)N-1個(gè)字。在頻域方法中,移位對(duì)應(yīng)于每個(gè)輸出數(shù)據(jù)的旋轉(zhuǎn)。在這種情況下不需要緩沖器,但是該技術(shù)仍存在需要高精度旋轉(zhuǎn)器的相關(guān)問(wèn)題。此外, 從FFT輸出的數(shù)據(jù)可能是以位反轉(zhuǎn)的順序產(chǎn)生的,這意味著針對(duì)每個(gè)連 續(xù)輸出樣本的旋轉(zhuǎn)角度將表現(xiàn)為或多或少的隨機(jī)性。因而,可能導(dǎo)致需要大表來(lái)存儲(chǔ)這些角度。鑒于上述討論,很明顯,現(xiàn)有技術(shù)方法面臨著面積、延遲和能耗的顯著負(fù)擔(dān)。因此,希望提供利用數(shù)據(jù)的前移位/后旋轉(zhuǎn)來(lái)實(shí)現(xiàn)FFT的改善技術(shù)和裝置。 發(fā)明內(nèi)容應(yīng)當(dāng)強(qiáng)調(diào),本說(shuō)明書中使用的"包括"一詞用于指定所陳述特征、整 數(shù)、步驟或部件的存在,但是這些詞的使用并不排除存在或添加一個(gè)或 更多個(gè)其他特征、整數(shù)、步驟、部件或它們的組合。根據(jù)本發(fā)明的一個(gè)實(shí)施方式,上述和其他目的在用于iV頻點(diǎn)(bin) FFT中的頻率抽取(DIF) FFT級(jí)中實(shí)現(xiàn),其中7V是偶數(shù)。DIF FFT級(jí)包 括交換邏輯(swap logic),該交換邏輯接收第一輸入樣本x(v)和第二輸入 樣本;c(v+M2),并選擇性地在相應(yīng)的第一交換邏輯輸出端口和第二交換邏 輯輸出端口供應(yīng)第一輸入樣本和第二輸入樣本,或者另選地在相應(yīng)的第 一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第二輸入樣本和第一 輸入樣本,其中0^<\72。 DIFFFT級(jí)還包括用于對(duì)第一交換邏輯輸出 端口和第二交換邏輯輸出端口供應(yīng)的值進(jìn)行相加的求和單元;用于對(duì)第 一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)的值進(jìn)行相減的求差單元;以及將求差單元供應(yīng)的值乘以旋轉(zhuǎn)因子壞f+"mod(W2)的旋轉(zhuǎn)因子邏輯,其中s是表示W(wǎng)個(gè)輸入樣本的循環(huán)移位量的整數(shù)。另一方面,F(xiàn)FT處理器包括上述DIF FFT級(jí)和一種邏輯,該邏輯通 過(guò)當(dāng)(v+。mod iV < AV2時(shí)在相應(yīng)的第一交換邏輯輸出端口和第二交換邏 輯輸出端口供應(yīng)第一輸入樣本和第二輸入樣本,而當(dāng)(v+力modiV2 7W2時(shí) 在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第二輸入 樣本和第一輸入樣本,來(lái)控制該交換邏輯。在另選實(shí)施方式中,F(xiàn)FT處理器包括上述DIF FFT級(jí)和一種邏輯,該邏輯通過(guò)當(dāng)(V + " A = 0時(shí)在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第一輸入樣本和第二輸入樣本,而當(dāng) (V + " A iW2 # 0時(shí)在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯 俞出端口供應(yīng)第二輸入樣本和第一輸入樣本,來(lái)控制該交換邏輯,其中A表示位邏輯AND運(yùn)算。
通過(guò)閱讀以下結(jié)合附圖的詳細(xì)描述將理解本發(fā)明的這些目的和優(yōu) 點(diǎn),附圖中-圖1是帶有循環(huán)前綴的單時(shí)域OFDM符號(hào)。圖2是用于根據(jù)兩個(gè)大小為7W2的變換來(lái)確定大小為iV的傅里葉變 換的布置。圖3是具有4個(gè)蝶形級(jí)(butterfly stage)的7V= 16的DIF FFT的示意圖,每個(gè)蝶形級(jí)都有8個(gè)蝶形。圖4 (a)例示了針對(duì)折疊FFT實(shí)施的基-2蝶形級(jí)的結(jié)構(gòu)。 圖4 (b)例示了移位工作模式下的折疊FFT實(shí)施。 圖4 (c)例示了計(jì)算工作模式下的折疊FFT實(shí)施。 圖5示意性地例示了包括N/2個(gè)蝶形操作的布置中的兩個(gè)蝶形f喿作。 圖6示意性地例示了在進(jìn)行了對(duì)輸入數(shù)據(jù)索引的循環(huán)左移位之后對(duì)圖5的蝶形操作的影響。圖7示意性地例示了在進(jìn)行了對(duì)輸入數(shù)據(jù)索引的循環(huán)右移位之后對(duì)圖5的蝶形操作的影響。圖8是根據(jù)本發(fā)明的觀點(diǎn)的示例性基-2DIFFFT級(jí)的示意圖。
具體實(shí)施方式
下面將參照附圖來(lái)描述本發(fā)明的各個(gè)特征,附圖中,使用相同的標(biāo) 號(hào)來(lái)表示相同的部分?,F(xiàn)將結(jié)合多個(gè)示例性實(shí)施方式更為詳細(xì)地描述本發(fā)明的各個(gè)方面。 為了有助于理解本發(fā)明,按照計(jì)算機(jī)系統(tǒng)或能夠執(zhí)行編程指令的其他硬件中的元件要執(zhí)行的動(dòng)作序列來(lái)描述本發(fā)明的很多方面。應(yīng)當(dāng)意識(shí)到, 在每個(gè)實(shí)施方式中,各種動(dòng)作可以由專用電路(例如,互連以實(shí)現(xiàn)專用 功能的離散邏輯門)、由一個(gè)或更多個(gè)處理器所執(zhí)行的程序指令,或者由 二者的組合來(lái)執(zhí)行。此外,本發(fā)明還可以被認(rèn)為是整體實(shí)施在任意形式 的計(jì)算機(jī)可讀載體中,如固態(tài)存儲(chǔ)器、磁盤、光盤或載波(如射步頁(yè)、音 頻或光頻載波),這些計(jì)算機(jī)可讀載體包含了可以使處理器執(zhí)行這里描述 的技術(shù)的適當(dāng)計(jì)算機(jī)指令組。因而,本發(fā)明的各個(gè)方面可以按照很多不 同形式來(lái)實(shí)施,且所有這些形式都被理解為落在本發(fā)明的范圍之內(nèi)。對(duì) 于本發(fā)明的各個(gè)方面中的每一個(gè),任意這種形式的實(shí)施方式在此者P可以 稱為"被配置成執(zhí)行所述動(dòng)作的邏輯"或者另選地稱為"執(zhí)行所述動(dòng)作的邏 輯"。本發(fā)明的一個(gè)方面是在同一操作中實(shí)現(xiàn)移位/旋轉(zhuǎn)和FFT,從而礦夫得 硬件、時(shí)間和能量的更有效利用。下面詳細(xì)描述的該方法適用于可以使 用移位FFT的所有技術(shù)領(lǐng)域,包括但不限于圖像處理,無(wú)線局域網(wǎng) (WLAN)、超寬帶(UWB)通信、回波消除等。該方法還適用于戶萬(wàn)有類 型的FFT結(jié)構(gòu),而與流水線、基或并行化(parallelization)無(wú)關(guān)?;?2 FFT算法是利用分治(divide and conquer)方法從離散傅里葉變 換得出的。該算法有兩種基本版本 一種是通過(guò)時(shí)域抽取得到的,另一 種是通過(guò)頻域抽取得到的。為了便于理解本發(fā)明的各個(gè)方面,現(xiàn)在開始 描述基-2頻域抽取(DIF) FFT算法的推導(dǎo)。首先,令x(")為"二O..JV-l的樣本序列,其中iV是偶數(shù),且優(yōu)選是2的冪。然后,將序列x(")的離散傅里葉變換(DFT)表示為;r^),其中A=0...AM。使用旋轉(zhuǎn)因子符號(hào)來(lái)簡(jiǎn)化表達(dá),從xO)到I(^)的DFT可以寫為DF,;.{.v(")} = ^) = U '"."=0 (1)然后針對(duì)偶數(shù)和奇數(shù)頻率A分別來(lái)分析公式(1)。對(duì)于偶數(shù)步員率,該表達(dá)式為<formula>formula see original document page 10</formula>和原始公式(1)相比,和的旋轉(zhuǎn)因子對(duì)于"=0..1-1的輪數(shù)完成了 兩倍。因此,和被分為從0到AV2-1的兩個(gè)半程和(half range sum),£ (;c(") + x(" + W/2))《2通過(guò)在0^<iV/2的情況下定義"(")=十—卜W/2),該表達(dá) 式比較容易理解。實(shí)際上,得出"O)的大小為的FFT為A,)= J>( ;2=DFTA,/2 {'"(")}.現(xiàn)在將側(cè)重點(diǎn)改為變換的奇數(shù)頻率,并且應(yīng)用相同的技術(shù),給出17=0 ,7=0 "=0同樣,與公式(1)相比,旋轉(zhuǎn)因子在n從O到AM變化時(shí)進(jìn)行了兩 輪,并且與上述相似,和被分成從0到iW2-1的兩個(gè)半程和,<formula>formula see original document page 10</formula>它等于<formula>formula see original document page 10</formula>為n二0至iW2-l引入新的輔助變量4" + W/2)),得出<formula>formula see original document page 10</formula>結(jié)論是,信號(hào)x(")的大小為TV的FFT被分割成計(jì)算序列w(")禾口 v(") 的兩個(gè)大小為iW2的FFT,其中w和v是x的簡(jiǎn)單函數(shù) DFTA, "(")} — DFT,v/2 {"(")}且DFTN/2 {v(")},其中<formula>formula see original document page 11</formula>圖2中例示了用于根據(jù)兩個(gè)大小為iV72的FFT來(lái)確定大小為yV的FFT 的布置。該示意圖中根據(jù)x來(lái)生成"和v的布置因?yàn)閳D中的加減結(jié)構(gòu)(包 圍在虛線框201中)的形狀而一般被稱為"FFT蝶形"。只要被分割成兩個(gè)半大小變換的變換是相等的,就可以重復(fù)應(yīng)用這 種分治方法。每次重復(fù)總會(huì)導(dǎo)致一組個(gè)新蝶形。這種組被稱為蝶形 級(jí)。為說(shuō)明這一點(diǎn),圖3示出了具有4個(gè)蝶形級(jí)的N-16的DIFFFT的 示意圖,每個(gè)蝶形級(jí)都有8個(gè)蝶形。注意輸出怎樣以位反轉(zhuǎn)的順序產(chǎn)生 假設(shè)輸入順序?yàn)?,1,2,3,...,13,14,15 (以二進(jìn)制表示為0000, 0001, 0010, 0011,…,1101, 1110, 1111),則輸出以順序0,8,4,12,…,11,7,15 (以二進(jìn) 制表示為OOOO, 1000, 0100, 1100,…,1011, 0111, 1111)出現(xiàn)。還注意到,在每次將一個(gè)變換獨(dú)立地分成兩個(gè)半大小的變換時(shí),iV 不必是2的冪。然而,如果完整的變換的大小不是2的冪,則在某些級(jí)iV 將是偶數(shù),但AW不是,于是使用上述技術(shù)不能進(jìn)一步分割該變換?,F(xiàn)在來(lái)描述前移位和后旋轉(zhuǎn)的效果。如前所述,時(shí)間離散信號(hào) ("二O...iV-l)的DFT被定義為爛〃=0其中A二O...iV-l,令:cX")是信號(hào)x(")向左移位了s個(gè)循環(huán)步驟的結(jié)果,<formula>formula see original document page 11</formula>現(xiàn)在,X"")的傅里葉變換由下式定義<formula>formula see original document page 11</formula>代入"=€,得到-義""=f^(")《'=wf^("x"它是x("凍以旋轉(zhuǎn)因子Wv^的變換。因而,時(shí)域中的移位對(duì)應(yīng)于頻率中的旋轉(zhuǎn)。對(duì)于逆傅里葉變換,情況相反。FFT的硬件實(shí)施可以基于其數(shù)據(jù)流向圖(data-flowgmph)的直接映 射,如圖3所示。然而,這種結(jié)構(gòu)將需要支持硬件,在大多數(shù)情況下, 這些支持硬件太快,因?yàn)樗枰獙?duì)于每次變換所有的輸入數(shù)據(jù)都并^1可 用。換句話說(shuō),為了利用根據(jù)數(shù)據(jù)流向圖直接設(shè)計(jì)出的FFT,數(shù)據(jù)必須 以比實(shí)際傳輸速度快N倍的步調(diào)到達(dá)。如果數(shù)據(jù)速率較慢,則硬件將面 臨明顯的等待輸入的空閑時(shí)間,造成該實(shí)施不必要的芯片面積消耗。對(duì)于很多數(shù)字信號(hào)處理應(yīng)用而言,數(shù)據(jù)是以一個(gè)樣本接著一個(gè)樣本 的串行方式到達(dá)的。例如,對(duì)于數(shù)字化語(yǔ)音信號(hào)或來(lái)自于天線的采樣無(wú) 線基帶信號(hào),情況就是這樣。并行FFT實(shí)施對(duì)于這種應(yīng)用明顯太快。為 了避免這種失配,數(shù)據(jù)流向圖可以按這樣的方式折疊對(duì)于要實(shí)施的每 個(gè)蝶形級(jí)僅需要一個(gè)蝶形處理器。圖4(a)中例示了針對(duì)這種折疊FFT實(shí)施的基-2蝶形級(jí)400的結(jié)構(gòu)。 大小為iV的FFT由串聯(lián)的bg2(iV)個(gè)這種級(jí)構(gòu)成?;?2蝶形級(jí)400具有延 遲線401和可選擇的數(shù)據(jù)路徑邏輯403。通過(guò)基-2蝶形級(jí)400的數(shù)據(jù)路徑 具有兩種工作模式移位模式(圖4 (b)中所示)和計(jì)算模式(圖4(c) 所示)。在移位模式下,數(shù)據(jù)路徑邏輯403被配置成從輸入接收N/2個(gè)樣本, 并將它們饋入到延遲線401中。同時(shí),數(shù)據(jù)路徑邏輯403接收延遲線401 的內(nèi)容,并將其作為基-2蝶形級(jí)400的輸出進(jìn)行供應(yīng)。因而,該模式下 的基-2蝶形級(jí)400僅充當(dāng)延遲線。在計(jì)算模式下,數(shù)據(jù)路徑邏輯403根據(jù)當(dāng)前輸入的樣本和從延遲線 移位輸出的數(shù)據(jù)來(lái)計(jì)算蝶形操作。蝶形操作的一個(gè)輸出被作為基-2蝶形 級(jí)400的輸出進(jìn)行供應(yīng),而蝶形操作的另一輸出被饋入到延遲線401的 輸入。在本發(fā)明的一方面,對(duì)標(biāo)準(zhǔn)FFT處理器進(jìn)行改動(dòng),使得它獨(dú)立于作 用于輸入數(shù)據(jù)的循環(huán)移位量而計(jì)算出相同的結(jié)果。這種改動(dòng)包括通過(guò)添 加輸入數(shù)據(jù)交換器以及向旋轉(zhuǎn)因子索引添加偏移來(lái)改變蝶形處理器元 件。包括某種簡(jiǎn)單控制邏輯以確定旋轉(zhuǎn)因子偏移應(yīng)該是多少以及應(yīng)該何 時(shí)交換輸入數(shù)據(jù)?,F(xiàn)在將對(duì)此進(jìn)行更為詳細(xì)的描述。為了有助于理解本發(fā)明的各個(gè)方面,我們分析了針對(duì)W頻點(diǎn)FFT的 示例性單蝶形級(jí)。考慮^個(gè)輸入樣本;<0),...;<7\^)的索引0..JV-1以及執(zhí) 行FFT所需的相應(yīng)iW2個(gè)蝶形,圖5中示意性示出了其蝶形0和K"BF。" 和"BF,")。從FFT算法的推導(dǎo)明顯得出,每個(gè)蝶形SF,都具有分離開iW2 個(gè)輸入樣本的輸入;艮卩,BF,.以x(0和x(z'+iW2)作為其輸入。利用這種布置, 能夠適當(dāng)?shù)赜?jì)算FFT算法,因?yàn)锽F,的輸出能夠重寫變量;c(f)和x(z'+iW2)。在輸入數(shù)據(jù)索引的循環(huán)左移位之后,情況如圖6所示。如果希望如 同沒(méi)有發(fā)生循環(huán)左移位那樣來(lái)計(jì)算FFT,則蝶形操作也必須移位。例如, 之前接收與索引0和iW2相對(duì)應(yīng)的輸入的最左側(cè)蝶形此時(shí)被饋入了與索 引1和AV2+1相對(duì)應(yīng)的輸入。因此,該蝶形不是充當(dāng)BFo,而是變?yōu)槌洚?dāng)類似地,之前接收與索引AV2-1和AM相對(duì)應(yīng)的輸入的最右側(cè)蝶形 此時(shí)被饋入了與索引iW2和0相對(duì)應(yīng)的輸入。因此,該蝶形級(jí)的功能不 是充當(dāng)BF船.,,而是變得與其輸入很好地匹配。然而,可以觀察到,因 為樣本;c(O)從最左側(cè)交換到了最右側(cè)位置,所以這兩個(gè)樣本x(O)和x(iW2) 的輸入順序與標(biāo)準(zhǔn)BFc蝶形相比是相反的。為了表示輸入的這種反轉(zhuǎn), 蝶形被表示為BFo'。對(duì)于輸入數(shù)據(jù)的循環(huán)右移位,情況如圖7所描繪。可以看出,因?yàn)?輸入的變化,最左側(cè)的蝶形可以表示為BF^一 ,而其右邊的鄰居變成BF0。 剩余的蝶形相應(yīng)地變化,最右側(cè)的蝶形變成BFw,w 。圖8是根據(jù)本發(fā)明的方面的示例性基-2 DIF FFT級(jí)800 (此后,稱為 "級(jí)800")的示意圖。為了完成所需的循環(huán)FFT功能,級(jí)800在若干方面 與常規(guī)蝶形級(jí)不同。首先,兩個(gè)輸入被供應(yīng)到兩個(gè)復(fù)用器801、 803的相 應(yīng)一個(gè)。這使得能夠根據(jù)蝶形級(jí)是處于常規(guī)BF-位置(沒(méi)有交換必要)還是處于BF,'位置(必需進(jìn)行交換以撤銷輸入的反轉(zhuǎn))來(lái)有條件地交換 輸入。用于復(fù)用器801、 803的控制邏輯(未示出)可以如下運(yùn)行假定兩 個(gè)輸入x(v)和;c(v+iW2),其中(^v〈JW2,如果(v+s)modWSV/2,或等價(jià)地 (當(dāng)7V是2的冪時(shí)),如果(v +力AiV72-0,則復(fù)用器801、 803會(huì)交換輸入,其中^是移位數(shù),而A表示位邏輯AND操作。否則,不進(jìn)行交換。 s的符號(hào)可用于控制移位的方向,但是為方便起見,可以將s限制在(^s <iV 的范圍內(nèi),因?yàn)橐粋€(gè)方向(例如,左)上的s位的移位等于相反方向(例 如,右)上A^位的移位。第一復(fù)用器801的輸出被供應(yīng)到求和單元805的第一輸入,還被供 應(yīng)到求差單元807的第一輸入。類似地,最后一個(gè)復(fù)用器803的輸出被 供應(yīng)到求和單元805的第二輸入,還被供應(yīng)到求差單元807的第二 俞入。 第二求差單元807的輸出被供應(yīng)到旋轉(zhuǎn)因子邏輯809。級(jí)800不同于常規(guī)蝶形級(jí)的另一方面在于旋轉(zhuǎn)因子邏輯809中使用 的旋轉(zhuǎn)乘法系數(shù)偏移了因子"從而其等于^T一。d^"。如果7V是2的冪,則取模運(yùn)算變得沒(méi)有成本,因?yàn)樗鼘?dǎo)致二進(jìn)制數(shù)系統(tǒng)中的線回 (wrap-around )。級(jí)800供應(yīng)了兩個(gè)輸出第一個(gè)輸出4。由求和單元805供應(yīng)。第 二個(gè)輸出x'("W〃)由旋轉(zhuǎn)因子邏輯809供應(yīng)。多個(gè)級(jí)800可以按照?qǐng)D3所示的方式互連以形成完整的DIF FFT單 元。另選的是,可以將級(jí)800并入到如圖4 (a)所示的設(shè)計(jì)中(用作數(shù) 據(jù)路徑邏輯403的一部分)以生成如上所述的流水線基-2 FFT結(jié)構(gòu)。級(jí)800所示例的蝶形級(jí)使得能夠建立這樣的FFT處理器(這里稱為 "循環(huán)FFT處理器"),該處理器直接計(jì)算前移位或等價(jià)的后旋轉(zhuǎn)數(shù)據(jù)的變 換而無(wú)需單獨(dú)的前移位或后旋轉(zhuǎn)電路。循環(huán)FFT處理器在很多應(yīng)用中是 有用的。這些應(yīng)用包括但不限于補(bǔ)償OFDM接收器中的失位FFT窗口 ; 以及抵消由延遲擴(kuò)展較大的信道導(dǎo)致的旋轉(zhuǎn)。根據(jù)本發(fā)明的設(shè)計(jì)提供了優(yōu)于常規(guī)技術(shù)的很多優(yōu)點(diǎn)。例如,這些設(shè) 計(jì)不會(huì)面臨附加的面積、能量和時(shí)間增長(zhǎng),如果應(yīng)用現(xiàn)有技術(shù)的前移位或后旋轉(zhuǎn)方法來(lái)執(zhí)行相同的操作則將會(huì)導(dǎo)致這種附加的面積、能量和時(shí)間增長(zhǎng)。因?yàn)橐莆皇窃贔FT處理器內(nèi)部進(jìn)行的,所以處理器的整體控制也被簡(jiǎn)化,且除了傳達(dá)移位量的輸入信號(hào)s以外,不需要添加附加的塊或引線。對(duì)于系統(tǒng)設(shè)計(jì)者而言,附加的移位功能隱藏在FFT硬件中。根據(jù)本發(fā)明的循環(huán)FFT在這樣的情況下尤其有用樣本并不是以恰 當(dāng)?shù)捻樞蛄x(0),義(1)42),...;<7^1)到達(dá)的,而是循環(huán)移位了某個(gè)量"因而 以xO),x(s+l),;^+2),…;c(A^l),x(0),;c(l),…々-l)的順序到達(dá)。例如,這可能 在OFDM接收器中存在不恰當(dāng)放置的FFT窗口時(shí)發(fā)生。而且,可能由于 通過(guò)延遲擴(kuò)展較大的信道的傳播而造成輸入樣本的不希望的循環(huán)移4立。 此處教示的循環(huán)FFT可用于解決這些問(wèn)題,因?yàn)樗軌蛉缤斎霕颖緵](méi) 有任何移位那樣生成相同的FFT輸出。從概念上來(lái)講,它就好像在i十算 之前FFT處理器己經(jīng)在相反的方向使輸入循環(huán)移位了量s,盡管如圖所 示,不需要實(shí)際的移位來(lái)完成這點(diǎn)。這些實(shí)施方式將包括用于確定輸入 樣本的循環(huán)移位量和控制FFT處理器來(lái)使用與輸入樣本的循環(huán)移位量相 同但是方向相反的s值的邏輯。已經(jīng)參照特定實(shí)施方式描述了本發(fā)明,然而,對(duì)于本領(lǐng)域技術(shù)人員 而言,很明顯,可以按照不同于上述實(shí)施方式的特定形式來(lái)實(shí)施本發(fā)明。 所述實(shí)施方式僅是說(shuō)明性的且不應(yīng)被認(rèn)為是任意形式的限制。本發(fā)明的 范圍由所附權(quán)利要求而不是前面的描述給出,且此處旨在涵蓋落在禾又利 要求范圍內(nèi)的所有的變型和等價(jià)形式。
權(quán)利要求
1、一種在N頻點(diǎn)FFT中使用的頻率抽取(DIF)快速傅里葉變換(FFT)級(jí),其中N是整數(shù),該DIF FFT級(jí)包括交換邏輯,其接收第一輸入樣本x(v)和第二輸入樣本x(v+N/2),并選擇性地在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第一輸入樣本和第二輸入樣本,或者另選地在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第二輸入樣本和第一輸入樣本,其中0≤v<N/2;求和單元,用于對(duì)第一交換邏輯輸出端口和第二交換邏輯輸出端口所供應(yīng)的值進(jìn)行相加;求差單元,用于對(duì)第一交換邏輯輸出端口和第二交換邏輯輸出端口所供應(yīng)的值進(jìn)行相減;以及旋轉(zhuǎn)因子邏輯,其將該求差單元所供應(yīng)的值乘以旋轉(zhuǎn)因子WN(v+s)mod(N/2),其中s是表示N個(gè)輸入樣本的循環(huán)移位量的整數(shù)。
2、 一種快速傅里葉變換(FFT)處理器,該FFT處理器包括 權(quán)利要求1所述的DIFFFT級(jí);以及邏輯,其通過(guò)當(dāng)(v + "modiV〈iW2時(shí)在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第一輸入樣本和第二輸入樣本,而當(dāng) (v +力modTV2 7V/2時(shí)在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第二輸入樣本和第一輸入樣本,來(lái)控制該交換邏輯。
3、 一種正交頻分復(fù)用(OFDM)接收器,該OFDM接收器包括 權(quán)利要求2所述的FFT處理器;以及邏輯,其確定這些輸入樣本的循環(huán)移位量并控制該FFT處理器來(lái)使 用與這些輸入樣本的旋轉(zhuǎn)量相等但是方向相反的s值。
4、 根據(jù)權(quán)利要求3所述的OFDM接收器,其中這些輸入樣本的循 環(huán)移位是由不恰當(dāng)放置的FFT窗口所造成的。
5、 根據(jù)權(quán)利要求3所述的OFDM接收器,其中這些輸入樣本的循 環(huán)移位是由這些輸入樣本通過(guò)具有較大延遲擴(kuò)展的信道而傳播所造成的。
6、 一種快速傅里葉變換(FFT)處理器,該FFT處理器包括 權(quán)利要求1所述的DIFFFT級(jí);以及邏輯,其通過(guò)當(dāng)0z + "a7V/2-O時(shí)在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第一輸入樣本和第二輸入樣本,而當(dāng) (v + s)a^/2;^0時(shí)在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第二輸入樣本和第一輸入樣本,來(lái)控制該交換邏輯,其中a表示位邏輯AND運(yùn)算。
7、 一種執(zhí)行在iV頻點(diǎn)傅里葉變換中使用的頻率抽取(DIF)快速傅 里葉變換(FFT)的方法,其中W是偶數(shù),該DIF FFT方法包括以下步驟接收第一輸入樣本和第二輸入樣本x(v + W/2),并選擇性地在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第一輸入樣 本和第二輸入樣本,或者另選地在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第二輸入樣本和第一輸入樣本,其中0^v/〈iV/2;對(duì)第一交換邏輯輸出端口和第二交換邏輯輸出端口所供應(yīng)的值進(jìn)行相加;通過(guò)對(duì)第一交換邏輯輸出端口和第二交換邏輯輸出端口所供應(yīng)的值 進(jìn)行相減而生成差值;以及將該差值乘以旋轉(zhuǎn)因子壞^"—od(WZ2),其中S是表示iV個(gè)輸入樣本的循環(huán)移位量的整數(shù)。
8、 根據(jù)權(quán)利要求7所述的方法,該方法包括以下步驟當(dāng)(v + "mod7V^A72時(shí)在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第一輸入樣本和第二輸入樣本,而當(dāng) (v + "modiV2iV/2時(shí)在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第二輸入樣本和第一輸入樣本。
9、 根據(jù)權(quán)利要求8所述的方法,該方法包括以下步驟 確定這些輸入樣本的循環(huán)移位量,并將^設(shè)置為與這些輸入樣本的
10、根據(jù)權(quán)利要求9所述的方法,其中這些輸入樣本的循環(huán)移^^是由不恰當(dāng)放置的FFT窗口所造成的。
11、根據(jù)權(quán)利要求9所述的方法,其中這些輸入樣本的循環(huán)移位是由這些輸入樣本通過(guò)具有較大延遲擴(kuò)展的信道而傳播所造成的。
12、根據(jù)權(quán)利要求7所述的方法,該方法包括以下步驟當(dāng)O + "aW/2-0時(shí)在相應(yīng)的第一交換邏輯輸出端口和第二交換邏 輯輸出端口供應(yīng)第一輸入樣本和第二輸入樣本,而當(dāng)(v +》a A72 * 0時(shí) 在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第二輸入 樣本和第一輸入樣本,其中a表示位邏輯AND運(yùn)算。
全文摘要
一種在N頻點(diǎn)FFT中使用的DIF FFT級(jí),其中N是偶數(shù)。該DIF FFT級(jí)包括交換邏輯,該交換邏輯接收第一輸入樣本x(v)和第二輸入樣本x(v+N/2),并選擇性地在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第一輸入樣本和第二輸入樣本,或者另選地在相應(yīng)的第一交換邏輯輸出端口和第二交換邏輯輸出端口供應(yīng)第二輸入樣本和第一輸入樣本,其中0≤v<N/2。該DIF FFT級(jí)還包括求和單元,用于對(duì)第一交換邏輯輸出端口和第二交換邏輯輸出端口所供應(yīng)的值進(jìn)行相加;求差單元,用于對(duì)第一交換邏輯輸出端口和第二交換邏輯輸出端口所供應(yīng)的值進(jìn)行相減;以及旋轉(zhuǎn)因子邏輯,其將該求差單元所供應(yīng)的值乘以旋轉(zhuǎn)因子W<sub>N</sub><sup>(v+s)mod(N/2)</sup>,其中s是表示N個(gè)輸入樣本的循環(huán)移位量的整數(shù)。
文檔編號(hào)H04L27/26GK101331479SQ200680047246
公開日2008年12月24日 申請(qǐng)日期2006年12月12日 優(yōu)先權(quán)日2005年12月14日
發(fā)明者利夫·威廉松, 吉姆·斯文森, 安德斯·貝爾克曼 申請(qǐng)人:Lm愛立信電話有限公司