給"小白"圖示講解OFDM的原理
遵循古老的傳統,F表示頻域,f表示時域,所以可以從公式1-2中看出,每個子載波上面調制的幅度,就是頻域信息。類似的說法是:OFDM傳輸的是頻域信號。這種說法有些別扭,但是很多教程或文章會使用這樣的說明方式,就看讀者如何理解了。如果純粹從公式或者子載波來看,這種說法其實也是很直接的闡述了。
本文引用地址:http://www.j9360.com/article/276911.htm上面1.1-1.3的擴展,可如下圖所示:
圖七:時域上的OFDM系統圖
1.4
還有這一步嗎?其實是有的。"小白"你可以先想想,想不到的話先往下看,因為這需要在頻域中考量,所以我寫在后面了。【也可參考[1]】
將上述的時域分析配上LTE的實現,有如下情況:
【注1:本段描述需要有LTE物理層的基本知識,如果看不明白,請暫時跳過,看完整篇文章后再回看】
【注2:LTE并非時域的實現,下面僅僅是套用LTE的參數,做一個參考分析】
子載波的間隔Δf=15kHz,一個OFDM
symbol的發送時間是66.7us,可以發現,15kHz*66.67us=1,即基帶上一個OFDM
symbol的發送時間正好發送一個一次諧波的完整波形。對于10M的LTE系統,采用的是1024個子載波,但是只有中間600個(不含最中間的直流)子載波被用于傳送數據。在一個OFDM
symbol的時間內(即66.67us),靠近中間的兩個一次諧波傳輸一個完整波形,再靠外一點的兩個二次諧波傳輸兩個完整波形,以此類推至最外面的兩個300次諧波傳輸了300個完整的波形。在這66.67us內,600個子載波互相正交,其上分別承載了600個復數信號。
上面的說法有點啰嗦,不如圖示來得直觀。本來準備再畫一圖的,不過一來上面已經有了類似的圖,實是大同小異;二來,600個子載波,也太多了點。。。
OK,說到這里,從時域上面來看OFDM,其實是相當簡潔明快討人喜歡的。不過,一個系統若要從時域上來實現OFDM,難度太大,時延和頻偏都會嚴重破壞子載波的正交性,從而影響系統性能。這點在各種教材文章中都會有提及,我就不贅述了。
下面將轉入頻域來描述OFDM,由于頻域不甚直觀,的確會稍稍讓人費解。不過只要時刻想著時域子載波間的疊加,一切都會好起來。
章節二:頻域上的OFDM
第一章節時域上的討論開始于OFDM中的"O";本章節頻域上我們從"FDM"開始。
先圖例一個常規FDM的系統圖:
圖11:常規FDM,兩路信號頻譜之間有間隔,互相不干擾
為了更好的利用系統帶寬,子載波的間距可以盡量靠近些。
圖12:靠得很近的FDM,實際中考慮到硬件實現,解調第一路信號時,已經很難完全去除第二路信號的影響了(電路的實現畢竟不能像剪刀裁紙一樣利落),兩路信號互相之間可能已經產生干擾了
還能再近些嗎?可以的。這就是OFDM的來歷啊,近到完全等同于奈奎斯特帶寬(后面有詳述),使頻帶的利用率達到了理論上的最大值。
圖13:繼續靠近,間隔頻率互相正交,因此頻譜雖然有重疊,但是仍然是沒有互相干擾的。神奇的OFDM
上面三個圖的確有點小兒科,不知道"小白"是不是已經在心里吶喊:這誰不知道呀!不過我在這里花時間畫了三張圖,總還是有所考量的:
a.
作為上一個章節和本章節之間的補充和連接,說明一下OFDM在頻域上面的表現,亦即OFDM的本源來歷。
b. 引導思考:信號的帶寬是多少?
c.
引導思考:OFDM正交頻譜疊加部分到底有多寬呢?結合1.4,先想想,再往下看,會更好。
再次回到正軌,請回看第一節中的圖一至圖六等時域波形圖,圖示了在時域上,波形的調制,疊加接收,以及最終的解碼。讓我們看看圖一至圖三中的每個步驟在頻域上是如何表現的。
首先來看sin(t)。"小白"呀"小白",你且說說sin(t)的頻譜是啥呀?"小白"弱弱的說:是一個沖激。是的,sin(t)是個單一的正弦波,代表著單一的頻率,所以其頻譜自然是一個沖激。不過其實圖一中所示的sin(t)并不是真正的sin(t),而只是限定在[0,2π]之內的一小段。無限長度的信號被限制在一小截時間之內,【就好比從一個完整的人身上逮下一根頭發,然后把整個人都丟掉,以發代人】其頻譜也不再是一個沖激了。
對限制在[0,2π]內的sin(t)信號,相當于無限長的sin(t)信號乘以一個[0,2π]上的門信號(矩形脈沖),其頻譜為兩者頻譜的卷積。sin(t)的頻譜為沖激,門信號的頻譜為sinc信號(即sin(x)/x信號)。沖激信號卷積sinc信號,相當于對sinc信號的搬移。所以分析到這里,可以得出圖一的時域波形其對應的頻譜如下:
圖21:限定在[0,2π]內的a·sin(t)信號的頻譜,即以sin(t)為載波的調制信號的頻譜
sin(2t)的頻譜分析基本相同。需要注意的是,由于正交區間為[0,2π],因此sin(2t)在相同的時間內發送了兩個完整波形。相同的門函數保證了兩個函數的頻譜形狀相同,只是頻譜被搬移的位置變了:
圖22:限定在[0,2π]內的b·sin(2t)信號的頻譜,即以sin(2t)為載波的調制信號的頻譜
將sin(t)和sin(2t)所傳信號的頻譜疊加在一起,如下:
圖23:a·sin(t)+b·sin(2t)信號的頻譜
圖23和圖13,均是頻域上兩個正交子載波的頻譜圖。比一下,發現了嗎?不太一樣!
是的,想必你已經想起來了,這是因為基帶信號在傳輸前,一般會通過脈沖成型濾波器的結果。比如使用"升余弦滾降濾波器"后,圖23所示的信號就會被修理成圖13所示的信號了。這樣可以有效的限制帶寬外部的信號,在保證本路信號沒有碼間串擾的情況下,既能最大限度的利用帶寬,又能減少子載波間的各路信號的相互干擾。這也是1.4中沒有提及的,更多的可參考[1]
貼士:脈沖成型濾波器作用于頻域,可以"看作"時域中的每個碼元都是以類似sinc信號發出的。沒必要糾結于發送端碼元的時域波形,只需要知道在接收端通過合適的采樣就可以無失真的恢復信號就OK咯。
這里用到的是奈奎斯特第一準則,在下面的框框內會稍作描述:
奈奎斯特第一準則請自行google,這里說說其推論:碼元速率為1/T(即每個碼元的傳輸時長為T),進行無碼間串擾傳輸時,所需的最小帶寬稱為奈奎斯特帶寬。
對于理想低通信道,奈奎斯特帶寬W = 1/(2T)
對于理想帶通信道,奈奎斯特帶寬W =1/T
在下面的圖31中,可以看出信號的實際帶寬B是要大于奈奎斯特帶寬W(低通的1/(2T)或者帶通的1/T)的,這就是理想和現實的距離。
補充說明:本文提到的"帶寬",也即約定俗成的帶寬理解方式,指的是信號頻譜中>=0的部分。在從低通到帶通的搬移過程中,因為將原信號負頻率部分也移出來了(也可理解為同乘e(j2πfct)
+ e(-j2πfct)的結果,見參考[2])【注:沒有上角標和下角標的編輯器,真不爽。不過,你應該看得懂的】,所以帶寬翻倍了。如下圖所示:
圖31:內涵豐富的圖,請參看上面和下面的說明文字
上面專門用框框列出奈奎斯特第一準則,還有一個重要目的就是說明下頻帶利用率的問題。頻帶利用率是碼元速率1/T和帶寬B(或者W)的比值。
理想情況下,低通信道頻帶利用率為2Baud/Hz;帶通信道頻帶利用率同樣為2Baud/Hz(負頻率移出來后,和正頻率一樣可以獨立攜帶信號)
實際情況下,因為實際帶寬B要大于奈奎斯特帶寬W,所以實際FDM系統的頻帶利用率會低于理想情況。
【說到這里,終于可以圖窮匕見了】而OFDM的子載波間隔最低能達到奈奎斯特帶寬,也就是說(在不考慮最旁邊的兩個子載波情況下),OFDM達到了理想信道的頻帶利用率。
圖32:OFDM正交子載波,載頻間距為奈奎斯特帶寬,保證了最大的頻帶利用率
將上述的頻域分析配上LTE的實現,有如下情況:
【注:本段描述需要有LTE物理層的基本知識】
子載波的間隔Δf=15kHz,一個OFDM
symbol的發送時間是66.7us。在10MHz信道上,1ms的子幀共傳輸14個OFDM symbol【不是15個,留空給CP了】,每一個OFDM
symbol攜帶600個復數信息,因此:
1. 從整個系統來看,波特率為600*14*2/1ms =
16.8MBaud,占據帶寬10MHz,因此帶寬利用率為16.8MBaud/10MHz =
1.68Baud/Hz,接近2Baud/Hz的理想情況。【注:一是CP占用了每個OFDM
Symbol約1/15的資源,二是10MHz的頻帶并不是滿打滿算的用于傳輸數據,其邊界頻帶需要留空以減少與鄰近信道的干擾】
2.
單從OFDM一個symbol來看,波特率為600*2/66.7us =
18MBaud,占據帶寬600*15kHz=9MHz【不考慮邊界子載波帶外問題】,因此其帶寬利用率為18MBaud/9MHz=2Baud/Hz,符合上面的討論。
附:5M帶寬的WCDMA的chip
rate = 3.84M/s,即碼率為3.84M*2 = 7.68MBaud,帶寬5M,所以帶寬利用率為7.68MBaud/5MHz =
1.536Baud/Hz,略遜于LTE的1.68Baud/Hz【注:WCDMA的脈沖成型采用滾降系數為0.22的升余弦濾波器,奈奎斯特帶寬為3.84M】
章節三:用IFFT實現OFDM
其實前兩章,我已經將自己的理解盡數表達了:第一節是從時域上來說子載波正交的原理;第二節是從頻域上來解釋子載波正交后,達到理想頻帶利用率的特性。想來,雖然前兩章寫得較長【沒預料到會寫這么長的...太長了沒人看...】,但是應該還是很簡單、清晰、易懂的。
不過"小白"的卡殼,似乎并不在于最基本的正交原理和頻帶利用率上,反而是IFFT變換中,充斥的各種時域頻域角色變換讓其眼花繚亂。
個人覺得要理解IFFT實現OFDM,最好的辦法還是看公式。比如第一章節中的公式1-1和公式1-2,配上時域波形圖的疊加,不要太好理解喲。當然,這里的IFFT需要將時域離散化,因此公式
IFFT≈ IDFT -->
fn =1/N·∑Fk·e(j·2π·k·n/N) 【公式3-1,n為時域離散后的序號,N為總的IFFT個數,n∈[1,N]】
關于公式3-1的理解方法,可以是這樣的。其中一種理解方式是聯系第一章節的公式1-2:可以發現公式3-1等號右側所表達的物理意義和公式1-2是相同的,均代表了不同子載波e(j·2π·k·n/N)發送各自的信號Fk,然后在時域上的疊加形成fn,只不過現在疊加出來的時域不是連續波形,而是離散的時序抽樣點。
另一種更容易,更可愛的理解方式是:在一個OFDM
symbol的時長T內,用N個子載波各自發送一個信號F(k)(k∈[1,N]),等效于直接在時域上連續發送fn(n∈[1,N])N個信號,每個信號發送T/N的時長。
在IFFT實現OFDM中,發送端添加了IFFT模塊、接收端添加了FFT模塊。IFFT模塊的功能相當于說:別麻煩發送N個子載波信號了,我直接算出你們在空中會疊加成啥樣子吧;FFT模塊的功能相當于說:別用老式的積分方法來去除其余的正交子載波了,我幫你一次把N個攜帶信號全算出來吧。就是這樣,IFFT實現OFDM的系統用"數學的方法",在發送端計算信號的疊加波形,在接收端去除正交子載波,從而大大簡化了系統的復雜度。
圖八:用IFFT實現OFDM。請自行對比圖七
最后說一句:"小白"乃"白富美"之"白",非"一窮二白"之"白"也。
好吧,該結束了。再寫得長了更沒人看了。
補充章節:從頻譜上來看正交性
本文最開始發表時是沒有這一段的,因為原文已然十分自恰,已將OFDM的原理說的非常清楚到位了。然而,這一段的內容卻是別的文章中講解OFDM時經常出現的橋段,因此覺得還是有必要補充陳述一下自己的觀點。
【注:本小節為補充章節,與本文邏輯沒有必然聯系,可直接略過。】
從正文章節中,可以發現作者的思路:從時域角度講解子載波的正交性;從頻域角度講解OFDM的頻帶利用率。作者覺得這是最容易理解OFDM原理的方式。但是教材中、網絡上,還有一種非常主流的講解方式:從頻域上“直觀的”看待子載波的正交性。比如下面這個圖:
圖51:從OFDM頻譜看待正交性(本圖來自網絡,比我畫的圖好些,還有文字說明)
這種觀點的說法是:在每個子載波的抽樣點上,其它的子載波信號抽樣值均為0(即上圖中的subcarrier
Nulls對應某個子載波的Subcarrier
Peak)。這種說法在圖示上有非常醒目的直觀效果,所以是各教材講義中的常客,但是至少從作者的角度來看,這種說法在涉及到后面的解調信號時,將變得非常難以理解和說明。所以本文最開始的版本中是沒打算寫本小節的。
如果你看到這里,覺得這種說**中下懷,那么恭喜你。
如果你看到這里,覺得這種說法已經讓你的腦袋成了漿糊,那么可以回顧第一章節:時域上的正交性,然后繼續閱讀下面部分以解毒。
時域上的正交性和頻域上的正交性之間的關系該如何聯系起來呢?回顧前面提到sin(t)和sin(2t)是正交的【證明:sin(t)·sin(2t)在區間[0,2π]上的積分為0】,推廣到更一般的情況是:{sin(2π·Δf·t),sin(2π·Δf·2t),sin(2π·Δf·3t),...,sin(2π·Δf·kt)}在區間[0,
1/Δf]上正交(注:教材上一般寫為u(t)在[-T/2,T/2]區間上怎么怎么著,本文就用不著那么學術了)。可以看出,這里有一個關鍵的參數Δf:它既是頻域上子載波的間距,又確定了時域上的信號傳輸時間。回顧時域頻域轉換圖:
圖52:同前面的圖21,時域波形和頻域的轉換
聯系上圖的時頻轉換,可以發現Δf既確定了子載波本身(即上圖中第一排的兩個圖),又確定了待發信號的傳輸時間(即上圖中第二排的兩個圖中信號的寬度),從而決定了信號頻譜的主瓣寬度以及旁瓣為0的位置。這也意味著,OFDM系統中一旦選定了子載波間隔,時域上的正交性以及頻域上的正交性也就順理成章的聯系起來了。如下圖:
圖53:同前面的圖23,兩路信號的間隔Δf,保證了時域上的正交性、確定了頻域上的旁瓣0點位置
其實對本作者而言,從頻譜上來看待OFDM的正交性有點顛倒因果的嫌疑。按我的理解:OFDM選用的正交子載波是因,頻譜中出現“其余子載波攜帶信號的旁瓣0點處于當前子載波攜帶信號主瓣峰值處”的現象是果。以果推因,謬矣。
c語言相關文章:c語言教程
評論