《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 無線通訊OFDM調(diào)制的實(shí)現(xiàn)
無線通訊OFDM調(diào)制的實(shí)現(xiàn)
摘要: OFDM是現(xiàn)代寬帶無線通信系統(tǒng)應(yīng)用的技術(shù),。為了減少高數(shù)據(jù)率OFDM系統(tǒng)中各信道間影響帶來的失真,引入循環(huán)前綴(CP)來消除碼間干擾(ISI),。它將一個(gè)IFFT包的最后部分復(fù)制到OFDM符號(hào)序列的前端,。注意,CP的長(zhǎng)度必須長(zhǎng)于色散信道的長(zhǎng)度以徹底消除ISI,。在發(fā)射器中,,OFDM調(diào)制包括快速傅立葉逆變換(IFFT)運(yùn)算和CP的插入。而在OFDM接收器中,,CP在數(shù)據(jù)包送往FFT解調(diào)前被移除,。新一代的無線系統(tǒng)以高動(dòng)態(tài)配置為標(biāo)志,其中CP的長(zhǎng)度隨著傳輸模式,,幀結(jié)構(gòu)(見圖1,、2)以及更高級(jí)的協(xié)議而改變。例如,,3GPP LTE中的CP配置每一個(gè)時(shí)隙,。
Abstract:
Key words :

        OFDM是現(xiàn)代寬帶無線通信系統(tǒng)應(yīng)用的技術(shù)。為了減少高數(shù)據(jù)率OFDM系統(tǒng)中各信道間影響帶來的失真,,引入循環(huán)前綴(CP)來消除碼間干擾(ISI),。它將一個(gè)IFFT包的最后部分復(fù)制到OFDM符號(hào)序列的前端。注意,,CP的長(zhǎng)度必須長(zhǎng)于色散信道的長(zhǎng)度以徹底消除ISI,。在發(fā)射器中,OFDM調(diào)制包括快速傅立葉逆變換(IFFT)運(yùn)算和CP的插入,。而在OFDM接收器中,,CP在數(shù)據(jù)包送往FFT解調(diào)前被移除。新一代的無線系統(tǒng)以高動(dòng)態(tài)配置為標(biāo)志,,其中CP的長(zhǎng)度隨著傳輸模式,,幀結(jié)構(gòu)(見圖1、2)以及更高級(jí)的協(xié)議而改變,。例如,,3GPP LTE中的CP配置每一個(gè)時(shí)隙。

圖1:3GPP LTE下的幀結(jié)構(gòu)1,,可用于TDD,、FDD系統(tǒng)。

圖2:3GPP LTE下的幀結(jié)構(gòu)2,,可用于TDD系統(tǒng),。

OFDM調(diào)制的實(shí)現(xiàn)

        下面將討論如何實(shí)現(xiàn)OFDM調(diào)制及解調(diào)中循環(huán)前綴的插入與消除,。

  FFT與FFT反變換:在OFDM調(diào)制中最關(guān)鍵的運(yùn)算就是IFFT,相類似,,OFDM解調(diào)的核心為FFT,。寬帶系統(tǒng)中的高FFT吞吐率是至關(guān)重要的,尤其是在FFT被多路數(shù)據(jù)通道共享時(shí),。

  在WiMAX以及3GPP LTE這類現(xiàn)代可擴(kuò)展無線系統(tǒng)中,,在運(yùn)行中可重新配置的能力同樣成為系統(tǒng)要求的一個(gè)重要指標(biāo)??勺兞髂J较碌腇FT MegaCore函數(shù)瞄準(zhǔn)的是可重新配置的無線通訊,,是設(shè)計(jì)OFDM系統(tǒng)時(shí)的一個(gè)很好選擇。

  FFT的MegaCore函數(shù)被設(shè)定為可變流模式,,它允許FFT的大小和方向逐包改變,。它還采用了存儲(chǔ)效率模式——這是FFT核的唯一模式,直接從FFT的蝶形引擎中輸出位反轉(zhuǎn)符號(hào),。可以在FFT核之外結(jié)合帶有循環(huán)前綴插入的位反轉(zhuǎn),。這樣,,整個(gè)OFDM調(diào)制可以節(jié)省出一個(gè)單緩沖器。

  FFT模塊復(fù)用:為了減少邏輯門數(shù),,F(xiàn)FT模塊通常采用比其他基帶模塊更快的時(shí)鐘頻率并復(fù)用,。FFT模塊可以被不同的源共享,譬如,,多路天線,、時(shí)分雙工(TDD)復(fù)用中的發(fā)射與接收,以及頻分雙工(FDD)系統(tǒng),。FFT模塊也可以與其他功能模塊共享,,如振幅因數(shù)減小或信道估計(jì)模塊。不過,,這些復(fù)用取決于用戶特定的算法,,而非通用設(shè)計(jì)。這篇文章將集中討論最常見的無線通訊系統(tǒng)應(yīng)用:如MIMO技術(shù),、TDD和FDD通信,。

  TDD操作:在TDD基站中,發(fā)送和接收發(fā)生在不重疊的時(shí)隙中,。FFT模塊可以很容易地在采用合適的信號(hào)多路復(fù)用技術(shù)的發(fā)射機(jī)和接收機(jī)之間共享,。圖3顯示一個(gè)典型的單一天線TDD OFDM調(diào)制器。

圖3:?jiǎn)翁炀€TDD系統(tǒng)中OFDM調(diào)制解調(diào)的共享,。

        在發(fā)射數(shù)據(jù)通道中,,基帶數(shù)據(jù)被直接送入IFFT模塊,。為在IFFT運(yùn)算后插入CP并進(jìn)行位反轉(zhuǎn)操作,可以采用很多種不同的結(jié)構(gòu),。圖4為一個(gè)使用Altera Avalon Streaming接口(Avalon-ST)的高效實(shí)現(xiàn)方案,。IFFT輸出的位反轉(zhuǎn)信號(hào)按次序被寫入一個(gè)單緩沖器,在那里,,來自上一個(gè)OFDM符號(hào)的自然順序的樣本通過雙端口RAM同時(shí)被讀出,。產(chǎn)生循環(huán)前綴時(shí),通過Avalon-ST背壓流量控制使FFT核停轉(zhuǎn),。附加了循環(huán)前綴的連續(xù)OFDM符號(hào)再被送到數(shù)字上變頻器(DUC)來傳輸,。

圖4:帶背壓的循環(huán)前綴插入的高效存儲(chǔ)實(shí)現(xiàn)方案。

        而在接收通道中,,經(jīng)過數(shù)字下變頻器(DDC)后,,循環(huán)前綴從OFDM符號(hào)中被移除。如圖3示,,循環(huán)移除模塊找到OFDM符號(hào)序列的正確起始位置然后把數(shù)據(jù)送向FFT解調(diào),。FFT模塊后的單緩沖器只能作為接收通道中的位反轉(zhuǎn)緩沖器而沒有背壓流量控制。為了重復(fù)利用控制單元,,圖3中CP的插入和移除模塊能夠區(qū)分?jǐn)?shù)據(jù)包是否用來發(fā)射還是接收,,并采取相應(yīng)操作。在這種存儲(chǔ)器高效率執(zhí)行中,,F(xiàn)FT核工作頻率為符號(hào)速率,。一個(gè)單緩沖器足以完成循環(huán)前綴的插入和位反轉(zhuǎn)。

  FDD操作:在FDD中,,發(fā)送和接收是同時(shí)進(jìn)行的,。FFT核的共享要求其工作頻率不低于基帶符號(hào)傳輸速率的兩倍。發(fā)射和接收數(shù)據(jù)通道各需要一個(gè)專用數(shù)據(jù)緩存,。

  圖5描述的是FDD系統(tǒng)下FFT復(fù)用的一種可能配置,。數(shù)據(jù)發(fā)送和接收通道的操作類似于TDD系統(tǒng),其區(qū)別在于這些操作是同時(shí)進(jìn)行的,。因此,,pre-FFT數(shù)據(jù)必須被緩存且把頻率提高到快時(shí)鐘頻率。用一個(gè)單緩沖器就足以改變速率,,因?yàn)榫彌_器的寫時(shí)鐘頻率總是低于或等于讀時(shí)鐘頻率,。

圖5:?jiǎn)翁炀€中OFDM調(diào)制解調(diào)的FFT核共享。

        在當(dāng)前的數(shù)據(jù)包以低時(shí)鐘速率被寫入緩沖器的時(shí)候,,上一個(gè)包中的數(shù)據(jù)以高時(shí)鐘率被讀出,。當(dāng)讀寫操作在同一存儲(chǔ)位置時(shí),需要配置雙端口RAM來輸出舊存儲(chǔ)內(nèi)容。FFT處理后,,高速率數(shù)據(jù)經(jīng)過雙端RAM后被還原到OFDM的發(fā)送速率,。這個(gè)post-FFT存儲(chǔ)緩沖器也作為一個(gè)位反轉(zhuǎn)緩沖器。由于速率從高到低的改變,,如果需要連續(xù)碼流輸出,,就需要一個(gè)雙緩沖器,即當(dāng)一個(gè)FFT包被寫入緩沖器時(shí),,上一個(gè)包中的數(shù)據(jù)從另一個(gè)緩沖器被讀出,。

MIMO結(jié)構(gòu)設(shè)置

  多天線結(jié)構(gòu)是現(xiàn)代無線系統(tǒng)中的強(qiáng)制性需求,這些系統(tǒng)包括WLAN,,WiMAX和3GPP LTE系統(tǒng),。在多輸入輸出(MIMO)系統(tǒng)中進(jìn)行OFDM調(diào)制的一個(gè)很直接的操作就是復(fù)制數(shù)據(jù)通道,包括用于每一根天線的FFT核,。

  一種資源更友好的解決方案是共享每條天線的FFT核,。為實(shí)現(xiàn)MIMO中的FFT復(fù)用,F(xiàn)FT核的頻率至少要比基帶數(shù)據(jù)傳輸速率快n倍,,這里的n為天線的根數(shù),。當(dāng)結(jié)合MIMO、TDD和FDD時(shí),,同一個(gè)FFT核能在兩維上被共享,,代價(jià)是需要pre-FFT數(shù)據(jù)緩沖。

  圖6描述的是TDD模式下一種雙天線MIMO發(fā)射器的基本配置,。FFT核被兩條天線以及發(fā)送和接收器復(fù)用。循環(huán)前綴的插入和移除控制單元必須能夠用于發(fā)射和接收,。由于時(shí)鐘頻率的差異,,每根天線的post-FFT數(shù)據(jù)處理需要一個(gè)雙緩沖器。

圖6:雙天線MIMO TDD系統(tǒng)中OFDM調(diào)制解調(diào)的FFT核共享,。

OFDM調(diào)制實(shí)例

  下面的OFDM調(diào)制和解調(diào)在Altera Stratix III FPGA上進(jìn)行,,F(xiàn)FT和存儲(chǔ)緩沖器使用MegaCore函數(shù)。這個(gè)例子打算用于采用FFT復(fù)用的系統(tǒng),,為了實(shí)現(xiàn)共享,,這里,F(xiàn)FT核的時(shí)鐘率要比基帶信號(hào)快很多,。該設(shè)計(jì)旨在實(shí)現(xiàn)可重配置結(jié)構(gòu)的OFDM系統(tǒng),,它的FFT size和循環(huán)前綴的大小在執(zhí)行中可變。Pre-FFT數(shù)據(jù)通過一個(gè)單緩沖器改變速率,,Pre-FFT位反轉(zhuǎn)數(shù)據(jù)通過一對(duì)緩沖器改變速率和次序,。所有的控制模塊支持TDD操作并被發(fā)射器和接收器共享。該應(yīng)用實(shí)例可以很容易擴(kuò)展到MIMO,、TDD或者兩者結(jié)合的系統(tǒng)中,,例如圖6中的系統(tǒng)以及圖5介紹的FDD系統(tǒng),。

  功能描述:這個(gè)設(shè)計(jì)實(shí)例包含兩部分:OFDM調(diào)制和OFDM解調(diào)。前者包含IFFT和循環(huán)前綴的位反轉(zhuǎn)插入,,后者包含循環(huán)前綴的移除模塊和改變數(shù)據(jù)速率的緩沖器,。圖7為這兩者的高級(jí)集成。你可以把它看作是圖3中的單天線TDD系統(tǒng)的一種擴(kuò)展,。附加的pre-FFT緩沖器使設(shè)計(jì)更容易地?cái)U(kuò)展到具有FFT復(fù)用的MIMO或FDD系統(tǒng),。

圖7:OFDM調(diào)制解調(diào)設(shè)計(jì)架構(gòu)舉例。

        Post-FFT處理:OFDM調(diào)制過程中的CP插入包含4個(gè)功能子模塊:

  1. 使用雙時(shí)鐘雙端口RAM的雙緩沖器

  2. 位反轉(zhuǎn)的存儲(chǔ)寫模塊

  3. 循環(huán)前綴插入的內(nèi)存讀取模塊

  4. 時(shí)鐘同步模塊

  在發(fā)射數(shù)據(jù)通道中,,位反轉(zhuǎn)的IFFT輸出數(shù)據(jù)在循環(huán)前綴插入模塊被讀入,。一個(gè)控制單元分析數(shù)據(jù)地址并把它寫入相應(yīng)的存儲(chǔ)單元。在一個(gè)完整的IFFT數(shù)據(jù)包被寫入后,,與循環(huán)前綴相應(yīng)的最后幾個(gè)樣本以自然順序讀出,。與此同時(shí),如果有容量,,來自下一個(gè)IFFT包的數(shù)據(jù)會(huì)被寫入另一個(gè)緩沖器,。如果兩個(gè)緩沖器都有數(shù)據(jù)需要讀取,會(huì)有一個(gè)延遲信號(hào)經(jīng)過Avalon Streaming接口背壓送到IFFT核,。經(jīng)過OFDM調(diào)制后的數(shù)據(jù)通常是連續(xù)的,。而其后的模塊,如IF調(diào)制解調(diào)器和天線,,不應(yīng)該施加背壓,。

  在接收數(shù)據(jù)通道中,post-FFT處理限制了位反轉(zhuǎn)和速率改變,。位反轉(zhuǎn)的FFT輸出數(shù)據(jù)會(huì)被寫入到正確的內(nèi)存地址,,就像之前所做的一樣。一旦一個(gè)完整的數(shù)據(jù)包被寫入了緩沖器,,它將會(huì)按正常順序依次讀出,。要特別注意避免過度的背壓。由于讀時(shí)鐘頻率通常慢于寫時(shí)鐘,,故需要一個(gè)雙緩沖器,。圖8講述了post-FFT的數(shù)據(jù)處理??刂菩盘?hào)指明兩個(gè)時(shí)鐘域的緩存器狀態(tài),,并通過同步邏輯進(jìn)行同步。

圖8:循環(huán)前綴插入操作前后的數(shù)據(jù)包比較,。

        如前面所討論,,如果FFT為了資源共享采用不同速率的時(shí)鐘,則需要pre-FFT數(shù)據(jù)緩沖器。在接收通道上,,每當(dāng)輸入數(shù)據(jù)開始寫入單緩沖器時(shí),,循環(huán)前綴移除模塊開始記數(shù)。當(dāng)整個(gè)數(shù)據(jù)包都被寫入這個(gè)單緩沖器時(shí),,記數(shù)值開始從0地址被讀出,。

  對(duì)于固定的FFT size,由于讀時(shí)鐘頻率并不比寫時(shí)鐘慢,,用一個(gè)單緩沖器就夠了,。但如果FFT size是變化的,一個(gè)單緩沖器恐怕就不夠了,。舉個(gè)特殊的例子,,假設(shè)兩個(gè)時(shí)鐘工作在同一頻率。在這種情況下,,當(dāng)新的數(shù)據(jù)被寫入內(nèi)存,,上一個(gè)數(shù)據(jù)包中的數(shù)據(jù)會(huì)從同一個(gè)存儲(chǔ)地址被讀出。如果上一個(gè)數(shù)據(jù)包的FFT/IFFT size更大,,那么當(dāng)前包的寫操作會(huì)早在上一個(gè)數(shù)據(jù)包讀操作完成前結(jié)束,。這樣的話,為了阻止寫入過多的數(shù)據(jù),,就必須延遲上行數(shù)據(jù)流模塊的運(yùn)行直到上一個(gè)大數(shù)據(jù)包的讀操作完成,。

  所幸的是,這種背壓只會(huì)在FFT size由大變小時(shí)才會(huì)被施加,。在實(shí)際的系統(tǒng)中,,F(xiàn)FT size不太可能頻繁的改變。如果它只在幀邊界改變,,由于幀符號(hào)之間是靜止區(qū),,就永遠(yuǎn)不會(huì)施加背壓。此外,,為了避免使用背壓,,讀信號(hào)和FFT核可以采用更高速率的時(shí)鐘,,這樣讀操作會(huì)在寫操作之前完成,。所需的時(shí)鐘頻率取決于最壞情況下FFT size的變化比。舉個(gè)極端的例子,,如果FFT size從2048減到128,,那么讀時(shí)鐘的頻率至少需要比寫時(shí)鐘快16倍。

  在發(fā)射數(shù)據(jù)通道上,,CP移除子??熘皇菍⑤斎霐?shù)據(jù)按次序?qū)懭雴尉彌_器。同樣的數(shù)據(jù)以不同的速率被讀出。圖9講述了pre-FFT的數(shù)據(jù)操作,。在接收通道上,,數(shù)據(jù)通過天線進(jìn)入OFDM解調(diào)器,其后通常還接有IF調(diào)制解調(diào)器,。這樣,,接收模式下的pre-FFT模塊不會(huì)再對(duì)上行數(shù)據(jù)流模塊施加背壓。對(duì)于TDD操作,,在pre-FFT數(shù)據(jù)緩沖時(shí),,可以復(fù)用post-FFT雙端口RAM實(shí)現(xiàn)位反轉(zhuǎn),因?yàn)檫@些操作在時(shí)間上是錯(cuò)開的,。

圖9:循環(huán)前綴移除操作前后的數(shù)據(jù)包比較,。

        時(shí)鐘方案:該設(shè)計(jì)中采用兩個(gè)時(shí)鐘域,clk_f和clk_s,。FFT核運(yùn)行在快時(shí)鐘clk_f上,。當(dāng)時(shí)鐘clk_f比clk_s快時(shí),兩個(gè)時(shí)鐘域?qū)?huì)存在異步,。握手信號(hào)將會(huì)被插入來同步域間的控制信號(hào),。盡管在實(shí)際系統(tǒng)中時(shí)鐘clk_f的頻率通常為clk_s頻率的幾個(gè)整數(shù)倍,但在這個(gè)設(shè)計(jì)中,,兩者頻率也可以相同,。這里,兩個(gè)時(shí)鐘必須同步,。由于單緩沖器存儲(chǔ)深度的限制,,如果兩個(gè)時(shí)鐘同步而只是速率不同,就必須去掉解調(diào)器中的時(shí)鐘同步模塊,。不過在實(shí)際系統(tǒng)中不需要考慮這一點(diǎn),,因?yàn)槿绻鸉FT核沒有被復(fù)用就沒必要使用pre-FFT緩沖器了。


  接口和I/O端口:該設(shè)計(jì)實(shí)例使用了數(shù)據(jù)傳輸控制的Avalon Streaming協(xié)議,。為了支持大小可變的FFT size,、循環(huán)前綴,以及FFT方向運(yùn)行時(shí)間(run time)的變化,,必須對(duì)這些run time信號(hào)進(jìn)行緩沖并把它們與輸出數(shù)據(jù)數(shù)據(jù)包開始(SOP)信號(hào)對(duì)齊,。    

  該實(shí)例中也通過Avalon Stream信號(hào)sink_ready(輸入準(zhǔn)備好信號(hào))和source_ready(輸出準(zhǔn)備好信號(hào))來支持背壓,。循環(huán)前綴插入模塊中輸入準(zhǔn)備好延遲選0和輸出準(zhǔn)備好延遲選44,。循環(huán)前綴移除模塊的輸入準(zhǔn)備好延遲選0。不過,,因?yàn)檩敵鰯?shù)據(jù)取自存儲(chǔ)器,,后面的緩沖器讀取子模塊的輸出準(zhǔn)備好延遲選2,。由于FFT核為延遲0,為了實(shí)現(xiàn)與FFT核的連接,,需要在在緩沖讀模塊與FFT核之間插入一個(gè)延遲適配器,。延遲適配器用延遲2接收輸入數(shù)據(jù),然后用延遲0輸出數(shù)據(jù),。適配器也支持背壓并把可重配置的循環(huán)前綴的大小和FFT的方向信號(hào)與輸出數(shù)據(jù)包對(duì)齊,。

  調(diào)制解調(diào)的輸入輸出信號(hào)是有符號(hào)的定點(diǎn)格式但位寬度是可配置的。在可變流模式中,,IFFT核的輸出數(shù)據(jù)具有基于最大IFFT size的滿分辨率,。如果必要,可以在循環(huán)前綴插入模塊中切斷數(shù)據(jù)序列,,也可以設(shè)置位寬參數(shù),。圖10所示為OFDM調(diào)制解調(diào)模塊的I/O端口。

圖10:OFDM調(diào)制解調(diào)模塊的I/O接口,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。