国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      快速傅里葉變換旋轉(zhuǎn)乘法的制作方法

      文檔序號(hào):7637063閱讀:350來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):快速傅里葉變換旋轉(zhuǎn)乘法的制作方法
      技術(shù)領(lǐng)域
      本申請(qǐng)涉及無(wú)線通信和無(wú)線通信信號(hào)處理的領(lǐng)域。更具體地講,本申請(qǐng)涉 及正交頻分復(fù)用(OFDM)信號(hào)的快速傅里葉變換(FFT)處理。
      背景技術(shù)
      正交頻分復(fù)用(OFDM)是一種多載波調(diào)制技術(shù),它將整個(gè)系統(tǒng)帶寬劃分成 多個(gè)(N個(gè))正交的子帶。這些子帶也被稱(chēng)為頻調(diào)、副載波、槽(bin)以及頻 道。使用OFDM時(shí),每一個(gè)子帶都與可能用數(shù)據(jù)來(lái)調(diào)制的各個(gè)副載波相關(guān)聯(lián)。
      在無(wú)線通信系統(tǒng)中,射頻(RF)調(diào)制信號(hào)可以通過(guò)許多信號(hào)通道從發(fā)射機(jī)前 進(jìn)到接收機(jī)。如果這些信號(hào)通道具有不同的延遲,則接收機(jī)處所接收到的信號(hào) 將包括多個(gè)其增益和延遲不同的發(fā)送信號(hào)的實(shí)例。無(wú)線信道中的這種時(shí)間分散 引起了頻率選擇性衰減,其特征在于在系統(tǒng)帶寬上頻率響應(yīng)不斷變化。對(duì)于 OFDM系統(tǒng),這N個(gè)子帶可能由此經(jīng)歷不同的有效信道,并且因此可能與不同 的復(fù)合信道增益相關(guān)聯(lián)。
      與其它通信系統(tǒng)中對(duì)接收到的信號(hào)的處理相比,OFDM系統(tǒng)的處理可能復(fù) 雜得多。就處理能力而言,所需的大處理量給接收機(jī)帶來(lái)了很大的負(fù)擔(dān)。期望 能夠增大OFDM接收機(jī)中的處理能力,以允許使用調(diào)制方案的通信系統(tǒng)迅速擴(kuò)大。

      發(fā)明內(nèi)容
      本文描述了用于OFDM接收機(jī)的FFT處理器以及用于在OFDM系統(tǒng)中處 理接收到的碼元的方法。FFT處理器包括多個(gè)相互關(guān)聯(lián)的操作塊,配置這些操 作塊以便對(duì)OFDM碼元執(zhí)行數(shù)據(jù)解調(diào)、信道估計(jì)以及精確定時(shí)獲取。FFT處理 器包括一種使用與信道估計(jì)和解調(diào)塊共享的存儲(chǔ)器體系結(jié)構(gòu)的流水線化FFT引 擎。共享存儲(chǔ)器結(jié)構(gòu)與流水線化FFT操作的組合能夠在捕獲下一個(gè)接收到的碼 元所用的時(shí)間內(nèi)完成信道估計(jì)和解調(diào)處理。
      共享存儲(chǔ)器可以排列成多個(gè)存儲(chǔ)體,這些存儲(chǔ)體與它們所支持的功能塊相 關(guān)聯(lián)。FFT處理器的定時(shí)規(guī)定了存儲(chǔ)體、用于尋址各種存儲(chǔ)體的數(shù)據(jù)與控制復(fù) 用器的操作。
      流水線化FFT引擎是FFT處理器的骨干,并且用在由FFT處理器執(zhí)行的 信道估計(jì)和時(shí)間獲取過(guò)程中。在接下來(lái)處理基礎(chǔ)數(shù)據(jù)的過(guò)程中,使用了信道估 計(jì)數(shù)值。
      描述了一種FFT引擎,它實(shí)現(xiàn)了在多級(jí)中應(yīng)用旋轉(zhuǎn)乘法(twiddle multiplication)的循環(huán)計(jì)數(shù)方法。當(dāng)實(shí)現(xiàn)多級(jí)FFT時(shí)(比如一種基于基數(shù)-8芯 的實(shí)現(xiàn)方式),中間數(shù)值需要乘以各種旋轉(zhuǎn)因子(twiddle factor)。在有效的 流水線中,上述FFT引擎使用最少數(shù)目的乘法器來(lái)執(zhí)行旋轉(zhuǎn)乘法。基于FFT 基數(shù)和每一行存儲(chǔ)器中數(shù)值的數(shù)量來(lái)優(yōu)化復(fù)數(shù)乘法器的數(shù)量這一做法允許用
      合理的存儲(chǔ)空間量和最少的循環(huán)次數(shù)來(lái)執(zhí)行FFT函數(shù)。這些數(shù)值的戰(zhàn)略性排序 和分組允許以更少的循環(huán)次數(shù)來(lái)執(zhí)行FFT操作。
      一個(gè)方面包括一種FFT處理裝置,該裝置包括樣本存儲(chǔ)器,存儲(chǔ)許多樣 本數(shù)值,每行存儲(chǔ)等于FFT的基數(shù)的樣本數(shù)值;轉(zhuǎn)置存儲(chǔ)器;蝶形運(yùn)算芯 (butterfly core),它被配置成接收來(lái)自樣本存儲(chǔ)器的一行數(shù)值、對(duì)這些數(shù)值 執(zhí)行蝶形運(yùn)算操作、并將結(jié)果寫(xiě)到轉(zhuǎn)置存儲(chǔ)器的列中;以及乘法器模塊,它被 配置成從轉(zhuǎn)置存儲(chǔ)器中檢索預(yù)定數(shù)目的相鄰數(shù)值并且使每一個(gè)這樣的數(shù)值都 乘以旋轉(zhuǎn)因子。
      另一方面包括一種FFT處理裝置,該裝置包括樣本存儲(chǔ)器,它適于在每一行中存儲(chǔ)8個(gè)復(fù)數(shù)樣本數(shù)值;轉(zhuǎn)置存儲(chǔ)器,它排列成8X8個(gè)存儲(chǔ)單元;基 數(shù)-8蝶形運(yùn)算芯,它適于檢索一行數(shù)值、執(zhí)行基數(shù)-8蝶形運(yùn)算操作、并將輸出 數(shù)值按列寫(xiě)入轉(zhuǎn)置存儲(chǔ)器中;旋轉(zhuǎn)存儲(chǔ)器,它適于在每一行中存儲(chǔ)四個(gè)旋轉(zhuǎn)數(shù) 值;以及具有四個(gè)復(fù)數(shù)乘法器的乘法器模塊,它適于檢索來(lái)自旋轉(zhuǎn)存儲(chǔ)器的一 行和來(lái)自轉(zhuǎn)置存儲(chǔ)器的四個(gè)相鄰數(shù)值、利用來(lái)自旋轉(zhuǎn)存儲(chǔ)器行中的數(shù)值對(duì)來(lái)自 相鄰轉(zhuǎn)置存儲(chǔ)單元的四個(gè)數(shù)值執(zhí)行復(fù)數(shù)乘法、以及將乘積回寫(xiě)到四個(gè)相鄰轉(zhuǎn)置 存儲(chǔ)單元。
      另一方面包括一種用于執(zhí)行FFT處理操作的方法。該方法包括讀取多行 樣本存儲(chǔ)器,每行等于FFT的基數(shù);針對(duì)一行樣本存儲(chǔ)器中的數(shù)值確定蝶形運(yùn) 算蝶形并且將這些蝶形運(yùn)算數(shù)值按列寫(xiě)入轉(zhuǎn)置存儲(chǔ)器中;檢索一行旋轉(zhuǎn)因子, 該行存儲(chǔ)了多個(gè)旋轉(zhuǎn)因子數(shù)值;在單次循環(huán)中使多個(gè)蝶形運(yùn)算數(shù)值乘以旋轉(zhuǎn)因 子數(shù)值以產(chǎn)生經(jīng)旋轉(zhuǎn)的蝶形運(yùn)算數(shù)值;以及將經(jīng)旋轉(zhuǎn)的蝶形運(yùn)算數(shù)值回寫(xiě)到上 述多個(gè)蝶形運(yùn)算數(shù)值的存儲(chǔ)單元。
      另一方面包括一種FFT處理裝置,包括用于存儲(chǔ)許多樣本數(shù)值的裝置, 每一行中所存儲(chǔ)的個(gè)數(shù)等于FFT的基數(shù);用于轉(zhuǎn)置多個(gè)數(shù)值的裝置;用于計(jì)算
      蝶形運(yùn)算數(shù)值的裝置,該裝置被配置成接收來(lái)自樣本存儲(chǔ)器的一行數(shù)值、對(duì)這
      些數(shù)值執(zhí)行蝶形運(yùn)算操作、并將結(jié)果寫(xiě)入轉(zhuǎn)置存儲(chǔ)器的列中;以及用于使來(lái)自
      轉(zhuǎn)置存儲(chǔ)器的預(yù)定數(shù)目的相鄰數(shù)值乘以相應(yīng)的旋轉(zhuǎn)因子的裝置。
      另一方面包括計(jì)算機(jī)可讀介質(zhì),用計(jì)算機(jī)程序?qū)υ撚?jì)算機(jī)可讀介質(zhì)進(jìn)行編
      碼以執(zhí)行如下步驟讀取等于FFT基數(shù)的多行樣本存儲(chǔ)器,每行的個(gè)數(shù)等于 FFT的基數(shù);針對(duì)一行樣本存儲(chǔ)器中的數(shù)值確定蝶形運(yùn)算蝶形并將這些蝶形運(yùn) 算數(shù)值按列寫(xiě)入轉(zhuǎn)置存儲(chǔ)器中;檢索一行旋轉(zhuǎn)因子,該行中存儲(chǔ)了多個(gè)旋轉(zhuǎn)因 子數(shù)值;在單次循環(huán)中使多個(gè)蝶形運(yùn)算數(shù)值乘以旋轉(zhuǎn)因子數(shù)值以產(chǎn)生經(jīng)旋轉(zhuǎn)的 蝶形運(yùn)算數(shù)值;以及將經(jīng)旋轉(zhuǎn)的蝶形運(yùn)算數(shù)值回寫(xiě)到上述多個(gè)蝶形運(yùn)算數(shù)值的 存儲(chǔ)單元。


      下文結(jié)合附圖從詳細(xì)描述中能更清楚地看到本發(fā)明各實(shí)施方式的特點(diǎn)、目 標(biāo)和優(yōu)點(diǎn),其中相同的元件用相同的標(biāo)號(hào)來(lái)表示。圖1是無(wú)線通信系統(tǒng)的一個(gè)實(shí)施方式的功能框圖。
      圖2是OFDM接收機(jī)的一個(gè)實(shí)施方式的簡(jiǎn)化功能框圖。
      圖3是用于OFDM系統(tǒng)的FFT處理器的一個(gè)實(shí)施方式的簡(jiǎn)化功能框圖。
      圖4是用于OFDM系統(tǒng)的FFT處理器的一個(gè)實(shí)施方式的簡(jiǎn)化功能框圖。
      圖5是OFDM交織處理的一個(gè)實(shí)施方式的簡(jiǎn)化功能框圖。
      圖6是在OFDM處理器中共享存儲(chǔ)器使用情況的簡(jiǎn)化時(shí)間線。
      圖7是導(dǎo)頻信道處理的一個(gè)實(shí)施方式的簡(jiǎn)化功能框圖。
      圖8是邏輯信道控制邏輯的一個(gè)實(shí)施方式的簡(jiǎn)化狀態(tài)圖。
      圖9是FFT處理器的一個(gè)實(shí)施方式的簡(jiǎn)化狀態(tài)圖。
      圖IO是FFT引擎的一個(gè)實(shí)施方式的簡(jiǎn)化功能框圖。
      圖11是基數(shù)-8FFT蝶形運(yùn)算的一個(gè)實(shí)施方式的簡(jiǎn)化功能框圖。
      圖12是基數(shù)-8FFT蝶形運(yùn)算的前兩個(gè)狀態(tài)的實(shí)施方式的簡(jiǎn)化功能框圖。
      圖13是一級(jí)基數(shù)-8 FFT蝶形運(yùn)算的一實(shí)施方式的簡(jiǎn)化功能框圖。
      圖14是基數(shù)-8FFT中的旋轉(zhuǎn)乘法順序的簡(jiǎn)化表示。
      圖15是流水線化基數(shù)-8FFT操作的簡(jiǎn)化時(shí)序圖。
      圖16是流水線化256-點(diǎn)FFT的簡(jiǎn)化時(shí)序圖。
      圖17是一種用于處理OFDM信號(hào)的方法的簡(jiǎn)化流程圖。
      圖18是一種用于對(duì)碼元樣本進(jìn)行解調(diào)的方法的簡(jiǎn)化流程圖。
      圖19是一種用于處理OFDM信號(hào)的方法的簡(jiǎn)化流程圖。
      圖20是FFT處理器的簡(jiǎn)化功能框圖。
      圖21是FFT引擎的簡(jiǎn)化功能框圖。
      具體實(shí)施例方式
      圖1是無(wú)線通信系統(tǒng)100的一實(shí)施方式的簡(jiǎn)化功能框圖。該系統(tǒng)包括可與 用戶(hù)終端110進(jìn)行通信的一個(gè)或多個(gè)固定元件。用戶(hù)終端110可以是例如無(wú)線 電話(huà),將其配置成根據(jù)一種或多種通信標(biāo)準(zhǔn)來(lái)進(jìn)行工作。例如,用戶(hù)終端110 可以被配置成接收來(lái)自第一通信網(wǎng)絡(luò)的無(wú)線電話(huà)信號(hào),并且可以被配置成接收 來(lái)自第二通信網(wǎng)絡(luò)的數(shù)據(jù)和信息。
      用戶(hù)終端110可以是便攜式單元、移動(dòng)的單元、或固定的單元。用戶(hù)終端110也可以被稱(chēng)為移動(dòng)單元、移動(dòng)終端、移動(dòng)站、用戶(hù)設(shè)備、便攜電話(huà)等。盡 管圖1只示出了單個(gè)用戶(hù)終端110,但是應(yīng)該理解,典型的無(wú)線通信系統(tǒng)100 能夠與多個(gè)用戶(hù)終端110進(jìn)行通信。
      用戶(hù)終端110通常與一個(gè)或多個(gè)基站120a或120b進(jìn)行通信,此處這些基 站被描繪成分地區(qū)的蜂窩塔。用戶(hù)終端IIO通常將與在用戶(hù)終端110內(nèi)的接收 機(jī)處提供最強(qiáng)信號(hào)強(qiáng)度的那個(gè)基站(例如120b)進(jìn)行通信。
      基站120a和120b各自可以耦合到基站控制器(BSC)140,該控制器將通信 信號(hào)路由到合適的基站120a和120b并且路由來(lái)自合適的基站120a和120b的 通信信號(hào)。BSC 140耦合到移動(dòng)交換中心(MSC) 150,可以配置MSC以使其充 當(dāng)用戶(hù)終端110和公共交換電話(huà)網(wǎng)絡(luò)(PSTN) 150之間的接口 。還可以配置MSC 以使其充當(dāng)用戶(hù)終端IIO和網(wǎng)絡(luò)160之間的接口。例如,網(wǎng)絡(luò)160可以是局域 網(wǎng)(LAN)或廣域網(wǎng)(WAN)。在一個(gè)實(shí)施方式中,網(wǎng)絡(luò)160包括互聯(lián)網(wǎng)。因此, MSC 150耦合到PSTN 150和網(wǎng)絡(luò)160。 MSC 150也可以耦合到一個(gè)或多個(gè)媒 體源170。例如,媒體源170可以是由系統(tǒng)供應(yīng)商提供的媒體庫(kù),用戶(hù)終端110 可以訪問(wèn)得到。例如,系統(tǒng)供應(yīng)商可以提供視頻或一些其它形式的媒體,用戶(hù) 終端110可以按需要來(lái)訪問(wèn)。還可以配置MSC 150以與其它通信系統(tǒng)(未示出) 協(xié)調(diào)系統(tǒng)之間的移交切換。
      無(wú)線通信系統(tǒng)100還可以包括廣播發(fā)射機(jī)180,配置該廣播發(fā)射機(jī)以將信 號(hào)發(fā)送到用戶(hù)終端IIO。在一個(gè)實(shí)施方式中,廣播發(fā)射機(jī)180可以與基站120a 和120b相關(guān)聯(lián)。在另一個(gè)實(shí)施方式中,廣播發(fā)射機(jī)180可以不同于并且獨(dú)立 于含基站120a和120b的無(wú)線電話(huà)系統(tǒng)。廣播發(fā)射機(jī)180可以但不限于音頻發(fā) 射機(jī)、視頻發(fā)射機(jī)、無(wú)線電發(fā)射機(jī)、電視發(fā)射機(jī)等、或這些發(fā)射機(jī)的某種組合。 盡管無(wú)線通信系統(tǒng)100中只示出了一個(gè)廣播發(fā)射機(jī)180,但是無(wú)線通信系統(tǒng)100 可以被配置成支持多個(gè)廣播發(fā)射機(jī)180。
      在重疊覆蓋區(qū)域,多個(gè)廣播發(fā)射機(jī)180可以發(fā)送信號(hào)。用戶(hù)終端110可以 同時(shí)接收來(lái)自多個(gè)廣播發(fā)射機(jī)180的信號(hào)。多個(gè)廣播發(fā)射機(jī)180可以被配置成 廣播完全一樣的、不同的、或相似的廣播信號(hào)。例如,其覆蓋區(qū)域與第一廣播 發(fā)射機(jī)的覆蓋區(qū)域相重疊的第二廣播發(fā)射機(jī)也可以廣播由第一廣播發(fā)射機(jī)所 廣播的信息的子集。廣播發(fā)射機(jī)180可以被配置成接收來(lái)自廣播媒體源182的數(shù)據(jù),并且可以 被配置成對(duì)該數(shù)據(jù)進(jìn)行編碼、基于編碼后的數(shù)據(jù)調(diào)制信號(hào)、并將調(diào)制后的數(shù)據(jù) 廣播到終端用戶(hù)IIO可接收到該數(shù)據(jù)的服務(wù)區(qū)域。
      在一個(gè)實(shí)施方式中,基站120a和120b之一或兩者以及廣播發(fā)射機(jī)180發(fā) 送正交頻分復(fù)用(OFDM)信號(hào)。OFDM信號(hào)可以包括被調(diào)制到預(yù)定工作波帶處 一個(gè)或多個(gè)載波上的多個(gè)OFDM碼元。
      OFDM通信系統(tǒng)將OFDM用于數(shù)據(jù)和導(dǎo)頻傳輸。OFDM是一種多載波調(diào) 制技術(shù),該技術(shù)將整個(gè)系統(tǒng)帶寬劃分成多個(gè)(K個(gè))正交頻率子帶。這些子帶也 被稱(chēng)為頻調(diào)、載波、副載波、槽以及頻道。使用OFDM時(shí),每一子帶與可用數(shù) 據(jù)對(duì)其進(jìn)行調(diào)制的各副載波相關(guān)聯(lián)。
      OFDM系統(tǒng)中的發(fā)射機(jī)(比如廣播發(fā)射機(jī)180)可以向無(wú)線設(shè)備同時(shí)發(fā)送 多個(gè)數(shù)據(jù)流。這些數(shù)據(jù)流本質(zhì)是可以是連續(xù)的或脈沖的,可以具有固定的或可 變的數(shù)據(jù)速率,并且可以使用相同的或不同的編碼和調(diào)制方案。發(fā)射機(jī)也可以 發(fā)送導(dǎo)頻以幫助無(wú)線設(shè)備執(zhí)行許多功能,比如時(shí)間同步、頻率跟蹤、信道估計(jì) 等。導(dǎo)頻是一種發(fā)射機(jī)和接收機(jī)都事先知道的傳輸。
      廣播發(fā)射機(jī)180可以根據(jù)交織子帶結(jié)構(gòu)來(lái)發(fā)送OFDM碼元。OFDM交織 結(jié)構(gòu)包括總共K個(gè)子帶,其中K〉1。 U個(gè)子帶可以被用于數(shù)據(jù)和導(dǎo)頻傳輸并 且被稱(chēng)為可用子帶,其中IKK。其余G個(gè)子帶沒(méi)有被使用并且被稱(chēng)為防護(hù)子 帶,其中G^K-U。作為一個(gè)示例,系統(tǒng)可以利用總共有〖=4096個(gè)子帶的 OFDM結(jié)構(gòu),其中11 = 4000個(gè)可用子帶和0 = 96個(gè)防護(hù)子帶。為了簡(jiǎn)化,下 文假定所有K個(gè)總共的子帶都是可用的并且被分配有指數(shù)0到K-1,所以U二K 且G=0。
      總共K個(gè)子帶可以排列成M個(gè)交織或非重疊子帶集。這M個(gè)交織是非重 疊的或不連續(xù)的,因?yàn)榭偣睰個(gè)子帶中的每一個(gè)子帶只屬于一個(gè)交織。每一個(gè) 交織包含P個(gè)子帶,其中P-K/M。每一個(gè)交織中的P個(gè)子帶可以均勻分布在 總共K個(gè)子帶上,使得該交織中連續(xù)的子帶彼此都間隔了 M個(gè)子帶。例如, 交織0可以包含子帶0、 M、 2M等,交織1可以包含子帶1、 M + 1、 2M + 1 等,并且交織M-l可以包含子帶M - 1、 2M- 1、 3M- 1等。對(duì)于上述K- 4096 的典型OFDM結(jié)構(gòu),可以形成M = 8個(gè)交織,并且每一個(gè)交織可以包含P = 512個(gè)子帶,這些子帶彼此均勻間隔了 8個(gè)子帶。由此,每一個(gè)交織中的P個(gè)子帶 都與其它M-l個(gè)交織中的每一個(gè)交織的P個(gè)子帶交織在一起。
      通常,廣播發(fā)射機(jī)180可以實(shí)現(xiàn)任何OFDM結(jié)構(gòu),其總子帶數(shù)、可用子帶 數(shù)和防護(hù)子帶數(shù)都可任選。也可以形成任何數(shù)目的交織。每一個(gè)交織可以包含 任何數(shù)目的子帶以及總共K個(gè)子帶中的任一個(gè)子帶。這些交織可以包含相同或 不同數(shù)目的子帶。為了簡(jiǎn)化,下文的大部分描述都涉及N^8個(gè)交織且每一個(gè)交 織包含P:512個(gè)均勻分布的子帶這樣一種交織子帶結(jié)構(gòu)。這種子帶結(jié)構(gòu)提供了 若干個(gè)優(yōu)點(diǎn)。首先,實(shí)現(xiàn)了頻率分集,因?yàn)槊恳粋€(gè)交織包含了在整個(gè)系統(tǒng)帶寬 上取出的子帶。其次,無(wú)線設(shè)備可以通過(guò)執(zhí)行部分P-點(diǎn)快速傅里葉變換(FFT) 而非完整K-點(diǎn)FFT (這可以簡(jiǎn)化無(wú)線設(shè)備處的處理),從而恢復(fù)在給定的交織 上所發(fā)送的數(shù)據(jù)或?qū)ьl。
      廣播發(fā)射機(jī)180可以在一個(gè)或多個(gè)交織上發(fā)送頻分復(fù)用(FDM)導(dǎo)頻,以允 許無(wú)線設(shè)備執(zhí)行各種功能,比如信道估計(jì)、頻率跟蹤、時(shí)間跟蹤等。導(dǎo)頻是基 站和無(wú)線設(shè)備都事先知道的調(diào)制碼元構(gòu)成的,它們也被稱(chēng)為導(dǎo)頻碼元。用戶(hù)終 端110可以基于接收到的導(dǎo)頻碼元和已知的發(fā)送過(guò)的導(dǎo)頻碼元來(lái)估計(jì)無(wú)線信道 的頻率響應(yīng)。用戶(hù)終端110能夠在用于導(dǎo)頻傳輸?shù)拿恳粋€(gè)子帶處對(duì)無(wú)線信道的 頻譜進(jìn)行采樣。
      系統(tǒng)100可以在OFDM系統(tǒng)中定義M個(gè)插槽(slot)以便于將數(shù)據(jù)流映射 到多個(gè)交織。每一個(gè)插槽可以被視為一個(gè)傳輸單元或一個(gè)用于發(fā)送數(shù)據(jù)或?qū)ьl 的裝置。用于數(shù)據(jù)的插槽被稱(chēng)為數(shù)據(jù)插槽,用于導(dǎo)頻的插槽被稱(chēng)為導(dǎo)頻插槽。 M個(gè)插槽可以被分配有指數(shù)0到M-1。插槽O可以用于導(dǎo)頻,插槽1到M-1可 以用于數(shù)據(jù)。數(shù)據(jù)流可以在插槽1到M-l上進(jìn)行發(fā)送。使用具有固定指數(shù)的插 槽可以簡(jiǎn)化插槽到數(shù)據(jù)流的分配。每一個(gè)插槽可以被映射到一個(gè)時(shí)間間隔中的 一個(gè)交織?;谀軐?shí)現(xiàn)頻率分集以及良好的信道估計(jì)和檢測(cè)性能的"插槽-交織" 映射方案,M個(gè)插槽可以被映射到不同時(shí)間間隔中的M個(gè)交織中不同的交織。 通常,時(shí)間間隔可以橫跨一個(gè)或多個(gè)碼元周期。下面的描述假定時(shí)間間隔橫跨 一個(gè)碼元周期。
      圖2是可實(shí)現(xiàn)于圖1所示用戶(hù)終端中的OFDM接收機(jī)200的簡(jiǎn)化功能框圖。 接收機(jī)200可以被配置成實(shí)現(xiàn)本文所描述的FFT處理塊以便對(duì)接收到的OFDM碼元進(jìn)行處理。
      接收機(jī)200包括接收機(jī)RF處理器210,它被配置成通過(guò)RF信道接收已發(fā) 送的RFOFDM碼元、處理這些碼元并且將它們頻率轉(zhuǎn)換成基帶OFDM碼元或 基本上將它們轉(zhuǎn)換成基帶信號(hào)。如果離基帶信號(hào)的頻率偏移是信號(hào)帶寬的分 數(shù),或者如果信號(hào)處于足夠低的中頻處以允許直接處理該信號(hào)而無(wú)需進(jìn)一步作 頻率轉(zhuǎn)換,則信號(hào)可以基本上被稱(chēng)為基帶信號(hào)。來(lái)自接收RF處理器210的 OFDM碼元耦合到幀同步器420。
      幀同步器420可以被配置成使接收機(jī)200與碼元定時(shí)同步。在一個(gè)實(shí)施方 式中,幀同步器可以被配置成使接收機(jī)同步到超幀定時(shí)并且同步到超幀內(nèi)的碼 元定時(shí)。
      幀同步器220可以被配置成基于為使插槽-交織映射不斷重復(fù)所必需的碼 元數(shù)量,確定一個(gè)交織。在一個(gè)實(shí)施方式中,插槽-交織映射可以每14個(gè)碼元 之后就重復(fù)一次。幀同步器220可以從碼元計(jì)數(shù)中確定模數(shù)-14碼元指數(shù)。接 收機(jī)200可以使用該模數(shù)-14碼元指數(shù)來(lái)確定導(dǎo)頻交織以及與所分配的數(shù)據(jù)插 槽相對(duì)應(yīng)的一個(gè)或多個(gè)交織。
      幀同步器220可以基于許多因素并利用任何技術(shù)來(lái)使接收機(jī)定時(shí)同步。例 如,幀同步器220可以對(duì)OFDM碼元進(jìn)行解調(diào),并且可以從解調(diào)后的碼元中確 定超幀定時(shí)。在另一個(gè)實(shí)施方式中,例如在開(kāi)銷(xiāo)信道中,幀同步器220可以基 于一個(gè)或多個(gè)碼元內(nèi)所接收到的信息來(lái)確定超幀定時(shí)。在另一個(gè)實(shí)施方式中, 幀同步器220通過(guò)經(jīng)不同信道接收信息(比如通過(guò)對(duì)不同于OFDM碼元而接收 到的開(kāi)銷(xiāo)信道進(jìn)行解調(diào)),使接收機(jī)200同步化。當(dāng)然,幀同步器220可以使 用用于實(shí)現(xiàn)同步的任何方式,并且用于實(shí)現(xiàn)同步的方式并不必然地限制用于確 定模數(shù)碼元計(jì)數(shù)的方式。
      幀同步器220的輸出耦合到樣本映射230,樣本映射230可以被配置成對(duì) OFDM碼元進(jìn)行解調(diào)并且將碼元樣本或碼片從串行數(shù)據(jù)通路映射到多個(gè)并行數(shù) 據(jù)通路中的任一個(gè)。例如,樣本映射220可以被配置成將OFDM碼片中的每一 個(gè)碼片映射到與OFDM系統(tǒng)中的子帶或副載波的數(shù)目相對(duì)應(yīng)的多個(gè)并行數(shù)據(jù) 通道之一。
      樣本映射230的輸出耦合到FFT模塊240,該模塊240被配置成將OFDM碼元變換成相應(yīng)的頻域子帶。FFT模塊240可以被配置成基于模數(shù)-14碼元計(jì) 數(shù)來(lái)確定與導(dǎo)頻插槽相對(duì)應(yīng)的交織。FFT模塊240可以被配置成將一個(gè)或多個(gè) 子帶(比如預(yù)定的導(dǎo)頻子帶)耦合到信道估計(jì)器250。導(dǎo)頻子帶可以是例如一 個(gè)或多個(gè)等間隔的OFDM子帶的集合,它們橫跨OFDM碼元的帶寬。
      信道估計(jì)器250被配置成使用導(dǎo)頻子帶來(lái)估計(jì)對(duì)接收到的OFDM碼元有影 響的各種信道。在一個(gè)實(shí)施方式中,信道估計(jì)器250可以被配置成確定與每一 個(gè)數(shù)據(jù)子帶相對(duì)應(yīng)的信道估計(jì)。
      來(lái)自FFT模塊240的子帶以及上述信道估計(jì)都耦合到副載波碼元去交織器 260。碼元去交織器260可以被配置成基于對(duì)一個(gè)或多個(gè)所分配的數(shù)據(jù)插槽的 了解來(lái)確定上述交織,并且還確定與已分配的數(shù)據(jù)插槽相對(duì)應(yīng)的經(jīng)交錯(cuò)的子 帶。
      碼元去交織器260可以被配置成例如對(duì)與已分配的數(shù)據(jù)交織相對(duì)應(yīng)的每一 個(gè)副載波進(jìn)行解調(diào)并且從解調(diào)后的數(shù)據(jù)中產(chǎn)生串行數(shù)據(jù)流。在另一個(gè)實(shí)施方式 中,碼元去交織器260可以被配置成對(duì)與已分配的數(shù)據(jù)交織相對(duì)應(yīng)的每一個(gè)副 載波進(jìn)行解調(diào)并且產(chǎn)生并行的數(shù)據(jù)流。在另一個(gè)實(shí)施方式中,碼元去交織器260 可以被配置成產(chǎn)生與已分配的插槽相對(duì)應(yīng)數(shù)據(jù)交織的并行數(shù)據(jù)流。
      碼元去交織器260的輸出耦合到基帶處理器270,基帶處理器270被配置 成進(jìn)一步處理接收到的數(shù)據(jù)。例如,基帶處理器270可以被配置成將接收到的 數(shù)據(jù)處理成具有音頻和視頻的多媒體數(shù)據(jù)流。基帶處理器270可以將經(jīng)處理的 信號(hào)發(fā)送到一個(gè)或多個(gè)輸出設(shè)備(未示出)。
      圖3是OFDM系統(tǒng)中所用的接收機(jī)的FFT處理器300的一實(shí)施方式的簡(jiǎn) 化功能框圖。FFT處理器300可以用在例如圖1的無(wú)線通信系統(tǒng)中或者用在圖 2的接收機(jī)中。在一個(gè)實(shí)施方式中,F(xiàn)FT處理器300可以被配置成執(zhí)行圖2所 示接收機(jī)的幀同步器、FFT模塊以及信道估計(jì)器的全部或部分功能。
      FFT處理器300可以實(shí)現(xiàn)于單IC基片上的集成電路(IC)中,以提供用于 OFDM接收機(jī)設(shè)計(jì)的處理部分的單芯片解決方案?;蛘?,F(xiàn)FT處理器300可以 實(shí)現(xiàn)在多個(gè)IC或基片上并且包裝成一個(gè)或多個(gè)芯片或模塊。例如,F(xiàn)FT處理器 300可以在第一 IC上執(zhí)行其處理部分,并且這些處理部分可以與位于不同于第 一 IC的一個(gè)或多個(gè)存儲(chǔ)設(shè)備上的存儲(chǔ)器進(jìn)行交互作用。FFT處理器300包括解調(diào)塊310,它耦合到存儲(chǔ)器體系結(jié)構(gòu)320,存儲(chǔ)器 體系結(jié)構(gòu)320使FFT計(jì)算塊360和信道估計(jì)器380互連起來(lái)。對(duì)數(shù)似然比塊350 可以任選地作為FFT處理器300的一部分包括在內(nèi),或者可以實(shí)現(xiàn)在一個(gè)不同 的塊之內(nèi),該不同的塊可能實(shí)現(xiàn)在與FFT處理器300相同或不相同的基片或IC上。
      解調(diào)、FFT、信道估計(jì)以及對(duì)數(shù)似然比等模塊對(duì)樣本數(shù)值執(zhí)行各種操作。 存儲(chǔ)器體系結(jié)構(gòu)320允許任何這些模塊在給定的時(shí)間訪問(wèn)任何的塊。通過(guò)在時(shí) 間上劃分存儲(chǔ)體,便簡(jiǎn)化了切換邏輯。
      存儲(chǔ)器的一個(gè)存儲(chǔ)體被解調(diào)塊3I0反復(fù)使用。FFT計(jì)算塊320訪問(wèn)當(dāng)前正 被處理的存儲(chǔ)體。信道估計(jì)塊380訪問(wèn)當(dāng)前正被處理的存儲(chǔ)體的導(dǎo)頻信息。對(duì) 數(shù)似然比(LLR)塊350訪問(wèn)含最舊的樣本的存儲(chǔ)體。
      解調(diào)塊310包括耦合到系數(shù)ROM 314的解調(diào)器312。解調(diào)塊310處理經(jīng)時(shí) 間同步的OFDM碼元以恢復(fù)導(dǎo)頻和數(shù)據(jù)交織。在上述示例中,OFDM碼元包括 被分成8個(gè)不同交織的4096個(gè)子帶,每一個(gè)交織具有在整個(gè)4096個(gè)子帶上均 勻間隔的子帶。
      解調(diào)器312將輸入的4096個(gè)樣本組織成8個(gè)交織。解調(diào)器使每一個(gè)輸入 樣本旋轉(zhuǎn)< ) = /^^, n表示交織0到7。前512個(gè)數(shù)值經(jīng)旋轉(zhuǎn)后再被存儲(chǔ)在 每一個(gè)交織中。對(duì)于隨后的每一組512個(gè)樣本,解調(diào)器312使這些數(shù)值旋轉(zhuǎn), 然后再添加這些數(shù)值。每一個(gè)交織中的每一個(gè)存儲(chǔ)單元將具有累加的8個(gè)經(jīng)旋 轉(zhuǎn)的樣本。交織O中的數(shù)值不經(jīng)旋轉(zhuǎn),僅僅經(jīng)累加。與用于表示輸入樣本的位 數(shù)相比,解調(diào)器312可以用更多個(gè)位來(lái)表示經(jīng)旋轉(zhuǎn)和累加的數(shù)值以適應(yīng)因累加 和旋轉(zhuǎn)而導(dǎo)致的增長(zhǎng)。
      系數(shù)ROM 314被用于存儲(chǔ)復(fù)數(shù)旋轉(zhuǎn)系數(shù)。每一個(gè)輸入樣本需要7個(gè)系數(shù), 因?yàn)榻豢?不需要任何旋轉(zhuǎn)。系數(shù)ROM 314可以是上升沿觸發(fā)的,這可能導(dǎo) 致從解調(diào)塊310接收到該樣本時(shí)起有1個(gè)循環(huán)延遲。
      解調(diào)塊310可以被配置成登記從系數(shù)ROM 314中檢索出的每一個(gè)系數(shù)數(shù) 值。在這些系數(shù)數(shù)值自身可以被使用之前,登記系數(shù)數(shù)值的行為添加了另一個(gè) 循環(huán)延遲。
      對(duì)于每一個(gè)輸入樣本,使用7個(gè)不同的系數(shù),每一個(gè)系數(shù)都具有不同的地址。使用7個(gè)計(jì)數(shù)器來(lái)查找不同的系數(shù)。每一個(gè)計(jì)數(shù)器按其交織號(hào)增加;例如, 對(duì)于每一個(gè)新樣本,交織l增加l,而交織7增加7。通常,創(chuàng)建ROM映像以
      保存單行所需的全部7個(gè)系數(shù)是不切實(shí)際的,或者使用7個(gè)不同的ROM也是 不切實(shí)際的。因此,解調(diào)流水線始于當(dāng)新樣本到達(dá)時(shí)取系數(shù)數(shù)值。
      為了減小系數(shù)存儲(chǔ)器的大小,只存儲(chǔ)了在0和7t/4之間的C O S和S IN數(shù)值。 未被發(fā)送到該存儲(chǔ)器的該系數(shù)地址的三個(gè)最高有效位(MSB)可以被用于將這 些數(shù)值引導(dǎo)至合適的象限。由此,從系數(shù)ROM 314中讀出的數(shù)值沒(méi)有被立刻 登記。
      存儲(chǔ)器體系結(jié)構(gòu)320包括輸入多路復(fù)用器322,它耦合到多個(gè)存儲(chǔ)體 324a-324c。存儲(chǔ)體324a-324c耦合到存儲(chǔ)器控制塊326,該控制塊326包括能 將來(lái)自存儲(chǔ)體324a-324c的數(shù)值路由到各種模塊的多路復(fù)用器。
      存儲(chǔ)器體系結(jié)構(gòu)320還包括用于導(dǎo)頻觀察處理的存儲(chǔ)器和控制。存儲(chǔ)器體 系結(jié)構(gòu)320包括輸入導(dǎo)頻選擇多路復(fù)用器330,用于將導(dǎo)頻觀察耦合到多個(gè)導(dǎo) 頻觀察存儲(chǔ)器332a-332c中的任一個(gè)。所述多個(gè)導(dǎo)頻觀察存儲(chǔ)器332a-332c耦合 到輸出導(dǎo)頻選擇多路復(fù)用器334,以允許選擇任何存儲(chǔ)器的內(nèi)容以便于處理。 存儲(chǔ)器體系結(jié)構(gòu)320也可以包括多個(gè)存儲(chǔ)器部分342a-342b,以存儲(chǔ)從導(dǎo)頻觀 察中確定的經(jīng)處理的信道估計(jì)。
      用于產(chǎn)生OFDM碼元的正交頻率可以用傅里葉變換(比如FFT)來(lái)方便地 進(jìn)行處理。FFT計(jì)算塊360可以包括許多元件,它們被配置成執(zhí)行一個(gè)或多個(gè) 預(yù)定維度的有效FFT和反向FFT (IFFT)操作。通常,維度是2的乘方,但是 FFT或IFFT操作并不限于2的乘方的維度。
      FFT計(jì)算塊360包括蝶形運(yùn)算芯370,它可以對(duì)從存儲(chǔ)器體系結(jié)構(gòu)320或 轉(zhuǎn)置寄存器364中檢索出的復(fù)數(shù)數(shù)據(jù)進(jìn)行操作。FFT計(jì)算塊360包括蝶形運(yùn)算 輸入多路復(fù)用器362,它被配置成在存儲(chǔ)器體系結(jié)構(gòu)320和轉(zhuǎn)置寄存器354之 間進(jìn)行選擇。蝶形運(yùn)算芯370與復(fù)數(shù)乘法器366和旋轉(zhuǎn)存儲(chǔ)器368 —起工作以 執(zhí)行蝶形運(yùn)算操作。
      信道估計(jì)器380可以包括導(dǎo)頻解擾碼器382,導(dǎo)頻解擾碼器382與PN序 列發(fā)生器384 —起工作以對(duì)導(dǎo)頻樣本進(jìn)行解擾。相位斜坡模塊386用于使導(dǎo)頻 觀察從導(dǎo)頻交織旋轉(zhuǎn)到各種數(shù)據(jù)交織中的任一個(gè)數(shù)據(jù)交織。相位斜坡系數(shù)存儲(chǔ)器388被用于存儲(chǔ)相位斜坡信息,這種信息是將樣本旋轉(zhuǎn)到期望的頻率所需的。
      時(shí)間濾波器392可以被配置成在多個(gè)碼元上對(duì)多個(gè)導(dǎo)頻觀察進(jìn)行時(shí)間濾 波。來(lái)自時(shí)間濾波器392的經(jīng)濾波的輸出在返回到存儲(chǔ)器體系結(jié)構(gòu)320以便用 在對(duì)數(shù)似然比塊350 (該塊350執(zhí)行基礎(chǔ)子帶數(shù)據(jù)的解碼)中之前,可以被存 儲(chǔ)在存儲(chǔ)器體系結(jié)構(gòu)320中并且進(jìn)一步由閾值器(thresholder) 394對(duì)其進(jìn)行處理。
      信道估計(jì)器380可以包括信道估計(jì)輸出多路復(fù)用器390以將各種信道估計(jì) 器輸出數(shù)值(其中包括中間的和最終的輸出數(shù)值)連接到存儲(chǔ)器體系結(jié)構(gòu)320。
      圖4是相對(duì)于OFDM接收機(jī)中的其它信號(hào)處理塊而言FFT處理器400的 一個(gè)實(shí)施方式的簡(jiǎn)化功能框圖。TDM導(dǎo)頻獲取模塊402產(chǎn)生用于FFT處理器 400的初始碼元同步和定時(shí)。輸入的同相(I)和正交(Q)樣本耦合到AGC模塊 404,該模塊404用于實(shí)現(xiàn)增益和頻率控制環(huán)路,這些環(huán)路用于將信號(hào)維持在 期望的振幅和頻率誤差之內(nèi)。
      FFT處理器400可以用于將定時(shí)和頻率信息提供給精細(xì)頻率獲取模塊406, 以維持比用AGC模塊404的AFC功能所能獲得的還要更準(zhǔn)確的碼元頻率???制處理器408執(zhí)行FFT處理器400的高水平控制。例如,控制處理器408可以 是通用處理器或精簡(jiǎn)指令集計(jì)算機(jī)(RISC)處理器,比如由ARMTM設(shè)計(jì)的那些處 理器。例如,通過(guò)控制碼元同步、將FFT處理器400的狀態(tài)選擇性地控制到活 動(dòng)或睡眠狀態(tài)、或控制FFT處理器400的工作情況,控制處理器可以控制FFT 處理器408的工作過(guò)程。
      FFT處理器400內(nèi)的控制邏輯410可以被用于連接FFT處理器400的各種 內(nèi)部模塊??刂七壿?10也可以包括用于與FFT處理器400外部的其它模塊相 連的邏輯。
      I和Q樣本都耦合到FFT處理器400,更具體地講,耦合到FFT處理器400 的解調(diào)塊310。解調(diào)塊310用于將這些樣本分離成預(yù)定數(shù)目的交織。解調(diào)塊310 與存儲(chǔ)器體系結(jié)構(gòu)320相連,以存儲(chǔ)用于處理的樣本并將這些樣本傳遞到對(duì)數(shù) 似然比塊350以便于基礎(chǔ)數(shù)據(jù)的解碼。
      存儲(chǔ)器體系結(jié)構(gòu)320可以包括存儲(chǔ)器控制器412,用于控制對(duì)存儲(chǔ)器體系 結(jié)構(gòu)320內(nèi)的各種存儲(chǔ)體的訪問(wèn)。例如,存儲(chǔ)器控制器412可以被配置成允許行寫(xiě)入各種存儲(chǔ)體內(nèi)的位置。
      存儲(chǔ)器體系結(jié)構(gòu)320可以包括用于存儲(chǔ)FFT數(shù)據(jù)的多個(gè)FFT RAM 420a-420c。另外,多個(gè)時(shí)間濾波器存儲(chǔ)器430a-430c可以被用于存儲(chǔ)時(shí)間濾波 器數(shù)據(jù),比如用于產(chǎn)生信道估計(jì)的導(dǎo)頻觀察。
      單獨(dú)的信道估計(jì)存儲(chǔ)器440a-440b可以被用于存儲(chǔ)來(lái)自信道估計(jì)器380的 中間信道估計(jì)結(jié)果。信道估計(jì)器380可以在確定信道估計(jì)時(shí)使用信道估計(jì)存儲(chǔ) 器440a-440b。
      FFT處理器400包括FFT計(jì)算塊,它被用于執(zhí)行FFT操作的至少一些部分。 在圖4的實(shí)施方式中,F(xiàn)FT計(jì)算塊是8-點(diǎn)FFT引擎460。 8-點(diǎn)FFT引擎460可 以有利于處理上述OFDM碼元結(jié)構(gòu)的說(shuō)明性示例。如上所述,每一個(gè)OFDM 碼元包括4096個(gè)子帶,它們被劃分成8個(gè)交織,每一個(gè)交織有512個(gè)子帶。 每一個(gè)交織中的子帶數(shù)目即512是8的立方(83=512)。由此,可以在使用基數(shù)-8 FFT的三個(gè)級(jí)中執(zhí)行512-點(diǎn)FFT。事實(shí)上,因?yàn)?096是8的四次方,所以可 以?xún)H僅用一個(gè)附加的FFT級(jí)來(lái)執(zhí)行4096-點(diǎn)FFT,這樣總共有四個(gè)級(jí)。
      8-點(diǎn)FFT引擎460可以包括蝶形運(yùn)算芯370和轉(zhuǎn)置寄存器364,它們適于 執(zhí)行基數(shù)-8 FFT。歸一化塊462被用于使由蝶形運(yùn)算芯370所產(chǎn)生的乘積歸一 化。歸一化塊462可以用于限制存儲(chǔ)單元的位增長(zhǎng),這種增長(zhǎng)是為了表示FFT 的每一級(jí)之后的蝶形運(yùn)算芯所輸出的數(shù)值所需的。
      圖5是OFDM交織處理的一個(gè)實(shí)施方式的簡(jiǎn)化功能框圖。圖3或4的FFT 處理器可以被配置成執(zhí)行圖5所示的OFDM交織處理。該簡(jiǎn)化功能框圖示出了 兩個(gè)數(shù)據(jù)交織處理器510k和510j以及單個(gè)導(dǎo)頻交織處理器510p。然而,F(xiàn)FT 處理器可以根據(jù)OFDM碼元中的交織的個(gè)數(shù),來(lái)實(shí)現(xiàn)任何數(shù)目的交織處理器。 例如,為了處理上述OFDM碼元實(shí)施方式,F(xiàn)FT處理器可以包含7個(gè)數(shù)據(jù)交織 處理器(比如510k)以及一個(gè)導(dǎo)頻交織處理器510p。
      數(shù)據(jù)交織處理器510k、510j以相似的方式排列并且可以有效地對(duì)任何數(shù)據(jù) 交織進(jìn)行操作。數(shù)據(jù)交織處理器510k、 510j分別包括旋轉(zhuǎn)器514k、 514j,它們 被配置成使輸入的樣本的相位旋轉(zhuǎn)。該相位旋轉(zhuǎn)有效地使每一個(gè)交織旋轉(zhuǎn)到用 于處理的一個(gè)公共的交織。每一個(gè)數(shù)據(jù)交織處理器510k、 510j對(duì)每組連續(xù)M 個(gè)樣本中的一個(gè)樣本進(jìn)行操作,其中M表示交織的總數(shù)。各旋轉(zhuǎn)器514k、 514J的輸出耦合到累加器520k、 520j,它們累加8個(gè)交織 上的樣本。對(duì)于具有4096個(gè)子帶和8個(gè)交織的OFDM碼元,每一個(gè)交織包括 512個(gè)子帶,并且累加器520k、 520j將8個(gè)由512個(gè)樣本構(gòu)成的實(shí)例加起來(lái)。 在上述OFDM碼元示例中,針對(duì)每一個(gè)交織旋轉(zhuǎn)并存儲(chǔ)前512個(gè)數(shù)值。對(duì)于每 一個(gè)由后來(lái)的512個(gè)樣本構(gòu)成的組而言,旋轉(zhuǎn)器514k、 514j使這些樣本旋轉(zhuǎn), 并且累加器520k、 520j將這些數(shù)值加到先前存儲(chǔ)的樣本。每一個(gè)交織中的每一 個(gè)512存儲(chǔ)單元將累加8個(gè)經(jīng)旋轉(zhuǎn)的樣本。
      數(shù)據(jù)交織處理器510k、 510j包括存儲(chǔ)器530k、 530j,用于存儲(chǔ)累加的樣本、 或累加的樣本的中間值。在一個(gè)示例中,各個(gè)存儲(chǔ)器530k、 530j可以存儲(chǔ)512 個(gè)樣本或累加的樣本。在每一個(gè)碼元的開(kāi)始處,存儲(chǔ)單元被重設(shè)或者用第一組 數(shù)據(jù)交織樣本來(lái)覆寫(xiě)。
      計(jì)數(shù)器540可以被用于指向存儲(chǔ)器530k、 530j中的位置,其中輸入數(shù)值被 訪問(wèn)并且累加的數(shù)值將被返回。盡管圖5只示出了一個(gè)耦合到導(dǎo)頻樣本存儲(chǔ)器 530p的模數(shù)-512計(jì)數(shù)器540,但是計(jì)數(shù)器540可以將計(jì)數(shù)數(shù)值提供給存儲(chǔ)器 530k、 530j,這些存儲(chǔ)器被用于存儲(chǔ)累加的數(shù)據(jù)樣本?;蛘撸鲾?shù)據(jù)交織處理 器510k、510j可以包括單獨(dú)的計(jì)數(shù)器或一個(gè)或多個(gè)數(shù)據(jù)交織處理器510k、510j, 可以共享一個(gè)與導(dǎo)頻交織處理器510p所使用的計(jì)數(shù)器540相同或不同的計(jì)數(shù) 器°
      在一個(gè)實(shí)施方式中,計(jì)數(shù)器540在每一個(gè)碼元的開(kāi)始處被重設(shè)。相似的是, 數(shù)據(jù)存儲(chǔ)器530k、 530j以及導(dǎo)頻樣本存儲(chǔ)器530p可以在每一個(gè)碼元的開(kāi)始處 被重設(shè)或清空。旋轉(zhuǎn)器514k、 514j使期望的交織樣本旋轉(zhuǎn)預(yù)定的相位并且將旋 轉(zhuǎn)后的樣本耦合到相關(guān)聯(lián)的累加器520k、 520j。累加器520k、 520n包括加法 器522k、 522j,它們從存儲(chǔ)器530k、 530j中讀取由計(jì)數(shù)器540所指向的先前累 加的數(shù)值。
      加法器522k、 522j將檢索到的數(shù)值與來(lái)自旋轉(zhuǎn)器514k、 514j的數(shù)值加起 來(lái)。累加器520k、 520j將該和載入寄存器524k、 524j中,然后再將它回寫(xiě)入 用來(lái)將輸入提供給加法器522k、 522j的同一存儲(chǔ)單元。
      在所有交織已處理過(guò)一個(gè)樣本之后,計(jì)數(shù)器540才增長(zhǎng)。由此,對(duì)于歷經(jīng) 全部交織的每一次循環(huán)(包括導(dǎo)頻交織),該計(jì)數(shù)可以保持不變。FFT模塊550k、 550J對(duì)存儲(chǔ)器530k、 530j中已存儲(chǔ)的累加的交織數(shù)據(jù)執(zhí) 行FFT。在圖5的示例中,F(xiàn)FT模塊550k、 550j對(duì)上述512個(gè)累加的樣本執(zhí)行 512-點(diǎn)FFT。 512-點(diǎn)FFT模塊550k、 550j的輸出代表了數(shù)據(jù)交織的子帶。
      512-點(diǎn)FFT模塊550k、 550j的輸出耦合到相關(guān)聯(lián)的對(duì)數(shù)似然比(LLR)塊 580k、 5S0j,其中可以對(duì)每一個(gè)具有信息的子帶進(jìn)行解碼。盡管在此所述的FFT 處理器和數(shù)據(jù)交織處理器510k、 510j實(shí)現(xiàn)了 LLR塊580k、 580j以便于對(duì)子帶 進(jìn)行解碼,但是其它FFT處理器可以使用其它類(lèi)型的解碼器。選擇用于FFT 處理器的解碼器的類(lèi)型可以部分取決于發(fā)射機(jī)處所使用的編碼過(guò)程。例如,如 果數(shù)據(jù)是巻積編碼的,則FFT處理器可以使用維特比(Viterbi)解碼器。
      LLR塊580k、 580j可以利用部分由導(dǎo)頻交織處理器510p所產(chǎn)生的信道估 計(jì)對(duì)子帶數(shù)據(jù)進(jìn)行解碼。在圖5所示的示例中,導(dǎo)頻交織處理器510p包括旋 轉(zhuǎn)器510p和累加器520p,就像每一個(gè)數(shù)據(jù)交織處理器510k、 510j那樣。
      累加器520p在存儲(chǔ)器530p中累加導(dǎo)頻樣本,其方式如同數(shù)據(jù)交織處理器 510k、510j中所實(shí)現(xiàn)的那樣。FFT模塊550p對(duì)累加的導(dǎo)頻樣本執(zhí)行512-點(diǎn)FFT, 以將時(shí)域表達(dá)變換成頻域?qū)ьl子帶。
      FFT模塊550p的輸出耦合到導(dǎo)頻提取和解調(diào)模塊560。 OFDM系統(tǒng)可以在 頻率子帶定義的帶邊附近定義預(yù)定的防護(hù)頻帶以確保傳輸不超過(guò)所分配的帶 寬。在防護(hù)頻帶內(nèi)的子帶上不傳輸任何導(dǎo)頻或數(shù)據(jù)信息。
      導(dǎo)頻外插和解調(diào)模塊560可以將這些數(shù)值外插到導(dǎo)頻子帶中,以估計(jì)防護(hù) 頻帶的子帶中的導(dǎo)頻數(shù)值。外插可以先于導(dǎo)頻解調(diào)而進(jìn)行,在導(dǎo)頻解調(diào)過(guò)程中 對(duì)導(dǎo)頻子帶進(jìn)行解調(diào)以恢復(fù)信道估計(jì)。導(dǎo)頻子帶是用已知的碼元或序列進(jìn)行調(diào) 制的。可以用偽隨機(jī)序列對(duì)已知的碼元或序列進(jìn)行擾頻,并且導(dǎo)頻外插和解調(diào) 模塊560可以在解調(diào)過(guò)程中對(duì)導(dǎo)頻子帶進(jìn)行解擾。
      經(jīng)解調(diào)、外插的導(dǎo)頻子帶代表了導(dǎo)頻子帶中的原始信道估計(jì)。IFFT模塊 560對(duì)這些原始信道估計(jì)進(jìn)行操作以將這些信道估計(jì)變換成信道脈沖響應(yīng)。在 圖5的示例中,IFFT模塊562執(zhí)行512-點(diǎn)IFFT,由此產(chǎn)生了 512-抽頭信道脈 沖響應(yīng)。
      信道脈沖響應(yīng)耦合到旋轉(zhuǎn)器564,該旋轉(zhuǎn)器564所執(zhí)行的旋轉(zhuǎn)與在導(dǎo)頻交 織處理器510p中的初始旋轉(zhuǎn)器514p所執(zhí)行的旋轉(zhuǎn)基本上相反。旋轉(zhuǎn)器564的輸出耦合到時(shí)間濾波器566,其中信道脈沖響應(yīng)可以經(jīng)時(shí)間濾波。時(shí)間濾波器
      566可以被配置成部分基于當(dāng)前的信道脈沖響應(yīng)和附加的信道脈沖響應(yīng)數(shù)值對(duì) 上述信道脈沖響應(yīng)進(jìn)行濾波。附加的信道脈沖響應(yīng)數(shù)值可以包括過(guò)去的信道脈 沖響應(yīng)數(shù)值以及將來(lái)的信道脈沖響應(yīng)數(shù)值,其中將來(lái)的信道脈沖響應(yīng)數(shù)值代表 了基于后續(xù)接收到的OFDM碼元的信道脈沖。
      FFT處理器可以存儲(chǔ)多個(gè)碼元樣本并且可以確定每一個(gè)已存儲(chǔ)的碼元的信 道脈沖響應(yīng)。通過(guò)存儲(chǔ)足夠數(shù)目的OFDM碼元并確定它們各自的信道估計(jì),時(shí) 間濾波器566由此可以實(shí)現(xiàn)一種非因果濾波器。由此,時(shí)間濾波器可以對(duì)過(guò)去 充分確定的信道估計(jì)進(jìn)行操作,以允許對(duì)后續(xù)碼元進(jìn)行采樣和處理,相對(duì)于經(jīng) 濾波的信道脈沖響應(yīng)而言這些后續(xù)碼元代表了 "將來(lái)的"碼元。
      當(dāng)然,時(shí)間濾波器566可以實(shí)現(xiàn)幾乎任何類(lèi)型的濾波器,其中包括FIR、 IIR、或其它類(lèi)型的濾波器。另外,時(shí)間濾波器566可以實(shí)現(xiàn)因果或非因果濾波 器響應(yīng)。
      經(jīng)時(shí)間濾波的導(dǎo)頻脈沖響應(yīng)耦合到數(shù)據(jù)交織處理器510k、 510j,此處根據(jù) 涉及單個(gè)數(shù)據(jù)交織的參數(shù)對(duì)它作進(jìn)一步的濾波或處理。導(dǎo)頻濾波器572k、 572j 可以部分基于該特定的數(shù)據(jù)交織來(lái)截取導(dǎo)頻脈沖響應(yīng)或?qū)Ω鞣N脈沖響應(yīng)抽頭 定閾值。
      導(dǎo)頻濾波器572k、 572j的輸出耦合到旋轉(zhuǎn)器574k、 574j,該旋轉(zhuǎn)器使導(dǎo)頻 脈沖響應(yīng)旋轉(zhuǎn)到特定的數(shù)據(jù)交織。旋轉(zhuǎn)器574k、 574j的輸出耦合到FFT模塊 576k、 576j,其中在數(shù)據(jù)交織頻率處將最終信道脈沖響應(yīng)變換成信道頻率響應(yīng) 估計(jì)。信道頻率響應(yīng)估計(jì)耦合到LLR塊580k、 580j,以便用于對(duì)數(shù)據(jù)交織的子 帶進(jìn)行解碼。
      圖6是在OFDM處理器中共享的存儲(chǔ)器使用情況的簡(jiǎn)化時(shí)間線600。 FFT 處理器的存儲(chǔ)器體系結(jié)構(gòu)可以排列成多個(gè)存儲(chǔ)體。在FFT處理器的一個(gè)實(shí)施方 式(比如圖3或圖4的FFT處理器)中,存儲(chǔ)器可以排列成8個(gè)不同的存儲(chǔ)體。 存儲(chǔ)體l、 2和3用于輸入的樣本。存儲(chǔ)體4、 5和6存儲(chǔ)導(dǎo)頻信息。存儲(chǔ)體7 存儲(chǔ)精細(xì)頻率結(jié)果,并且存儲(chǔ)體8存儲(chǔ)信道估計(jì)結(jié)果。時(shí)間線600規(guī)定了存儲(chǔ) 體地址、數(shù)據(jù)和控制多路復(fù)用器的工作情況。
      時(shí)間線600示出了輸入樣本流610的示例幀結(jié)構(gòu)。輸入樣本流610可以按特定的順序排列。每一個(gè)信息的碼元(比如612)與相鄰的碼元隔開(kāi)了循環(huán)前
      綴614。 一些碼元可以包括橫跨整個(gè)碼元周期的數(shù)據(jù),而其它碼元可以具有能
      在少于整個(gè)碼元周期內(nèi)捕獲的數(shù)據(jù)。
      輸入的樣本存儲(chǔ)裝置620將輸入的樣本620引導(dǎo)至存儲(chǔ)體1、 2或3之一。 初始TDM導(dǎo)頻和開(kāi)銷(xiāo)(OIS)信息被存儲(chǔ)在存儲(chǔ)體1中。之后,輸入的樣本在存 儲(chǔ)體1、 2和3中循環(huán)。
      解調(diào)620對(duì)用于存儲(chǔ)當(dāng)前輸入的樣本的存儲(chǔ)體進(jìn)行操作。FFT引擎640在 捕獲到碼元之后再進(jìn)行操作,并且利用存儲(chǔ)體1且循環(huán)經(jīng)過(guò)存儲(chǔ)體4、 5和6。
      精細(xì)定時(shí)操作650出現(xiàn)在TDM導(dǎo)頻2碼元的一半期間并且利用存儲(chǔ)體l 和7進(jìn)行工作。信道估計(jì)操作660對(duì)存儲(chǔ)體4、 5和6中的FFT結(jié)果進(jìn)行操作, 并且還將存儲(chǔ)體8用于該結(jié)果。LLR塊670循環(huán)經(jīng)過(guò)用于輸入樣本的那些存儲(chǔ) 體。
      時(shí)間線600示出了在FFT處理器的多個(gè)操作中是如何共享這些存儲(chǔ)體的。 時(shí)間線600示出了上述多個(gè)操作的定時(shí)是如何彼此相互依賴(lài)的。
      樣本存儲(chǔ)器控制邏輯確定是否應(yīng)該處理用于一碼元的任何數(shù)據(jù)。如果沒(méi)有 數(shù)據(jù)要處理,則用于該碼元時(shí)間的輸入樣本將不會(huì)被解調(diào)、存儲(chǔ)、或處理。然 而,在所期望的數(shù)據(jù)的開(kāi)始之前的那個(gè)碼元中,對(duì)導(dǎo)頻信號(hào)進(jìn)行解調(diào)以便于信 道估計(jì)。
      FFT處理器中的各種操作的定時(shí)產(chǎn)生了大量的數(shù)據(jù)相關(guān)性。FFT和精細(xì)定 時(shí)塊必須在OIS信息開(kāi)始之前就完成。具體來(lái)講,精細(xì)定時(shí)塊必須在接收到第 一個(gè)OIS碼元數(shù)據(jù)之前的一個(gè)循環(huán)就準(zhǔn)備好。FFT、信道估計(jì)以及LLR塊必須 在比輸入樣本填滿(mǎn)存儲(chǔ)體所用時(shí)間要少的時(shí)間內(nèi)完成。
      FFT處理器具有足夠大的存儲(chǔ)器以保存三個(gè)數(shù)據(jù)碼元。信道估計(jì)算法需要 來(lái)自下列碼元的導(dǎo)頻信息在當(dāng)前進(jìn)行數(shù)據(jù)處理的那個(gè)碼元之前、期間和之后 的碼元。這些樣本包括與串行到達(dá)的導(dǎo)頻數(shù)據(jù)交織的數(shù)據(jù)數(shù)值。在整個(gè)碼元都 被接收到之前,不執(zhí)行任何處理。因此,需要足夠大的存儲(chǔ)器來(lái)保存三個(gè)數(shù)據(jù) 碼元。
      三個(gè)存儲(chǔ)器塊可以被用于以如下方式捕獲輸入碼元。第一存儲(chǔ)器(比如存 儲(chǔ)體l)收集來(lái)自AFC塊的輸入樣本。第二存儲(chǔ)器(比如存儲(chǔ)體2)保存數(shù)據(jù)數(shù)值。該存儲(chǔ)器被FFT處理單元中不同的計(jì)算引擎使用-FFT芯和信道估計(jì)塊。 第三存儲(chǔ)器(比如存儲(chǔ)體3)保存碼元交織數(shù)據(jù)。該存儲(chǔ)器被用于執(zhí)行大部分
      的計(jì)算。
      接收到的樣本以特定順序按列存儲(chǔ),以?xún)?yōu)化FFT處理。4096個(gè)樣本被劃 分成8個(gè)塊。塊O包含導(dǎo)頻信息,而塊1到7可以包含數(shù)據(jù)。
      基數(shù)-8 FFT引擎需要將8個(gè)樣本輸入到其蝶形運(yùn)算電路中。通過(guò)將這8個(gè) 樣本分組到單個(gè)存儲(chǔ)器行中,基數(shù)-8FFT引擎可以每一個(gè)循環(huán)都計(jì)算數(shù)值。
      對(duì)于輸入的樣本數(shù)據(jù),讀取存儲(chǔ)體中合適的行。八個(gè)數(shù)值組成的行中的一 個(gè)數(shù)值在被回寫(xiě)之前先進(jìn)行更新。基數(shù)-8執(zhí)行512-點(diǎn)FFT共需要三個(gè)級(jí)。對(duì)存 儲(chǔ)器中不同的由8個(gè)行所構(gòu)成的集合進(jìn)行存取以執(zhí)行512-點(diǎn)FFT。
      除了上述樣本存儲(chǔ)器以外,信道估計(jì)塊使用5個(gè)附加的存儲(chǔ)器。每一個(gè)存 儲(chǔ)器在大小方面都是512個(gè)樣本,其中有64個(gè)行,每一行有8個(gè)樣本。三個(gè) 信道估計(jì)存儲(chǔ)器保存過(guò)去的、當(dāng)前的以及將來(lái)的導(dǎo)頻觀察。其它兩個(gè)信道估計(jì) 存儲(chǔ)器保存用于兩個(gè)時(shí)間濾波器電路的輸出。信道估計(jì)塊的最終輸出被往回存 儲(chǔ)到樣本存儲(chǔ)器的現(xiàn)用存儲(chǔ)體的導(dǎo)頻交織中。
      圖7是利用共享存儲(chǔ)器的導(dǎo)頻處理的簡(jiǎn)化功能框圖。從用于存儲(chǔ)樣本存儲(chǔ) 器導(dǎo)頻交織的存儲(chǔ)器710中讀取導(dǎo)頻數(shù)據(jù)。該導(dǎo)頻數(shù)據(jù)在旋轉(zhuǎn)器720中經(jīng)旋轉(zhuǎn) 之后再被存儲(chǔ)到三個(gè)信道估計(jì)存儲(chǔ)器740之一中。計(jì)數(shù)器在有現(xiàn)用數(shù)據(jù)時(shí)每一 個(gè)碼元就增加1,并且向多路復(fù)用器730指出要將導(dǎo)頻數(shù)據(jù)存儲(chǔ)到上述三個(gè)信 道估計(jì)存儲(chǔ)器740中的哪一個(gè)之中。
      信道估計(jì)存儲(chǔ)器740中所存儲(chǔ)的信道估計(jì)被用在時(shí)間濾波器750中以產(chǎn)生 經(jīng)時(shí)間濾波的信道估計(jì)。時(shí)間濾波器750可以產(chǎn)生多個(gè)經(jīng)時(shí)間濾波的信道估計(jì), 并且可以將上述多個(gè)經(jīng)時(shí)間濾波的信道估計(jì)存儲(chǔ)到相應(yīng)的經(jīng)濾波的信道估計(jì) 存儲(chǔ)器760中。
      第二旋轉(zhuǎn)器770可以組合或以其它方式選擇經(jīng)濾波的信道估計(jì)并且可以使 這些經(jīng)組合的信道估計(jì)發(fā)生旋轉(zhuǎn)。所得的信道估計(jì)被返回到樣本存儲(chǔ)器的存儲(chǔ) 體中。
      圖8是信道處理狀態(tài)機(jī)的簡(jiǎn)化狀態(tài)圖800。信道處理狀態(tài)機(jī)可以使用寄存 器設(shè)置以確定何時(shí)以及如何作用于輸入的數(shù)據(jù)碼元。對(duì)于任何給定的碼元,信道處理狀態(tài)機(jī)可以確定FFT處理器將要執(zhí)行多個(gè)功能中的任一個(gè)。
      用于信道處理器的狀態(tài)機(jī)可以從空閑狀態(tài)轉(zhuǎn)變到操作確定狀態(tài)801,隨后 對(duì)輸入樣本進(jìn)行解調(diào)。信道處理狀態(tài)機(jī)可以轉(zhuǎn)變到如下?tīng)顟B(tài)提取用于信道估
      計(jì)和信道估計(jì)的計(jì)算的導(dǎo)頻觀察803,向IFT塊請(qǐng)求動(dòng)態(tài)時(shí)間跟蹤調(diào)節(jié) (DMTT)811;用于7個(gè)數(shù)據(jù)插槽中任何/全部的插槽的數(shù)據(jù)處理802;將數(shù)據(jù)從 7個(gè)數(shù)據(jù)插槽中任何/全部的插槽發(fā)送到LLR塊810;以及用于特殊幀0碼元的 特殊處理,比如WIC 809、 UC 813和TDM2精細(xì)定時(shí)處理804。
      圖9是FFT處理器的一個(gè)實(shí)施方式的狀態(tài)圖卯0。該狀態(tài)圖示出了執(zhí)行導(dǎo) 頻處理、信道估計(jì)、LLR處理和FFT處理的各種狀態(tài)轉(zhuǎn)變。從該狀態(tài)圖可以看 出,在整個(gè)狀態(tài)機(jī)中可以使用FFT和IFFT操作,并且許多狀態(tài)轉(zhuǎn)變到或經(jīng)歷 FFT操作或IFFT操作。
      圖IO是FFT引擎1000的一個(gè)實(shí)施方式的簡(jiǎn)化功能框圖。因?yàn)镕FT和IFFT 操作具有相似性,所以FFT引擎1000可以被配置成執(zhí)行FFT操作或IFFT操 作。FFT引擎是在512-點(diǎn)FFT的背景中進(jìn)行描述的。然而,F(xiàn)FT引擎1000并 不限于這種實(shí)施方式,并且FFT引擎1000的各種元件的變化可以允許它執(zhí)行 其它FFT維度。
      FFT引擎1000被配置成執(zhí)行利用頻率抽選所實(shí)現(xiàn)的512-點(diǎn)FFT。頻率抽 選和時(shí)間抽選之間的差異是旋轉(zhuǎn)存儲(chǔ)器系數(shù)。FFT引擎1000有利地利用基數(shù)-8 FFT,使得512-點(diǎn)FFT可以在三個(gè)級(jí)中進(jìn)行。當(dāng)然,其它基數(shù)數(shù)值或基數(shù)數(shù)值 的組合可以被用在FFT引擎1000中。例如,F(xiàn)FT引擎1000可以使用基數(shù)-2、 基數(shù)-4、基數(shù)-8FFT或不同基數(shù)FFT的組合。
      FFT引擎IOOO包括樣本存儲(chǔ)器1010,用于存儲(chǔ)對(duì)其執(zhí)行FFT操作的復(fù)數(shù) 樣本。如上所述,該樣本存儲(chǔ)器可以在多個(gè)塊中被共享,并且經(jīng)處理的FFT結(jié) 果以及中間數(shù)值都可以被存儲(chǔ)在樣本存儲(chǔ)單元中以便于其它模塊來(lái)訪問(wèn)。
      FFT引擎IOOO包括用于訪問(wèn)樣本存儲(chǔ)器的寄存器1020以便將這些樣本逐 行讀取到蝶形運(yùn)算芯1030中。樣本存儲(chǔ)器行也可以被直接讀取到轉(zhuǎn)置存儲(chǔ)器 1040的行中,該轉(zhuǎn)置存儲(chǔ)器1040可以是寄存器存儲(chǔ)器。設(shè)置蝶形運(yùn)算芯1030 以執(zhí)行FFT或IFFT,并且可以將它們作為單基數(shù)-8計(jì)算或雙基數(shù)-4計(jì)算來(lái)進(jìn) 行計(jì)算。每一次蝶形運(yùn)算操作的結(jié)果都按列寫(xiě)入轉(zhuǎn)置存儲(chǔ)器1040,例如,該轉(zhuǎn)置存
      儲(chǔ)器1040可以包括8X8配置的轉(zhuǎn)置寄存器。按行或列讀取來(lái)自轉(zhuǎn)置存儲(chǔ)器1040 的結(jié)果,并且將這些結(jié)果按行寫(xiě)入樣本存儲(chǔ)器1010中。按列寫(xiě)入后按行讀使 得存儲(chǔ)器中的內(nèi)容發(fā)生轉(zhuǎn)置。
      用于FFT的每一級(jí)的旋轉(zhuǎn)因子可以被存儲(chǔ)在旋轉(zhuǎn)存儲(chǔ)器1070中,該存儲(chǔ) 器1070可以是旋轉(zhuǎn)ROM。這些旋轉(zhuǎn)因子可以排列成在存儲(chǔ)器的每一行中有四 個(gè)旋轉(zhuǎn)因子。
      包括四個(gè)復(fù)數(shù)乘法器的乘法器模塊1060可以利用旋轉(zhuǎn)因子使轉(zhuǎn)置存儲(chǔ)器 1040中的數(shù)值發(fā)生旋轉(zhuǎn)。這四個(gè)復(fù)數(shù)乘法器與旋轉(zhuǎn)存儲(chǔ)器1070的單行中的旋 轉(zhuǎn)因子的個(gè)數(shù)一致,以允許單次循環(huán)中有四次復(fù)數(shù)乘法。
      在歸一化寄存器1050中使轉(zhuǎn)置存儲(chǔ)器1040中的加權(quán)值歸一化,之后再回 寫(xiě)到樣本存儲(chǔ)器1010的原始位置。
      圖11示出了用于基數(shù)-8 FFT的完整的蝶形運(yùn)算操作。通過(guò)調(diào)節(jié)區(qū)域A和 B中的旋轉(zhuǎn)乘法數(shù)值,便可以改變蝶形運(yùn)算芯以執(zhí)行基數(shù)-8點(diǎn)IFFT。為了執(zhí)行 基數(shù)-4計(jì)算,使用第二級(jí)加法器的結(jié)果(圖11中的Out4),而非最終求和(圖 11中的Out8)。
      從存儲(chǔ)器中讀取的所有數(shù)值都可以被立即登記。圖11示出了當(dāng)該蝶形運(yùn) 算芯以基數(shù)-8模式工作時(shí)所使用的寄存器。當(dāng)?shù)芜\(yùn)算芯作為2個(gè)基數(shù)-4段來(lái) 操作時(shí),輸入數(shù)值來(lái)自寄存器轉(zhuǎn)置塊中的寄存器,因此,不需要被再次登記。
      在第一組加法器之前,對(duì)這些輸入進(jìn)行位-反轉(zhuǎn)。對(duì)于基數(shù)-8操作,這是 全3-位反轉(zhuǎn)0->0, 1->4, 2-〉2, 3-〉6, 4->1, 5->5, 6->3, 7-〉7。對(duì)于基數(shù)-4
      操作,每一組的四個(gè)輸入使用2-位反轉(zhuǎn)0->0; 1->2; 2->1 ; 3->3; 4->4; 5->6;
      6-〉5; 7-〉7。
      當(dāng)這些數(shù)值通過(guò)每一組加法器前進(jìn)時(shí),它們的位寬增大1以防止飽和。輸
      入數(shù)值由9位來(lái)表示。第一種和是用10位表示的。Out4數(shù)值是用ll位表示的, 并且Out8數(shù)值是用12位表示的。
      如圖11所示,A區(qū)域中的第4個(gè)和第8個(gè)和必須乘以w(2)以便進(jìn)行FFT。 對(duì)于IFFT,該數(shù)值變?yōu)閣(6)。旋轉(zhuǎn)因子W(k)的確定過(guò)程由下式確定W(k)二exp C -j2兀k/8)。上述W。)乘法按以下方式來(lái)實(shí)現(xiàn)
      wO等于(I+jQ) * (1 +jO) = I+jQ,從而消除了任何修正需求。 w'等于(I+jQ"(l/sqrt(2)-j/sqrt(2))。需要一個(gè)復(fù)數(shù)乘法器。對(duì)于1/sqrt(2)
      的數(shù)值,使用9位帶碼元常數(shù)。
      w2等于(1 + jQ) * (0 - jl) = Q - jl。不再對(duì)該輸入的實(shí)部執(zhí)行2補(bǔ)碼求反并 隨后作加法,而是令該實(shí)部的數(shù)值保持不變并且將后面的加法器變?yōu)闇p法器以 解釋上述碼元變化。
      3等于(1 +JQ) * (國(guó)l/sqrt(2) - j/sqrt(2))。需要一個(gè)復(fù)數(shù)乘法器。對(duì)于1/sqrt(2) 的數(shù)值,使用9位帶碼元常數(shù)。
      w4等于(I+jQ) * (-1+jO) = -I-jQ。然而,該數(shù)值不用于任何FFT計(jì)算。
      w5等于(I+jQ) * (-1+j/sqrt(2))。需要一個(gè)復(fù)數(shù)乘法器。對(duì)于1/sqrt(2)的數(shù) 值,使用9位帶碼元常數(shù)。
      6等于(1 + jQ) * (0 + jl) = -Q + jl。不再對(duì)該輸入的虛部執(zhí)行2補(bǔ)碼求反 并隨后作加法,而是令該虛部的數(shù)值保持不變并且將后面的加法器變?yōu)闇p法器 以解釋上述碼元變化。
      w 等于(I + jQ) * (1/sqrt(2) +j/sqrt(2))。需要一個(gè)復(fù)數(shù)乘法器。對(duì)于1/sqrt(2) 的數(shù)值,使用9位帶碼元常數(shù)。
      圖12是基數(shù)-8 FFT蝶形運(yùn)算的前兩種狀態(tài)的一個(gè)實(shí)施方式的功能框圖。 部分蝶形運(yùn)算芯1200包括從圖11所示的蝶形運(yùn)算芯蝶形1100的Out4的計(jì)算。
      兩組減法器被用于第四和第八求和過(guò)程。 一組計(jì)算w(2),而另一組計(jì)算 w(6)。 fft—ifft—n信號(hào)控制究竟使用哪一個(gè)求和過(guò)程。
      圖13是基數(shù)-8 FFT蝶形運(yùn)算的最后一級(jí)的一個(gè)實(shí)施方式的功能框圖。部 分蝶形運(yùn)算芯1200包括從圖11所示的0ut4到蝶形運(yùn)算芯1100的輸出的計(jì)算。
      對(duì)于B區(qū)域中的第六和第八數(shù)值,需要真正的復(fù)數(shù)乘法器。
      當(dāng)執(zhí)行FFT時(shí),它們是w(l)和w(3)。
      當(dāng)執(zhí)行IFFT時(shí),它們分別是w(7)和w(5)。
      對(duì)于w(l)/w(7),乘積和是
      P = 1/sqrt(2),
      W(l) = PI + PQ+j(-PI + PQ)W(7) = PI- PQ十j(PI + PQ)使用fft—ifft—n信號(hào)以便控制輸入數(shù)值到加法器和減法器,并且控制上述和 與差至其最終目的地。這種實(shí)現(xiàn)方式只需要兩個(gè)乘法器和兩個(gè)加法器(一個(gè)加 法器和一個(gè)減法器)。對(duì)于w(3)/w(7),乘積和是P = l/sqrt(2),W(3) = -PI+ PQ + j(-PI - PQ) W(5)=隱PI - PQ +j(PI - PQ)不再使用P, fft一core將R二-l/sqrt(2)用于這些乘積和。通過(guò)使用R,這些 方程變?yōu)閃(3) = RI- RQ +j(RI + RQ) W(5) = RI + RQ + j(陽(yáng)RI + RQ)這些乘積和是20位寬,攜帶了兩個(gè)碼元位。當(dāng)加上這些乘積和時(shí),它們 變?yōu)?0位寬,攜帶了一個(gè)碼元位。然后,通過(guò)舍入8個(gè)最低有效位(LSB)并使 一個(gè)MSB飽和,便將這些和歸一化到11位。使用信號(hào)fft_ifft_n以便控制輸入數(shù)值到加法器和減法器,并且控制上述和 與差至它們的最終目的地。如上,只需要兩個(gè)乘法器和兩個(gè)加法器(一個(gè)加法 器和一個(gè)減法器)。區(qū)域B中的平凡的乘法w(2)或w(6)以與區(qū)域A相同的方式來(lái)進(jìn)行處理。為了符合定時(shí),在不包括多余硬件的情況下所有這些計(jì)算通常都無(wú)法在單 個(gè)時(shí)鐘周期中完成。添加了一組寄存器以捕獲Out4數(shù)值中的大部分?jǐn)?shù)值。用 于第六和第八的Out4數(shù)值在被登記之前要與常數(shù)P和R相乘。寄存器的這種 排布以如下方式平衡了用于最不利路徑的計(jì)算第一循環(huán)多路復(fù)用器=> 加法器=> 加法器=> 多路復(fù)用器=> 乘法器第二循環(huán)加法器=> 多路復(fù)用器=> 加法器=> 加法器 最后,使用fft512_4—n信號(hào)以便發(fā)出Out4或Out8數(shù)值。Out4數(shù)值從11 位碼元擴(kuò)展成12位。FFT塊使用三次穿過(guò)基數(shù)-8蝶形運(yùn)算芯以執(zhí)行單個(gè)512點(diǎn)FFT。為了實(shí)現(xiàn)這一點(diǎn),來(lái)自前兩次穿過(guò)的結(jié)果必須使其數(shù)值中的一些乘以旋轉(zhuǎn)數(shù)值并使它們 歸一化。因?yàn)榇鎯?chǔ)器的單行中存儲(chǔ)了 8個(gè)數(shù)值,所以讀取這些數(shù)值的順序不同 于回寫(xiě)這些數(shù)值的順序。如果執(zhí)行2kl/FFT,則存儲(chǔ)器數(shù)值必須在被發(fā)送到蝶 形運(yùn)算芯之前先被轉(zhuǎn)置?;鶖?shù)-8 FFT使用8x8個(gè)寄存器。所有64個(gè)寄存器接收來(lái)自蝶形運(yùn)算芯的 輸入。其中的56個(gè)寄存器接收來(lái)自復(fù)數(shù)乘法器的輸入。32個(gè)寄存器接收來(lái)自 存儲(chǔ)器體系結(jié)構(gòu)中的主存儲(chǔ)器的輸入。每一個(gè)寄存器可以在其輸入處具有2: 1 或3 : 1的多路復(fù)用器。來(lái)自主存儲(chǔ)器的輸入被寫(xiě)到一行寄存器。來(lái)自蝶形運(yùn)算 芯的輸入被寫(xiě)入多列寄存器。來(lái)自復(fù)數(shù)乘法器的輸入是分多組來(lái)進(jìn)行的。所有64個(gè)寄存器都通過(guò)歸一化計(jì)算和寄存器將輸出發(fā)送到主存儲(chǔ)器。對(duì) 于I/FFT的每一種類(lèi)型和級(jí),歸一化的順序都是不同的。所有64個(gè)寄存器都可以將輸出發(fā)送到復(fù)數(shù)乘法器。56個(gè)寄存器需要旋轉(zhuǎn) 乘法,32個(gè)寄存器需要平方運(yùn)算。32個(gè)寄存器讓其值發(fā)送到蝶形運(yùn)算芯。這些數(shù)值被逐行發(fā)送到歸一化電路以便于下列操作數(shù)據(jù)FFT,信道估計(jì) FFT, WIC/LIC處理,以及精細(xì)定時(shí)IFFT。這些數(shù)值被逐列發(fā)送以便于信道估計(jì)IFFT、導(dǎo)頻FFT和IFFT。當(dāng)這些數(shù)值被發(fā)送到蝶形運(yùn)算芯時(shí),它們是逐列被發(fā)送的。當(dāng)這些數(shù)值被 發(fā)送到復(fù)數(shù)乘法器時(shí),它們是分組實(shí)現(xiàn)的。圖14是用于顯示基數(shù)-8 FFT中的旋轉(zhuǎn)乘法順序的轉(zhuǎn)置存儲(chǔ)器1400的簡(jiǎn)化 表示。為了減小執(zhí)行整個(gè)基數(shù)-8FFT所必需的循環(huán)的總數(shù),F(xiàn)FT運(yùn)算是高度流 水線化的。 一旦這些數(shù)值被從蝶形運(yùn)算芯中輸出并被登記在轉(zhuǎn)置存儲(chǔ)器1400 中,則它們可以被發(fā)送用于旋轉(zhuǎn)乘法。旋轉(zhuǎn)乘法的排序基于對(duì)來(lái)自蝶形運(yùn)算芯的數(shù)值進(jìn)行逐列登記;以及將經(jīng) 旋轉(zhuǎn)乘法的數(shù)值逐行發(fā)送到存儲(chǔ)器。對(duì)于整個(gè)基數(shù)-8FFT運(yùn)算,最少需要8個(gè) 讀取加8個(gè)寫(xiě)入循環(huán)。如果至少有16個(gè)循環(huán)可用,則將四個(gè)復(fù)數(shù)乘法器用于 旋轉(zhuǎn)操作需要14個(gè)循環(huán)。任何更少的乘法器都將使存儲(chǔ)器回寫(xiě)操作停止,而 任何附加的乘法器都將是多余的硬件即至少對(duì)于一半的流水線而言將是空閑 的,從而浪費(fèi)資源。在圖IO所示的實(shí)施方式中,整個(gè)基數(shù)-8 FFT運(yùn)算需要21 個(gè)循環(huán)。圖14的轉(zhuǎn)置存儲(chǔ)器1400的第一列中的數(shù)值不需要旋轉(zhuǎn)乘法。 一旦第二列 被寫(xiě)入,則分組1中的數(shù)值就可以被發(fā)送到復(fù)數(shù)乘法器。這一過(guò)程不斷重復(fù)直到分組7。前7個(gè)分組中所有的數(shù)值都是按列相鄰的。此時(shí),前4行己準(zhǔn)備好 被發(fā)送到主存儲(chǔ)器,而最底下4行則被旋轉(zhuǎn)相乘。其余分組的數(shù)值都是以按行分組的方式進(jìn)行檢索的。每一按行分組都可以被視為相鄰的行數(shù)值,其中這些數(shù)值以循環(huán)方式相鄰。由此,在分組9中,數(shù) 值[4, O]循環(huán)地鄰接到最后一個(gè)數(shù)值n即行[4, 7]。圖15是流水線化的基數(shù)-8、 512-點(diǎn)、FFT運(yùn)算的簡(jiǎn)化定時(shí)圖。圖15中的 流水線時(shí)線1500示出了用于基數(shù)-8計(jì)算的蝶形運(yùn)算計(jì)算、旋轉(zhuǎn)計(jì)算和歸一化 計(jì)算的重疊本性。在循環(huán)0期間,存儲(chǔ)器的第一行中的8個(gè)數(shù)值中的第一個(gè)數(shù)值被讀取(圖 M中的數(shù)值O)。來(lái)自存儲(chǔ)器的數(shù)值可用于下一個(gè)循環(huán)的FFT。來(lái)自存儲(chǔ)器的 數(shù)值在被作用之前先被登記。這導(dǎo)致存儲(chǔ)器訪問(wèn)的一個(gè)循環(huán)的延遲。由此,直 到cycle—count = 2,這些輸入芯寄存器才具有有效用于第一存儲(chǔ)器行的數(shù)據(jù)。 為了符合定時(shí)要求,蝶形運(yùn)算計(jì)算花了兩個(gè)循環(huán)。當(dāng)cycle—count = 3時(shí),對(duì)于 第一存儲(chǔ)器行而言已執(zhí)行了一半的蝶形運(yùn)算計(jì)算。當(dāng)cycle—count = 4時(shí),蝶形 運(yùn)算計(jì)算已完成并且這些結(jié)果被記錄在轉(zhuǎn)置寄存器存儲(chǔ)體中。為了在cycle count = 4時(shí)已準(zhǔn)備好正確的旋轉(zhuǎn)系數(shù)數(shù)值,當(dāng)cycle—count = 3 時(shí)就必須驅(qū)動(dòng)旋轉(zhuǎn)存儲(chǔ)器的地址即rw—addr。這些系數(shù)在cycle—count = 4時(shí)都 已被記錄好并且可在cycle—count =5時(shí)用于乘以第二組蝶形運(yùn)算結(jié)果。當(dāng)cycle_count = 11時(shí),用于分組7的數(shù)值被回寫(xiě)到轉(zhuǎn)置寄存器。此時(shí), 圖14的前四行都已完成并且可以被歸一化和回讀到存儲(chǔ)器。當(dāng)cycle—count = 12時(shí),第一行寄存器被讀取且這些數(shù)值被歸一化。歸一 化后的數(shù)值被存儲(chǔ)在歸一化寄存器中,它與包括轉(zhuǎn)置寄存器在內(nèi)的上述64個(gè) 寄存器是分開(kāi)的。當(dāng)Cycle_COunt= 13時(shí),來(lái)自歸一化寄存器的數(shù)值被回送到主 存儲(chǔ)器。在任何I/FFT的第三級(jí)期間沒(méi)有發(fā)生任何旋轉(zhuǎn)乘法。由此,用該流水 線定時(shí)來(lái)進(jìn)行逐列回寫(xiě)(用于數(shù)據(jù)FFT)沒(méi)有任何問(wèn)題。圖16是流水線化的2048-點(diǎn)FFT的簡(jiǎn)化定時(shí)圖1600。流水線的定時(shí)圖1600 示出了從一組512-點(diǎn)FFT結(jié)果開(kāi)始的用于執(zhí)行2048-點(diǎn)FFT的各項(xiàng)操作。2048-點(diǎn)FFT的操作與512-點(diǎn)FFT非常相似。然而,因?yàn)?048不是8的冪, 所以該FFT對(duì)512-點(diǎn)FFT的結(jié)果執(zhí)行基數(shù)-4操作。當(dāng)執(zhí)行2048-點(diǎn)I/FFT時(shí),四個(gè)不同的512點(diǎn)I/FFT的結(jié)果經(jīng)歷了基數(shù)-4 操作。從上述四個(gè)交織中的每一個(gè)交織處讀取一行,512個(gè)數(shù)值都經(jīng)歷了 512-點(diǎn)1/FFT。存儲(chǔ)器體系結(jié)構(gòu)允許將交織數(shù)值用作多路復(fù)用器而非地址,該多路復(fù)用器 在正被討論的四個(gè)不同的交織中進(jìn)行選擇。結(jié)果,當(dāng)cycle_cnt= 1時(shí),來(lái)自用 于所有4個(gè)交織的存儲(chǔ)單元0的數(shù)值都已準(zhǔn)備好,并且fft一intl被用于選擇到合 適的數(shù)值。當(dāng)CyCle_Cnt = 5,所有四個(gè)行都已被讀取并且前兩列被發(fā)送到蝶形 運(yùn)算芯。蝶形運(yùn)算芯在一個(gè)循環(huán)中執(zhí)行兩個(gè)基數(shù)-4計(jì)算并且將該數(shù)值返回到轉(zhuǎn) 置寄存器。為了減小各寄存器輸入的復(fù)雜性,在它們?cè)醋缘哪且涣械淖畹紫滤?個(gè)寄存器中捕獲了每一對(duì)中用于第二列的四個(gè)數(shù)值。然后,通過(guò)使用用于執(zhí)行 旋轉(zhuǎn)乘法的樣本復(fù)數(shù)乘法器,使基數(shù)-4結(jié)果作平方運(yùn)算。當(dāng)cycle一cnt = 6時(shí), 平方后的數(shù)值在被回寫(xiě)到存儲(chǔ)器之前已準(zhǔn)備好進(jìn)行歸一化。因位寬限制,對(duì)平 方后的數(shù)值執(zhí)行不同的歸一化。這些歸一化后的數(shù)值被寫(xiě)入初始精細(xì)定時(shí)塊即 IFT。在存儲(chǔ)器中組織旋轉(zhuǎn)系數(shù),使每一行上有四個(gè)數(shù)值??赡苡欣氖?,在存 儲(chǔ)器中與FFT特定的級(jí)相關(guān)聯(lián)的多個(gè)行中存儲(chǔ)旋轉(zhuǎn)數(shù)值,而非試圖計(jì)算這些數(shù) 值或者存儲(chǔ)一組非多余的旋轉(zhuǎn)數(shù)值并試圖尋址所期望的數(shù)值。56次乘法在每一個(gè)循環(huán)中執(zhí)行4次,由此需要14個(gè)循環(huán)。為了確定各種 旋轉(zhuǎn)系數(shù)的位置,需要用圖14所給出的乘法順序來(lái)覆蓋512-點(diǎn)和64-點(diǎn)系數(shù)矩 陣。當(dāng)一行數(shù)據(jù)完成時(shí),它被回寫(xiě)到存儲(chǔ)體。在前8行(0、 8、 16等)被回寫(xiě)之后,讀取接下來(lái)的8行。對(duì)于第一級(jí),它 們是行l(wèi)、 9、 17等。在行7、 15、 23等被處理之后,F(xiàn)FT將推進(jìn)到第二級(jí)。對(duì) 于第二和第三級(jí),按順序地訪問(wèn)這些行。寄存器數(shù)值是12位寬。旋轉(zhuǎn)系數(shù)是8位寬。所得的20位乘積在被存儲(chǔ)到 轉(zhuǎn)置寄存器之前先舍入到12位。當(dāng)執(zhí)行信道估計(jì)的第一或第三級(jí)時(shí),出現(xiàn)了 舍入。向12個(gè)MSB添加第13位。對(duì)于所有其它情況,不執(zhí)行舍入并且所有 歸一化都留了下來(lái)直到后來(lái)。簡(jiǎn)單地返回12個(gè)MSB。使用相同的12x8乘法器來(lái)執(zhí)行平方運(yùn)算。在基數(shù)-4操作之后,寄存器數(shù) 值是11位寬。對(duì)于一個(gè)乘法器輸入,將寄存器數(shù)值碼元擴(kuò)展到12位。為了獲得用于其它乘法器輸入的8位,寄存器數(shù)值將其兩個(gè)LSB舍去并且接下來(lái)對(duì)照 MSB進(jìn)行飽和檢查。然后,上述20位乘積被舍入到14位并且經(jīng)飽和檢查降至 11位。這ll位數(shù)值被發(fā)送到IFT塊以便于進(jìn)一步的計(jì)算。圖17是用于處理OFDM信號(hào)的方法1700的簡(jiǎn)化流程圖。例如,該方法可 以由圖3或4的FFT處理器或圖1的系統(tǒng)的用戶(hù)終端來(lái)執(zhí)行。方法1700始于框1710,此時(shí)FFT處理器接收樣本,其中這些樣本是接收 到的OFDM碼元或接收到的OFDM碼元碼片的復(fù)數(shù)樣本。FFT處理器繼續(xù)到 框1720并且對(duì)每一個(gè)接收到的樣本進(jìn)行解調(diào)。FFT處理器繼續(xù)到框1730并且 將解調(diào)后的樣本存儲(chǔ)到存儲(chǔ)器中,例如存儲(chǔ)到圖3所示存儲(chǔ)器體系結(jié)構(gòu)的樣本 存儲(chǔ)體中。FFT處理器繼續(xù)到框1740并且從解調(diào)后的樣本中確定出信道估計(jì)。在一 個(gè)實(shí)施方式中,解調(diào)后的樣本是作為多個(gè)交織樣本被存儲(chǔ)的,并且FFT處理器 基于導(dǎo)頻交織來(lái)確定信道估計(jì)。FFT處理器繼續(xù)到框750并且確定與一個(gè)或多個(gè)數(shù)據(jù)交織相對(duì)應(yīng)的數(shù)據(jù)子 帶。每一個(gè)子帶可以在其上具有解碼后的數(shù)據(jù),并且FFT處理器或相關(guān)的模塊 可以執(zhí)行子帶數(shù)據(jù)的解碼。在一個(gè)實(shí)施方式中,上述子帶數(shù)據(jù)與用于交織中的 每一個(gè)子帶的信道估計(jì)一起在LLR模塊中被處理。圖18是對(duì)碼元樣本進(jìn)行解調(diào)的方法1720的簡(jiǎn)化流程圖。方法1720可以 對(duì)應(yīng)于圖17所示方法中所執(zhí)行的解調(diào)動(dòng)作。對(duì)樣本進(jìn)行解調(diào)的方法1720可以 由圖3或圖4的FFT處理器來(lái)執(zhí)行。更具體地講,對(duì)碼元樣本進(jìn)行解調(diào)的方法 可以由圖3的解調(diào)塊來(lái)執(zhí)行。解調(diào)塊可以包括許多計(jì)數(shù)器,并且可以通過(guò)在上述碼元的開(kāi)始處使所有計(jì) 數(shù)器都復(fù)位從而開(kāi)始方法1720。上述碼元的開(kāi)始可以改變一小量,但是如果開(kāi) 始時(shí)間的誤差小于任何OFDM循環(huán)前綴的持續(xù)時(shí)間,則對(duì)于解調(diào)的方法1720 的目的而言上述小量可能是可忽略的。解調(diào)塊繼續(xù)到框1820并且從OFDM碼元內(nèi)的多個(gè)交織中確定一個(gè)交織。 例如,解調(diào)框可以用模數(shù)-M計(jì)數(shù)器來(lái)跟蹤該交織,其中數(shù)字M對(duì)應(yīng)于交織的個(gè)數(shù)。最初,該計(jì)數(shù)器可以被設(shè)為零并且可以在每一個(gè)樣本之后將增加1。解調(diào)塊繼續(xù)到框1830并且使接收到的樣本旋轉(zhuǎn)。在一個(gè)實(shí)施方式中,解 調(diào)塊使接收到的碼元旋轉(zhuǎn)了一個(gè)基于上述交織而確定的固定值。由此,對(duì)于具有8個(gè)交織的OFDM碼元而言,輸入的樣本將旋轉(zhuǎn)8個(gè)相位之一。在使樣本旋轉(zhuǎn)之后,解調(diào)塊繼續(xù)到框1840并且累加經(jīng)旋轉(zhuǎn)的樣本。解調(diào) 塊可以被配置成累加P個(gè)交織數(shù)值的M個(gè)經(jīng)旋轉(zhuǎn)的樣本。g卩,當(dāng)OFDM碼元 包括M個(gè)交織時(shí),在每一個(gè)交織都具有P個(gè)子帶的情況下,解調(diào)塊可以使前P 個(gè)樣本旋轉(zhuǎn)并且存儲(chǔ)它們,然后旋轉(zhuǎn)并累加模數(shù)-P配置中的樣本,直到碼元的 全部樣本都已被接收到、經(jīng)旋轉(zhuǎn)且經(jīng)累加。在每一次累加之后,解調(diào)塊繼續(xù)到確定框1850以確定是否所有的碼元樣 本都已經(jīng)被解調(diào)了。例如,通過(guò)確定第M個(gè)交織的第P個(gè)數(shù)值已累加了M個(gè) 數(shù)值,解調(diào)塊可以確定碼元樣本的完成。如果這些碼元樣本都經(jīng)過(guò)解調(diào),則解調(diào)塊繼續(xù)到框1860并且用碼元解調(diào) 來(lái)實(shí)現(xiàn)。解調(diào)塊可以繼續(xù)到下一個(gè)碼元解調(diào)。如果在確定框1850處該解調(diào)塊 確定并未處理過(guò)所有的碼元樣本,則解調(diào)塊繼續(xù)回到塊1820以確定下一個(gè)到 達(dá)的碼元樣本的交織。圖19是用于處理OFDM信號(hào)的方法1900的簡(jiǎn)化流程圖。方法l卯0可以 由圖3和4所示的FFT處理器來(lái)執(zhí)行。特別是,方法1900可以由圖10的FFT 引擎來(lái)執(zhí)行。方法1900始于框1910,此時(shí)FFT引擎讀取樣本存儲(chǔ)器的多行。在一個(gè)實(shí) 施方式中,F(xiàn)FT引擎記錄從樣本存儲(chǔ)器中讀取的每一個(gè)數(shù)值。FFT引擎繼續(xù)到框1920并且對(duì)一行中的數(shù)值執(zhí)行蝶形運(yùn)算。有利的是, 樣本存儲(chǔ)器的每一行都存儲(chǔ)許多樣本數(shù)值,其個(gè)數(shù)等于FFT基數(shù)數(shù)值。由此, 單行讀取可以載入用于單基數(shù)-RFFT的所有數(shù)值。FFT引擎繼續(xù)到框1930并且從旋轉(zhuǎn)存儲(chǔ)器中檢索一行旋轉(zhuǎn)因子。旋轉(zhuǎn)因 子行可以具有比樣本存儲(chǔ)器行較少的數(shù)值。在一個(gè)實(shí)施方式中,樣本存儲(chǔ)器的 每一行都包括8個(gè)樣本數(shù)值,并且旋轉(zhuǎn)存儲(chǔ)器在每一行中存儲(chǔ)了四個(gè)旋轉(zhuǎn)因子。FFT引擎繼續(xù)到框1940并且使蝶形運(yùn)算數(shù)值乘以旋轉(zhuǎn)因子。在一個(gè)實(shí)施 方式中,復(fù)數(shù)乘法器的個(gè)數(shù)等于旋轉(zhuǎn)存儲(chǔ)器的一行中的旋轉(zhuǎn)因子的個(gè)數(shù),并且旋轉(zhuǎn)因子乘法可以在一個(gè)循環(huán)中執(zhí)行。因?yàn)橛斜刃D(zhuǎn)因子更多的蝶形運(yùn)算數(shù) 值,所以為了完成基數(shù)-RFFT的每一級(jí),可能需要執(zhí)行不止一個(gè)乘法步驟。對(duì) 于FFT的每一級(jí),每一個(gè)蝶形運(yùn)算數(shù)值通常只與一個(gè)旋轉(zhuǎn)因子相乘。 一些蝶形運(yùn)算數(shù)值可能不需要復(fù)數(shù)乘法函數(shù),因?yàn)樾D(zhuǎn)因子可以在沒(méi)有乘法的情況下被執(zhí)行。在使蝶形運(yùn)算數(shù)值乘以旋轉(zhuǎn)因子之后,F(xiàn)FT引擎將經(jīng)旋轉(zhuǎn)的數(shù)值回寫(xiě)到存 儲(chǔ)器或回寫(xiě)到寄存器,并且該行數(shù)值的處理便完成了。由此,F(xiàn)FT引擎可以執(zhí) 行基數(shù)-RFFT,比如基數(shù)-8FFT,只從存儲(chǔ)器中讀取了8次。圖20是FFT處理器2000的簡(jiǎn)化功能框圖。FFT處理器包括用于解調(diào)的裝 置,它耦合到用于存儲(chǔ)數(shù)據(jù)的裝置。在各種模塊中共享該用于存儲(chǔ)數(shù)據(jù)的裝置。 用于變換樣本的裝置可以耦合到用于存儲(chǔ)數(shù)據(jù)的裝置。用于估計(jì)信道的裝置也 可以耦合到用于存儲(chǔ)數(shù)據(jù)的裝置并且可以對(duì)己存儲(chǔ)的數(shù)據(jù)進(jìn)行運(yùn)算。對(duì)用于變 換樣本數(shù)值的裝置所產(chǎn)生的子帶信息進(jìn)行解碼的裝置可以對(duì)經(jīng)變換的樣本數(shù) 值進(jìn)行操作。圖21是FFT引擎2100的簡(jiǎn)化功能框圖。FFT引擎2100包括用于存儲(chǔ)樣 本的裝置,這些樣本可能是經(jīng)解調(diào)的OFDM碼元樣本。用于存儲(chǔ)樣本的裝置耦 合到用于計(jì)算蝶形運(yùn)算的裝置。用于處理的裝置可以被配置成將來(lái)自用于存儲(chǔ) 樣本的裝置的數(shù)值載入寄存器中以便于用于計(jì)算蝶形運(yùn)算的裝置進(jìn)行操作。用于計(jì)算蝶形運(yùn)算的裝置被配置成對(duì)檢索到的樣本計(jì)算蝶形運(yùn)算數(shù)值,將 計(jì)算后的蝶形運(yùn)算數(shù)值寫(xiě)入用于使數(shù)值轉(zhuǎn)置的裝置。這些數(shù)據(jù)可以按列被寫(xiě)入 用于使數(shù)值轉(zhuǎn)置的裝置,并且按行對(duì)這些數(shù)據(jù)進(jìn)行讀取,以能夠使這些數(shù)值發(fā) 生轉(zhuǎn)置。用于存儲(chǔ)系數(shù)的裝置可以被用于將旋轉(zhuǎn)因子存儲(chǔ)到多行中。用于使數(shù)值歸 一化的裝置可以被用于使來(lái)自用于使數(shù)值轉(zhuǎn)置的裝置的數(shù)值歸一化。上文已描述了許多FFT處理器、FFT引擎以及用于處理OFDM碼元的方 法。利用共享存儲(chǔ)器體系結(jié)構(gòu)使多個(gè)模塊整合在一起便可以極大地簡(jiǎn)化OFDM 接收機(jī)設(shè)計(jì)。FFT引擎可以按這樣一種方式進(jìn)行實(shí)施從而極大地減少了 FFT循 環(huán)計(jì)數(shù),同時(shí)不會(huì)使任何昂貴的資源(比如復(fù)數(shù)乘法器)利用不足。在本文中,術(shù)語(yǔ)耦合或連接用于指非直接耦合和直接耦合或連接。當(dāng)兩個(gè)或更多個(gè)塊、模塊、設(shè)備、或裝置耦合時(shí),在上述兩個(gè)相耦合的塊之間可能有 一個(gè)或更多個(gè)中間的塊。結(jié)合本文所揭示的各實(shí)施方式加以描述的各種說(shuō)明性邏輯塊、模塊以及電 路可以與下列各種設(shè)備一起實(shí)現(xiàn)或執(zhí)行通用處理器,數(shù)字信號(hào)處理器(DSP), 精簡(jiǎn)指令集計(jì)算機(jī)(RISC)處理器,專(zhuān)用集成電路(ASIC),現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)或其它可編程邏輯器件,分立的門(mén)或晶體管邏輯,分立的硬件組件,或者用于執(zhí)行本文所描述的各種功能的上述設(shè)備的任意組合。通用處理器可以是 微處理器,但在替代方案中,該處理器可以是任何處理器、控制器、微控制器、或狀態(tài)機(jī)。處理器可以被實(shí)現(xiàn)成各種計(jì)算設(shè)備的組合,例如,DSP和微處理器 的組合,多個(gè)微處理器,與DSP芯相結(jié)合的一個(gè)或多個(gè)微處理器,或者任何其 它這樣的配置。結(jié)合本文各實(shí)施方式所描述的方法、過(guò)程、或算法的諸多步驟可以直接以 硬件、處理器所執(zhí)行的軟件模塊、或這兩者的結(jié)合來(lái)實(shí)施。方法或過(guò)程中的各 步驟或動(dòng)作可以按所示的順序來(lái)執(zhí)行,或者可以按另一種順序來(lái)執(zhí)行。另外, 一個(gè)或多個(gè)過(guò)程或方法的步驟可能省略,或者一個(gè)或多個(gè)過(guò)程或方法的步驟可 以被添加到上述方法和過(guò)程中。附加的步驟、塊、或動(dòng)作可以被添加到上述方 法和過(guò)程的開(kāi)始、結(jié)束、或中間。上文描述了所公開(kāi)的各種實(shí)施方式,以使本領(lǐng)域普通技術(shù)人員能夠重現(xiàn)或 利用本發(fā)明。這些實(shí)施方式的各種修改對(duì)于本領(lǐng)域的技術(shù)人員而言都是很明顯 的,在不背離本發(fā)明的精神或范圍的情況下本文所定義的一般原則可以應(yīng)用于 其它實(shí)施方式。由此,本發(fā)明并不限于本文所示的各種實(shí)施方式,而是符合與 本文所揭示的原理和新穎特征相一致的最寬的范圍。
      權(quán)利要求
      1.一種快速傅立葉變換(FFT)處理裝置,所述裝置包括樣本存儲(chǔ)器,所述樣本存儲(chǔ)器的每一行中所存儲(chǔ)的樣本數(shù)值的個(gè)數(shù)等于所述FFT的基數(shù);轉(zhuǎn)置存儲(chǔ)器;蝶形運(yùn)算芯,它被配置成接收來(lái)自所述樣本存儲(chǔ)器的一行數(shù)值、對(duì)這些數(shù)值執(zhí)行蝶形運(yùn)算操作、并將結(jié)果寫(xiě)入所述轉(zhuǎn)置存儲(chǔ)器的一列中;以及乘法器模塊,它被配置成從所述轉(zhuǎn)置存儲(chǔ)器中檢索預(yù)定數(shù)目的相鄰數(shù)值并且使每一個(gè)這樣的數(shù)值都乘以旋轉(zhuǎn)因子。
      2. 如權(quán)利要求l所述的裝置,其特征在于,所述預(yù)定數(shù)目的相鄰數(shù)值是按列相鄰的數(shù)值。
      3. 如權(quán)利要求l所述的裝置,其特征在于,所述預(yù)定數(shù)目的相鄰數(shù)值是按行相鄰的數(shù)值。
      4. 如權(quán)利要求l所述的裝置,其特征在于,所述預(yù)定數(shù)目的相鄰數(shù)值是按行循環(huán)相鄰的數(shù)值。
      5. 如權(quán)利要求l所述的裝置,其特征在于,所述蝶形運(yùn)算芯適于執(zhí)行基數(shù)-R FFT,并且所述轉(zhuǎn)置存儲(chǔ)器包括RXR寄存器。
      6. 如權(quán)利要求l所述的裝置,還包括旋轉(zhuǎn)存儲(chǔ)器,它被配置成在同一行內(nèi)存 儲(chǔ)其個(gè)數(shù)等于單個(gè)時(shí)鐘周期中可執(zhí)行的復(fù)數(shù)乘法的次數(shù)的旋轉(zhuǎn)因子。
      7. 如權(quán)利要求l所述的裝置,其特征在于,所述乘法器模塊包括多個(gè)復(fù)數(shù)乘 法器。
      8. 如權(quán)利要求l所述的裝置,其特征在于,所述乘法器模塊包括多個(gè)復(fù)數(shù)乘 法器,其個(gè)數(shù)基于旋轉(zhuǎn)運(yùn)算的最大數(shù)目以及等于蝶形運(yùn)算基數(shù)數(shù)值兩倍的時(shí)鐘周期 的最小數(shù)目。
      9. 一種快速傅立葉變換(FFT)處理裝置,所述裝置包括 樣本存儲(chǔ)器,它適于在每一行中存儲(chǔ)8個(gè)復(fù)數(shù)樣本數(shù)值; 轉(zhuǎn)置存儲(chǔ)器,它排列成8X8個(gè)存儲(chǔ)單元;基數(shù)-8蝶形運(yùn)算芯,它適于檢索一行數(shù)值、執(zhí)行基數(shù)-8蝶形運(yùn)算、并將輸出數(shù)值按列寫(xiě)入所述轉(zhuǎn)置存儲(chǔ)器;旋轉(zhuǎn)存儲(chǔ)器,它適于在每一行中存儲(chǔ)4個(gè)旋轉(zhuǎn)數(shù)值;以及具有4個(gè)復(fù)數(shù)乘法器的乘法器模塊,所述乘法器模塊適于檢索來(lái)自旋轉(zhuǎn)存儲(chǔ) 器的一行以及來(lái)自轉(zhuǎn)置存儲(chǔ)器的4個(gè)相鄰數(shù)值、用來(lái)自旋轉(zhuǎn)存儲(chǔ)器行的數(shù)值對(duì)來(lái)自 相鄰轉(zhuǎn)置存儲(chǔ)單元的4個(gè)數(shù)值執(zhí)行復(fù)數(shù)乘法運(yùn)算、并將乘積回寫(xiě)到所述4個(gè)相鄰的 轉(zhuǎn)置存儲(chǔ)單元。
      10. 如權(quán)利要求9所述的裝置,其特征在于,所述相鄰的轉(zhuǎn)置存儲(chǔ)單元包括按列相鄰的存儲(chǔ)單元。
      11. 如權(quán)利要求9所述的裝置,其特征在于,所述相鄰的轉(zhuǎn)置存儲(chǔ)單元包括按行循環(huán)相鄰的存儲(chǔ)單元。
      12. 如權(quán)利要求9所述的裝置,其特征在于,所述相鄰的轉(zhuǎn)置存儲(chǔ)單元包括 用于一周期子集的按列存儲(chǔ)單元以及用于一不同周期子集的按行循環(huán)相鄰存儲(chǔ)單元。
      13. —種用于執(zhí)行快速傅里葉變換(FFT)處理操作的方法,所述方法包括 讀取樣本存儲(chǔ)器的多個(gè)行,其每行樣本個(gè)數(shù)等于所述FFT的基數(shù); 針對(duì)樣本存儲(chǔ)器的一行中的數(shù)值確定蝶形運(yùn)算,并且將蝶形運(yùn)算數(shù)值按列寫(xiě)入轉(zhuǎn)置存儲(chǔ)器中;檢索一行旋轉(zhuǎn)因子,所述的行中存儲(chǔ)有多個(gè)旋轉(zhuǎn)因子數(shù)值; 在單個(gè)周期內(nèi)使多個(gè)蝶形運(yùn)算數(shù)值乘以所述旋轉(zhuǎn)因子數(shù)值以產(chǎn)生經(jīng)旋轉(zhuǎn)的蝶形運(yùn)算數(shù)值;以及將所述經(jīng)旋轉(zhuǎn)的蝶形運(yùn)算數(shù)值回寫(xiě)到所述多個(gè)蝶形運(yùn)算數(shù)值的存儲(chǔ)單元。
      14. 如權(quán)利要求13所述的方法,還包括從所述轉(zhuǎn)置存儲(chǔ)器中的相鄰寄存器中檢索多個(gè)蝶形運(yùn)算數(shù)值。
      15. 如權(quán)利要求14所述的方法,其特征在于,所述相鄰的寄存器包括按列相鄰的寄存器。
      16. 如權(quán)利要求14所述的方法,其特征在于,所述相鄰的寄存器包括循環(huán)相 鄰的按行寄存器。
      17. 如權(quán)利要求13所述的方法,其特征在于,檢索一行旋轉(zhuǎn)因子包括從具 有基于最大FFT維度而確定的多個(gè)行的旋轉(zhuǎn)存儲(chǔ)器中檢索一行。
      18. 如權(quán)利要求13所述的方法,其特征在于,乘以多個(gè)蝶形運(yùn)算數(shù)值包括 執(zhí)行所述旋轉(zhuǎn)因子與所述蝶形運(yùn)算數(shù)值的復(fù)數(shù)乘法。
      19. 一種快速傅里葉變換(FFT)處理裝置,所述裝置包括用于在每一行中存儲(chǔ)許多樣本數(shù)值的裝置,每一行中所存儲(chǔ)的樣本數(shù)值的個(gè) 數(shù)等于所述FFT的基數(shù);用于使多個(gè)數(shù)值轉(zhuǎn)置的裝置;用于計(jì)算蝶形運(yùn)算的裝置,它被配置成接收來(lái)自樣本存儲(chǔ)器的一行數(shù)值、對(duì)這些數(shù)值執(zhí)行蝶形運(yùn)算操作、并將結(jié)果寫(xiě)入轉(zhuǎn)置存儲(chǔ)器的一列中;以及用于使來(lái)自轉(zhuǎn)置存儲(chǔ)器的預(yù)定數(shù)目的相鄰數(shù)值乘以相應(yīng)的旋轉(zhuǎn)因子的裝置。
      20. —種計(jì)算機(jī)可讀介質(zhì),它編碼有計(jì)算機(jī)程序以執(zhí)行如下步驟讀取樣本存儲(chǔ)器的多個(gè)行,每行的樣本數(shù)等于FFT的基數(shù);針對(duì)樣本存儲(chǔ)器的一行中的數(shù)值確定蝶形運(yùn)算,并且將蝶形運(yùn)算數(shù)值按列寫(xiě)入轉(zhuǎn)置存儲(chǔ)器;檢索一行旋轉(zhuǎn)因子,所述的行中存儲(chǔ)有多個(gè)旋轉(zhuǎn)因子數(shù)值; 在單個(gè)周期內(nèi)使多個(gè)蝶形運(yùn)算數(shù)值乘以所述旋轉(zhuǎn)因子數(shù)值以產(chǎn)生經(jīng)旋轉(zhuǎn)的蝶形運(yùn)算數(shù)值;以及將經(jīng)旋轉(zhuǎn)的蝶形運(yùn)算數(shù)值回寫(xiě)到所述多個(gè)蝶形運(yùn)算數(shù)值的存儲(chǔ)單元。
      全文摘要
      一種FFT引擎,用于實(shí)現(xiàn)一種在多級(jí)中應(yīng)用旋轉(zhuǎn)乘法的循環(huán)計(jì)數(shù)方法。當(dāng)實(shí)現(xiàn)多級(jí)FFT時(shí),中間數(shù)值需要乘以各種旋轉(zhuǎn)因子。在高效的流水線中,F(xiàn)FT引擎使用最少個(gè)數(shù)的乘法器來(lái)執(zhí)行旋轉(zhuǎn)乘法?;贔FT基數(shù)和存儲(chǔ)器的每一行中數(shù)值的數(shù)量來(lái)優(yōu)化復(fù)數(shù)乘法器的數(shù)量這一做法允許用合理的存儲(chǔ)空間量和數(shù)目最少的循環(huán)來(lái)執(zhí)行FFT功能。這些數(shù)值的戰(zhàn)略排序和分組允許以個(gè)數(shù)更少的循環(huán)來(lái)執(zhí)行FFT運(yùn)算。
      文檔編號(hào)H04L27/26GK101300572SQ200680013483
      公開(kāi)日2008年11月5日 申請(qǐng)日期2006年3月13日 優(yōu)先權(quán)日2005年3月11日
      發(fā)明者K·S·庫(kù)森紐, R·克里希納穆斯 申請(qǐng)人:高通股份有限公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1