On wireless communication,the high rate and high quality of communication service are required to offer,and OFDM has the advantage of the high bandwidth efficiency and strong anti-multipath ability ,so OFDM receives widespread attention in recent years. OFDM is actually one kind of multi-carrier modulation .and the main idea of OFDM is Channel will be divided into several subchannels orthogonal,and then turn High-speed data signals into parallel low-speed data-flow , modulation in each of the subchannels on transmission.
The design is the use of MATLAB design a structured, modular, graphical simulation software. To provide simulation platform for OFDM technology. OFDM is required to complete the simulation modeling. The major signal mapping, modulation, and other sub-module . Signal mapping module which is based on the corresponding modulation encoding each bit Table Group into a plural . After string and the conversion of binary data , Road map on each divided into two groups a bit, By map the QAM constellation into plural. By using look-up table method QAM constellation is mapped. QAM constellation is drawn. And modulation or demodulation module can be used to achieve IFFT or FFT . OFDM systems are used more coherent demodulation. When receiver data is demodulation, Channel estimation need to correct by the frequency selective fading and sub-carrier frequency offset the random phase shift and the magnitude of the decline. Otherwise, the bit error rate performance is very difficult to achieve practical requirements. Channel estimation is used LMS channel estimation algorithm. Finally additive white Gaussian noise channels of signal-to-noise ratio (SNR) - bit error curves is drawn.
KEY WORDS wireless communication, multicarrier modulation, OFDM, Channel Estimation
目 錄
摘要 I
ABSTRACT II
第一章 緒論 1
1.1正交頻分復(fù)用(OFDM)的來源 1
1.2 正交頻分復(fù)用(OFDM)的研究背景 1
1.2.1 無線通信的發(fā)展 1
1.2.2 第4代(4G)無線通信系統(tǒng) 2
1.3正交頻分復(fù)用(OFDM)的意義 2
1.3.1正交頻分復(fù)用(OFDM)的優(yōu)點 2
1.3.2 正交頻分復(fù)用(OFDM)的不足之處 4
1.4 多載波技術(shù)的發(fā)展 4
第二章 頻分復(fù)用(OFDM)系統(tǒng)的原理 6
2.1 多載波調(diào)制基礎(chǔ) 6
2.2 頻分復(fù)用(OFDM)系統(tǒng)的技術(shù)原理 6
2.2.1 OFDM的基本原理 7
2.2.2 信號映射(mapping) 7
2.2.3 OFDM系統(tǒng)的數(shù)學(xué)模型 11
2.2.4 用DFT實現(xiàn)OFDM的調(diào)制與解調(diào) 14
2.2.5 FFT/IFFT 14
2.2.6保護間隔和循環(huán)前綴 15
2.2.7 交織 17
2.2.8 OFDM的同步技術(shù) 17
2.2.9 OFDM系統(tǒng)的重要參數(shù)設(shè)計 18
第三章 OFDM系統(tǒng)的仿真設(shè)計 20
3.1 OFDM的MATLAB仿真 20
3.1.1 MATLAB語言簡介 20
3.1.2 正交頻分復(fù)用(OFDM)仿真系統(tǒng)說明 21
3.1.3 仿真程序說明 23
3.1.4 調(diào)試過程和結(jié)果分析 33
第四章 結(jié)束語 35
4.1總結(jié) 35
4.2不足與展望 35
致謝 37
參考文獻(xiàn) 38
摘要
在無線移動通信中,要求提供高速率和高質(zhì)量的通信服務(wù),而正交頻分復(fù)用(OFDM)因具有頻帶利用率高和抗多徑能力強等優(yōu)點,近年受到廣泛的重視。OFDM(正交頻分復(fù)用)技術(shù)實際上是多載波調(diào)制的一種。其主要思想是:將信道分成若干正交子信道,將高速數(shù)據(jù)信號轉(zhuǎn)換成并行的低速子數(shù)據(jù)流,調(diào)制到在每個子信道上進行傳輸。
本設(shè)計是利用MATLAB設(shè)計一種結(jié)構(gòu)化,模塊化,圖形化的仿真軟件,為OFDM技術(shù)的研究提供仿真平臺。要求完成OFDM的仿真建模,主要完成信號映射,調(diào)制等子模塊的演示。其中信號映射模塊主要是根據(jù)相應(yīng)的調(diào)制編碼表把每個比特組轉(zhuǎn)換成一個復(fù)數(shù)。經(jīng)過串/并轉(zhuǎn)換的二進制數(shù)據(jù),每一路按映射方式分為2比特一組,按QAM的星座圖映射成復(fù)數(shù)。而調(diào)制/解調(diào)子模塊可以用IFFT/FFT來實現(xiàn)。OFDM 系統(tǒng)中更多的采用相干解調(diào),接收端解調(diào)數(shù)據(jù)時,需要信道估計來糾正由頻率選擇性衰落和子載波頻率偏移產(chǎn)生的隨機的相位偏移和幅度衰落,否則系統(tǒng)的誤碼率性能很難達(dá)到實用要求。本文中信道估計采用了LMS信道估計算法。最后得到在加性高斯白噪聲信道下的信噪比(SNR)-誤碼率曲線圖。
關(guān)鍵詞:無線移動通信,多載波調(diào)制,正交頻分復(fù)用,信道估計
ABSTRACT
第一章 緒論
1.1正交頻分復(fù)用(OFDM)的來源
進入21世紀(jì)以來,無線通信技術(shù)正在以前所未有的速度向前發(fā)展。隨著用戶對各種實時多媒體業(yè)務(wù)需求的增加和互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,可以預(yù)計,未來的無線通信技術(shù)將會具有更高的信息傳輸速率,為用戶提供更大的便利,其網(wǎng)絡(luò)結(jié)構(gòu)也將發(fā)生更本的變化。目前普遍的觀點是,下一代的無線通信網(wǎng)絡(luò)將是基于統(tǒng)一的IPv6包交換方式,向用戶提供的峰值速率超過100Mbit/s【1】,并能支持用戶在各種無線通信網(wǎng)絡(luò)中無縫漫游的全新網(wǎng)絡(luò)。為了支持更高的信息傳輸速率和更高的用戶移動速度,在下一代的無線通信中必須采用頻譜效率更高,抗多徑干擾能力更強的新型傳輸技術(shù)。在當(dāng)前能提供高速率傳輸?shù)母鞣N無線解決方案中,以正交頻分復(fù)用(OFDM)為代表的多載波調(diào)制技術(shù)是最有前途的方案之一。
1.2 正交頻分復(fù)用(OFDM)的研究背景
1.2.1 無線通信的發(fā)展
人類采用無線方式進行通信的歷史可以追溯到19世紀(jì)末。1864年,英國物理學(xué)家麥克斯韋(J.C.Maxwell)創(chuàng)造性地總結(jié)了人們已有的電磁學(xué)知識,預(yù)言了電磁波的存在。1887年,德國物理學(xué)家赫茲(H.R.Herts)用試驗產(chǎn)生出電磁波,證明了麥克斯韋的預(yù)言。1897年,意大利科學(xué)家馬可尼(G.Maroni)和俄國軍官波波夫(A.S.Popov)首次使用無線電波進行信息傳輸并獲得成功。1901年,馬可尼實現(xiàn)了從英國到紐芬蘭的跨大西洋無線電信號接收,這是一次超過2700公里的遠(yuǎn)距離通信,充分顯示了無線通信的巨大發(fā)展?jié)摿?。在隨后一個多世紀(jì)的時間里,伴隨者計算機技術(shù)和大規(guī)模集成電路技術(shù)的發(fā)展,無線通信的理論和技術(shù)不斷取得進步,今天的移動通信技術(shù)已成為人們?nèi)粘I钪胁豢扇鄙俚闹匾ㄐ欧绞健?br>早期的無線通信主要用于船舶,航空,列車,公共安全等專用領(lǐng)域,用戶數(shù)量很少。20世紀(jì)60年代,貝爾實驗室提出了蜂窩的概念,使無線通信擺脫了傳統(tǒng)的大區(qū)制結(jié)構(gòu),為無線通信的大規(guī)模商用奠定了基礎(chǔ)。20世紀(jì)70年代,具有高可靠性的固態(tài)微型射頻硬件的發(fā)展使移動通信逐漸成熟起來。從20世紀(jì)70年代末到現(xiàn)在的20多年時間里,無線通信系統(tǒng)從第1代發(fā)展到了第3代,進入一個飛速發(fā)展的時期。據(jù)統(tǒng)計,1990年全球蜂窩電話的用戶僅為1千萬,而目前蜂窩電話的用戶的數(shù)量已達(dá)到7億。在中國,目前蜂窩電話的用戶已超過1.4億,每月新增蜂窩電話的數(shù)量將超過1500萬,移動通信市場出現(xiàn)了空前的繁榮。見文獻(xiàn)[1]。
1.2.2 第4代(4G)無線通信系統(tǒng)
根據(jù)無線通信每10年發(fā)展一代的特點,20世紀(jì)90年代末自ITU-R推出3G移動通信的標(biāo)準(zhǔn)之后,各個國家和地區(qū)為了在下一代無線通信系統(tǒng)的標(biāo)準(zhǔn)中占有一席之地,紛紛啟動了新一代無線通信系統(tǒng)的技術(shù)和標(biāo)準(zhǔn)化研究工作。有關(guān)新一代無線通信系統(tǒng)的名稱目前尚不統(tǒng)一,這些名稱有4G,Beyond3G,Beyond IMT-2000等多種,在此,我們將其統(tǒng)稱為4G無線通信系統(tǒng)。
對4G系統(tǒng)研究最為積極的地區(qū)和國家當(dāng)屬歐盟,美國,東亞的日本,韓國和中國。歐盟的研究工作主要包括歐盟信息技術(shù)協(xié)會(IST)第5框架和第6框架研究計劃下的多個研究項目(如MIND,Moby Dick,OverDRIVE,SCOUT,MATRICE等)以及世界無線通信技術(shù)研究壇(WWRF)的工作。美國對4G的研究比較分散,主要體現(xiàn)在美國電器與電子工程師協(xié)會(IEEE)主辦的各種會議和研討會上發(fā)表的有關(guān)4G系統(tǒng)的報道,DARPA資助的下一代(XG)通信系統(tǒng)的研究計劃和MIT正在進行的Oxygen研究項目。日本的4G系統(tǒng)研究機構(gòu)主要有移動信息技術(shù)論壇,日本通信技術(shù)研究所(CRL)和NTTDoCoMo公司。目前,NTTDoCoMo公司的4G研究工作非常引人矚目,他們提出了基于正交頻率碼分復(fù)用(OFCDM)技術(shù)具有可變擴頻因子的4G系統(tǒng)實現(xiàn)方案,并于2002年10月推出了下行鏈路速率為100Mbit/s【1】,上行鏈路速率為20Mbit/s的試驗系統(tǒng)。在韓國,對4G移動通信系統(tǒng)的研究工作主要由韓國電子通信研究所(ETRI)來承擔(dān),目前,ETRI已經(jīng)確定了4G系統(tǒng)的遠(yuǎn)景目標(biāo)和研究時間表,并與國內(nèi)外的大學(xué)和研究機構(gòu)密切協(xié)作,全力推動4G系統(tǒng)的標(biāo)準(zhǔn)化工作。在中國,2001年啟動的”十五”863重大研究計劃項目中專門設(shè)立了面向4G的FuTURE計劃,該計劃的研究目標(biāo)是在新技術(shù)產(chǎn)生的初期,對國際主流核心技術(shù)的發(fā)展以及知識產(chǎn)權(quán)的形成有所貢獻(xiàn),實現(xiàn)移動通信技術(shù)跨越式發(fā)展,開展高技術(shù)研究和試驗,側(cè)重于可實現(xiàn)性的關(guān)鍵技術(shù)開發(fā)與演示,并于2005年底進行關(guān)鍵技術(shù)的演示。
1.3正交頻分復(fù)用(OFDM)的意義
1.3.1正交頻分復(fù)用(OFDM)的優(yōu)點
寬帶無線通信系統(tǒng)中存在的主要問題是頻率選擇性衰落所引起的符號間干擾(ISI)問題。傳統(tǒng)上克服ISI的方法有兩種:第一種方法是采用單載波調(diào)制加時域均衡的方法,如2G蜂窩系統(tǒng)GSM中即采用了這種方法;第二種方法是采用直接序列擴頻碼分多址(DS-CDMA)加Rake接收技術(shù),如2G蜂窩系統(tǒng)IS-95和3G蜂窩系統(tǒng)IMT-2000中均采用了這種方法。上述兩種方法在各自的系統(tǒng)中都能很好地克服因頻率選擇性衰落所引起的符號間干擾問題,但是,對于高速數(shù)據(jù)業(yè)務(wù)來說,傳統(tǒng)的單載波系統(tǒng)和CDMA系統(tǒng)都存在很大的缺陷。由于無線信道存在時延擴展,而且高速信息流的符號寬度又相對較短,所以符號之間會存在著較嚴(yán)重的ISI,由此對單載波系統(tǒng)中所使用的均衡器提出非常高的要求,即抽頭數(shù)量要足夠大,訓(xùn)練符號要足夠多,訓(xùn)練時間要足夠長,這樣均衡算法的復(fù)雜度也會大大增加。對于CDMA系統(tǒng)來說,其主要問題在于擴頻增益與高速數(shù)據(jù)流之間的矛盾。在保證相同帶寬的前提下,對高速數(shù)據(jù)流所使用的擴頻增益不能太高,否則就大大限制了CDMA系統(tǒng)噪聲平均的優(yōu)點,從而使系統(tǒng)的軟容量受到一定的影響,如果保持原來的擴頻增益,則必須要相應(yīng)地提高帶寬。此外,受系統(tǒng)實現(xiàn)復(fù)雜度的限制,CDMA系統(tǒng)中Rake接收機的分支數(shù)量不能太多(目前為5左右),在高速寬帶系統(tǒng)中可分解的多徑數(shù)量較多,此時會有較大的能量損失。
近年來,備受人們關(guān)注的一項寬帶傳輸新技術(shù)是以正交頻分復(fù)用(OFDM)為代表的多載波傳輸技術(shù)【2】。多載波傳輸技術(shù)【3】把數(shù)據(jù)流分解為多個獨立的子比特流,這樣每個子數(shù)據(jù)流將具有低得多的比特速率,用這樣的的低比特率形成的低速率多狀態(tài)符號再去調(diào)制相應(yīng)的子載波,從而構(gòu)成多個低速率符號并行發(fā)送的傳輸系統(tǒng)。正交頻分復(fù)用(OFDM)是多載波傳輸方案【4】的實現(xiàn)方式之一,在非對稱數(shù)字用戶線(ADSL)中,正交頻分復(fù)用(OFDM)也被稱為離散多音(DMT)調(diào)制。正交頻分復(fù)用(OFDM)利用逆快速傅利葉變換(IFFT)和快速傅利葉變換(FFT)來分別實現(xiàn)調(diào)制和解調(diào),是實現(xiàn)復(fù)雜度最低,應(yīng)用最廣的一種多載波傳輸方案。除了正交頻分復(fù)用(OFDM)方式之外,人們還提出了許多其它的實現(xiàn)多載波調(diào)制的方式,如矢量變換方式【5】,基于小波變換的DWMT方式【6】,采用濾波器組的濾波多音(FMT)調(diào)制方式【7】等,但這些方式與正交頻分復(fù)用(OFDM)相比,實現(xiàn)復(fù)雜度相對較高,因而在實際系統(tǒng)中很少采用。因此,與傳統(tǒng)的單載波系統(tǒng)和CDMA系統(tǒng)相比,正交頻分復(fù)用(OFDM)系統(tǒng)的主要優(yōu)勢在于:
1) 可以有效地對抗多徑傳播所造成的符號間干擾,與其他實現(xiàn)方法相比,多載波系統(tǒng)實現(xiàn)復(fù)雜度較低;
2) 在變化相對較慢的信道上,多載波系統(tǒng)可以根據(jù)每個子載波的信噪比來優(yōu)化分配每個子載波上傳送的信息比特,從而大大提高系統(tǒng)傳輸信息的容量;
3) 多載波系統(tǒng)可以有效地對抗窄帶干擾,因為這種干擾僅僅影響系統(tǒng)的一小部分子載波;
4) 在廣播應(yīng)用中,利用多載波系統(tǒng)可以實現(xiàn)非常具有吸引力的單頻網(wǎng)絡(luò)。
1.3.2 正交頻分復(fù)用(OFDM)的不足之處
在與傳統(tǒng)的單載波傳輸系統(tǒng)相比,正交頻分復(fù)用(OFDM)系統(tǒng)的主要缺點在于:
1) 對于載波頻率偏移和定時誤差的敏感程度比單載波系統(tǒng)要高;
2) 多載波系統(tǒng)中的信號存在較高的峰值平均功率比(PAR)使得它對放大器的線性要求很高。
1.4 多載波技術(shù)的發(fā)展
多載波調(diào)制技術(shù)本質(zhì)上是一種頻分復(fù)用技術(shù)。頻分復(fù)用技術(shù)早在19世紀(jì)以前就已經(jīng)被提出,它把可用帶寬分成若干相互間隔的子頻帶,同時分別傳送一路低速信號(如電報),從而達(dá)到信號復(fù)用的目的。各子載波上的被調(diào)制數(shù)據(jù)可以來自同一信號源,也可以來自不同信號源。這種傳統(tǒng)的多載波調(diào)制方式復(fù)雜性比較高,因為各子載波都需要自己的模擬前端,同時為了使得接收機可以區(qū)分各子頻帶,各子頻帶之間必須有足夠的間隔,從而避免經(jīng)過信道后發(fā)生頻譜混疊,所以頻譜效率通常很低。但是在這種并行傳輸機制下,因為各載波上的數(shù)據(jù)速率較低,相應(yīng)的信號的碼元符號周期較長,并遠(yuǎn)大于信道的最大時延擴展,從而可以有效地減少由于信道單位時延擴展引起的符號間干擾問題。
為了提高FDM技術(shù)的頻譜利用率,G.A.Doelz等在20世紀(jì)50年代提出了Kineplex系統(tǒng)。該系統(tǒng)的設(shè)計目標(biāo)是在嚴(yán)重多徑衰落高頻無線信道中實現(xiàn)數(shù)據(jù)傳輸。系統(tǒng)使用了20個子載波,使用差分QPSK調(diào)制,且實現(xiàn)方式幾乎和現(xiàn)代的OFDM一樣:相鄰子載波間的間隔近似等于子載波的符號速率,從而保證各子載波的頻譜相互重疊,但又是正交的,于是可以大大地提高頻譜利用率,但系統(tǒng)仍采用了傳統(tǒng)的多載波調(diào)制系統(tǒng)實現(xiàn)方式。隨后的多載波系統(tǒng)也是利用類似的技術(shù)提高頻譜利用率。
以上系統(tǒng)中的子載波頻譜沒有經(jīng)過濾波,各子載波頻譜形狀均為sin(kf)/f函數(shù)形式。為了限制系統(tǒng)頻譜,R.W.Chang等分析了多載波通信系統(tǒng)如何使經(jīng)過濾波,帶限的子載波保持正交。隨后S.B.Weinstein和P.M.Ebert提出了使用離散傅利葉變換(DFT)實現(xiàn)多載波的基帶調(diào)制和解調(diào),這樣便不再對每個子載波都使用模擬前端,從而大大地降低了多載波系統(tǒng)的復(fù)雜度,為正交頻分復(fù)用(OFDM)的演進作出了巨大的貢獻(xiàn)。另外,Weinstein等提出了通過插入一段空白區(qū)作為保護間隔來消除符號間干擾,但這種辦法不能保證信號經(jīng)過色散信道后仍然保持保持正交,為此,A.Peled和A.Ruiz提出了采用循環(huán)前綴(CP)的方法保證信號經(jīng)過色散信道后仍然保持各子載波間的正交性。至此,現(xiàn)代正交頻分復(fù)用(OFDM)的概念便形成了。1985年,Cimini把正交頻分復(fù)用(OFDM)的概念引入蜂窩移動通信系統(tǒng),為無線正交頻分復(fù)用(OFDM)系統(tǒng)的發(fā)展奠定了基礎(chǔ)。
正交頻分復(fù)用(OFDM)技術(shù)具有良好的抗多徑能力,從而受到大量關(guān)注。目前正交頻分復(fù)用(OFDM)作為核心技術(shù)已被多種有線和無線標(biāo)準(zhǔn)采納:
1) ADSL,被廣泛用于提高銅雙鉸電纜用戶的接入能力;
2) 在無線局域網(wǎng)領(lǐng)域的IEEE802.11a,HIPERLAN-2;
3) 歐洲數(shù)字音頻廣播(DAB)和數(shù)字視頻廣播(DVB);
4) 無線城域網(wǎng)標(biāo)準(zhǔn)IEEE802.16a等等。
同時,正交頻分復(fù)用(OFDM)除了作為一種傳輸技術(shù),還具有支持多用戶接入的功能。
正因為正交頻分復(fù)用(OFDM)潛在的多徑對抗能力,且可以靈活地和其它接入方式結(jié)合成衍生系統(tǒng),所以正交頻分復(fù)用(OFDM)已被列為4G無線通信系統(tǒng)的可能解決方案,而受到研究者的廣泛關(guān)注。
第二章 頻分復(fù)用(OFDM)系統(tǒng)的原理
2.1 多載波調(diào)制基礎(chǔ)
任何實際的通信信道均存在各種干擾,這些干擾限制了系統(tǒng)的最大傳輸速率。在寬帶無線數(shù)字通信系統(tǒng)中,影響信息高速傳輸?shù)闹饕蓴_是由信道的多徑效應(yīng)所引起的頻率選擇性衰落。頻率選擇性衰落表現(xiàn)為對信號的某些頻率成分衰減嚴(yán)重,而對其它頻率成分衰減較小,造成系統(tǒng)性能的下降??朔l率選擇性衰落的傳統(tǒng)方法是在接收端采用均衡器或者采用直接序列擴頻加Rake接收的方法,這兩種方法在2G和3G蜂窩系統(tǒng)中都發(fā)揮了重要作用。隨著信息傳輸速率的進一步提高,以上方法在實現(xiàn)復(fù)雜度和性能方面都面臨許多障礙。為了克服多徑信道的頻率選擇性衰落,一個很自然的想法就是將信道在頻域上劃分成多個子信道,使每一個子信道的頻譜特性都近似平坦,使用多個互相獨立的子信道傳輸信號并在接收機中予以合并,以實現(xiàn)信號的頻率分集,這就是多載波調(diào)制的基本思想。與常規(guī)的單載波調(diào)制不同,在多載波調(diào)制中,多數(shù)的信號處理是在頻域內(nèi)完成的,當(dāng)子信道的數(shù)目很多時,每個子信道都可以看作是一個無ISI的子信道,發(fā)送端不需要采用復(fù)雜的信號處理技術(shù)即可實現(xiàn)各子信道的無ISI信息傳輸,而且還可以根據(jù)每個子信道的衰落況來動態(tài)調(diào)整每個子信道上所傳送的信息比特數(shù)。實現(xiàn)多載波調(diào)制的方法有多種:矢量編碼方式、小波變換方式、結(jié)構(gòu)化信道信號方式(SCS)【8】、濾波多音方式、以及OFDM方式等。
2.2 頻分復(fù)用(OFDM)系統(tǒng)的技術(shù)原理
無線傳輸信道的一個主要特征就是多徑傳播,即接收機所接收到的信號是通過不同的直射、反射、折射等路徑到達(dá)接收機的,這些信號的到達(dá)時間和相位都不相同。不同相位的多個信號在接收端疊加,同相疊加會使信號幅度增加,而反相疊加則會削弱信號的幅度。這樣,接收信號的幅度將會發(fā)生急劇變化,從而產(chǎn)生衰落。同時由于多徑傳輸,在發(fā)射端發(fā)射的一個脈沖信號,在接收端將收到多個脈沖信號,這就造成了信道的時間彌散性。這種時間彌散性會造成接收信號中的一個符號的波形會擴展到其他符號當(dāng)中,造成符號間干擾【9】(ISI)。為了避免產(chǎn)生ISI,應(yīng)該令符號寬度要遠(yuǎn)遠(yuǎn)大于無線信道的最大時延擴展。而增大符號寬度必然會使數(shù)據(jù)傳輸速率降低,這就給在無線信道中高速傳輸數(shù)據(jù)造成了困難OFDM就是為了解決在無線信道中高速傳輸數(shù)據(jù)而被提出的。它通過快速傅立葉反變換IFFT【10】將數(shù)據(jù)調(diào)制到多個正交子載波上,在保證總的傳輸速率很高的前提下,使每個子載波上數(shù)據(jù)以較低的速率傳輸,從而能克服ISI。
2.2.1 OFDM的基本原理
圖 2.1 是OFDM系統(tǒng)的原理框圖。編碼和交織后的數(shù)據(jù)進行串/并轉(zhuǎn)換為多路信號,每一路信號進行星座映射為復(fù)信號,再進行IFFT完成多載波基帶調(diào)制,然后經(jīng)過串/并轉(zhuǎn)換后,插入保護間隔,接下來進行加窗處理及D/A轉(zhuǎn)換,并進行上變頻,將信號進行頻帶調(diào)制。在接收端信號經(jīng)歷了與此對反的解調(diào)過程。
圖2.1 OFDM系統(tǒng)原理框圖
2.2.2 信號映射(mapping)
這里信號映射【11】指的是一種數(shù)字調(diào)制方式,根據(jù)相應(yīng)的調(diào)制編碼表把每個比特組轉(zhuǎn)換成一個復(fù)數(shù)。IEEE 802.11a中規(guī)定OFDM系統(tǒng)有四種調(diào)制方式,即BPSK,QAM,16-QAM和64-QAM。經(jīng)過串/并轉(zhuǎn)換的二進制數(shù)據(jù),每一路按映射方式分為1. 2. 4或6比特一組,按BPSK,QAM,16-QAM和64-QAM的星座圖映射成復(fù)數(shù)。映射是按格雷碼星座圖進行的,如圖2.2所示。圖中 表示最先輸入的比特。輸出值d可表示為:
(2.1)
其中, 是歸一化因子,依調(diào)制方式不同而取不同的值,具體參照表2.1。乘歸一化因子的目的是為了讓不同映射達(dá)到相同的平均功率。例如,對于16-QAM,當(dāng)輸入序列為 =0010時,對照表2.1查出 ,對照表2.2查出I=-3,Q=3,由式(2.1)得到輸出值d為:
(2.2)
圖2.2 BPSK,QAM,16-QAM的星座圖
圖2.2 BPSK,QAM,16-QAM的星座圖
依此類推,可以畫出64-QAM的星座圖(限于篇幅故不再列出)。
表2.1 不同調(diào)制方式下 的值
BPSK 1
QAM
16-QAM
64-QAM
表2.2 16-QAM映射表
輸入比特( )
00 -3
01 -1
11 1
10 3
( )
輸出
00 -3
01 -1
11 1
10 3
2.2.3 OFDM系統(tǒng)的數(shù)學(xué)模型
圖2.3 OFDM系統(tǒng)的數(shù)學(xué)模型框圖
一個OFDM符號是多個子載波的合成信號,用N表示子信道的個數(shù),T表示OFDM
符號寬度, (i=0,1,2,…N-1)表示分配給第i個子信道的數(shù)據(jù)符號, 表示第i個子載波的載波頻率,rect(t)=1, ;則從t= 開始的一個OFDM符號可以表示為:
而當(dāng)t取其它值時,s(t)=0。 (2.3)
多數(shù)文獻(xiàn)中,采用復(fù)等效基帶信號【12】來描述OFDM的輸出信號:
而當(dāng)t取其它值時,s(t)=0。 (2.4)
上式中的實部和虛部分別對應(yīng)于OFDM符號的同相分量和正交分量,在實際中可以分別與相應(yīng)子載波的Cos分量和Sin分量相乘,構(gòu)成最終的子信道信號和合成的OFDM符號。
圖2.4 一個OFDM符號內(nèi)包括的4個子載波實例
圖 2.4 中給出OFDM符號內(nèi)包括的4個子載波實例,每個子載波在一個OFDM符號周期內(nèi)都包含整數(shù)個周期,而且相鄰子載波之間相差1個周期,這一特性可以來解釋子載波之間的正交性。即:
(2.5)
例如對式(2.4)第j個子載波進行解調(diào),然后在時間長度T內(nèi)進行積分,即:
= =
(2.6)
由上式可以看到,對第j個子載波進行解調(diào)可以恢復(fù)出期望符號 ,,而對于其他載波,在積分間隔內(nèi),頻率差別(i-j)/T可以產(chǎn)生整數(shù)倍周期,所以其積分結(jié)果為0。
圖2.5 以一個OFDM符號內(nèi)包括的4個子載波為例相應(yīng)的時域信號和子載波的頻譜示意圖(經(jīng)矩形脈沖成形)
這種正交性還可以從頻域角度來理解。根據(jù)式(2.3),每個OFDM 符號在其周期T內(nèi)包括多個非零的子載波。因此其頻譜可以看作是周期為T的矩形脈沖的頻譜與一組位于各個子載波頻率上的S函數(shù)的卷積。矩形脈沖的頻譜幅值為sine函數(shù),這種函數(shù)的零點出現(xiàn)在頻率為1/T整數(shù)倍的位置上。這種現(xiàn)象可以參見圖2.5,其中圖2.5b給出相互覆蓋的各個子信道內(nèi)經(jīng)過矩形脈沖成形得到的sine函數(shù)頻譜。在每一子載波頻率的最大值處,所有其他子信道的頻譜值恰好為零。由于在對OFDM 符號進行解調(diào)的過程中,需要計算每個子載波上取最大值的位置所對應(yīng)的信號值,因此可以從多個相互重疊的子信道頻譜中提取出每個子信道符號,而不會受到其他子信道的干擾。從圖2.5可以看出,OFDM符號頻譜實際上可以滿足無ISI奈奎斯特準(zhǔn)則,但傳統(tǒng)的奈奎斯特準(zhǔn)則是在時域上保證前后發(fā)送符號之間無干擾,此處指的是頻域中各子信道間不存在干擾,這種消除ICI的方法是通過在時域中使用矩形脈沖成形,在頻域中每個子載波的最大值處取樣來實現(xiàn)。
2.2.4 用DFT實現(xiàn)OFDM的調(diào)制與解調(diào)
實際上,對于N比較大的系統(tǒng)來說,式〔2.4)中定義的OFDM 復(fù)等效基帶信號可以采用離散逆傅立葉變換(IDFT)【12】來實現(xiàn)。
令 (k=0,1,2,…,N-1),則可以得到:
(2.7)
上式中,s(k)即為 的IDFT運算,在接收端,可以對s(k)進行DFT變換恢復(fù)出原始數(shù)據(jù)符號 :
(2.8)
根據(jù)上述分析可以看到,OFDM 系統(tǒng)的調(diào)制和解調(diào)可以分別由IDFT/DFT來代替。在實際應(yīng)用中,可以采用更加方便快捷的快速傅立葉變換(IFFT/FFT)【13】來實現(xiàn)調(diào)制和解調(diào)。N點的IDFT運算需要實施N2次的復(fù)數(shù)乘法,而IFFT可以顯著地降低運算復(fù)雜度。對于常用的基2IFFT來說,其復(fù)數(shù)乘法的次數(shù)僅為(N/2)* log2(N),而采用基4IFFT算法來實施變換,其復(fù)數(shù)乘法的數(shù)量僅為:(3 /8)*N*(log2N一2)。
2.2.5 FFT/IFFT
OFDM在調(diào)制端是通過快速傅立葉反變換【13】(IFFT)將數(shù)據(jù)調(diào)制到多個子載波上的。而在接收端則通過快速傅立葉變換 (FFT)將調(diào)制在子載波上的信號解調(diào)出來的。其調(diào)制和解調(diào)過程可用式(2.9)和式(2.10)表示為:
( ) (2.9)
( ) (2.10)
通過IFFT得到的多個正交子信道符號的頻譜如圖2.6所示。
圖2.6 OFDM系統(tǒng)中子信道符號的頻譜
由圖2.6可見,各子載波頻譜雖然相互重疊,但在每個子載波頻率的最大值處,所有其他子信道的頻譜都為零。在對OFDM符號進行解調(diào)時,只需計算每一個子載波頻率的最大值,因此可以從多個相互重疊的子信道符號頻譜中提取出每個子信道符號,而不會受到其他子信道的千擾。這樣,也就提高了頻譜的利用率。
2.2.6保護間隔和循環(huán)前綴
應(yīng)用OFDM的一個主要原因是它可以有效地對抗多徑時延擴展,通過把輸入的數(shù)據(jù)流串/并變換到N個并行的子信道中,使得每個用于調(diào)制子載波的數(shù)據(jù)符號周期可以擴大為原始數(shù)據(jù)符號周期的N倍,時延擴展與符號周期的比值也相應(yīng)降低N倍。為盡可能的消除符號間干擾,還可在每個OFDM符號之間插入保護間隔 (GI),而且該保護間隔的時間長度一般要大于無線信道的最大時延擴展,這樣一個符號的多徑分量就不會對下一個符號造成干擾。在這段保護間隔內(nèi),可以不插入任何信號,即是一段空閑的傳輸時段。然而在這種情況中,由于多徑傳播的影響,不同的子載波之間會產(chǎn)生干擾。如圖2.7所示。
圖2.7 多徑情況下空閑GI對子載波解調(diào)造成干擾的示意圖
由于每個OFDM符號中都包括所有的非零子載波信號,而且也同時會出現(xiàn)該OFDM符號的時延信號,因此圖2.7中給出了第1子載波和第2子載波的延時信號。從圖中可以看到,在FFT運算時間長度內(nèi),第1子載波與帶有時延的第2子載波之間的周期個數(shù)之差不再是整數(shù),所以當(dāng)接收機試圖對第1子載波進行解調(diào)時,第2子載波會對解調(diào)造成干擾。同樣,當(dāng)接收機對第2子載波進行解調(diào)時,也會存在來自第1子載波的干擾。為了消除由于多徑傳播造成的ICI,一種有效的方法是將原來寬度為T的OFDM符號進行周期擴展,如圖2.7所示。將保護間隔內(nèi)(持續(xù)時間用Tg表示)的信號稱為循環(huán)前綴 (Cyclic Prefix,CP )。由圖中可以看出,循環(huán)前綴中的信號與OFDM符號尾部寬度為Tg的部分相同。在實際系統(tǒng)中,OFDM 符號在送入信道之前,首先要加入循環(huán)前綴,然后送入信道進行傳送。在接收端,首先將接收符號開始的寬度為Tg的部分丟棄,然后將剩余的寬度為T的部分進行傅立葉變換解調(diào)。在OFDM符號內(nèi)加入循環(huán)前綴可以保證在一個FFT積分區(qū)間內(nèi),各子載波的周期個數(shù)之差仍是整數(shù),這樣,時延小于Tg的時延信號就不會在解調(diào)過程中產(chǎn)生ICI.
圖2.8 循環(huán)前綴的插入過程示意圖
這種保護間隔是一種循環(huán)復(fù)制,增加了符號的波形長度,在交接點沒有任何的間斷。
因此,在OFDM系統(tǒng)中,CP主要有兩個作用:
(1)作為保護間隔,減少了ISI;
(2 )保持各子載波的正交性,減小了ICI;
與此同時,加入CP后會帶來一定的能量損失,功率損失可以定義為:
(2.11)
可見,CP越長,能量損失越大。
2.2.7 交織
交織的目的是在時域或頻域或同時在時域頻域上分布發(fā)射比特,以便在解調(diào)后獲得理想的誤碼分布。獲得一個理想的誤碼分布取決于采用的前向糾錯碼(FEC),而需要什么樣的交織模式取決于信道特性。如果系統(tǒng)在一個純粹的AWGN環(huán)境下運行,就不需要交織,這是因為通過重新分配位的方法是無法改變誤碼分布的。通信信道分為快衰落和慢衰落兩種信道,如果信道的沖擊響應(yīng)的變化與通信系統(tǒng)的符號速率相當(dāng)時這個信道就是快衰落信道,而在慢衰落信道中,沖擊響應(yīng)在幾個符號上都保持不變。
2.2.8 OFDM的同步技術(shù)
同步在通信系統(tǒng)中占據(jù)非常重要的地位,其性能直接關(guān)系到整個通信系統(tǒng)的性能。在OFDM系統(tǒng)中主要考慮三部分同步:符號同步、樣值同步和載波同步,如圖2.9所示。
圖2.9 OFDM系統(tǒng)內(nèi)的同步示意圖
符號同步就是確定OFDM符號的起始位置,即每個FFT窗的位置。如果符號同步的起始位置在循環(huán)前綴長度內(nèi),載波間的正交性仍然保持,在這種情況下,符號同步的偏差可以看作是由信道引入的相位旋轉(zhuǎn),而這一旋轉(zhuǎn)角度可由信道均衡器來求出:如果符號同步的偏差超過了保護間隔,就會引入載波間干擾。子載波的頻率越高,旋轉(zhuǎn)角度就越大,因此在頻帶的邊緣,相位的旋轉(zhuǎn)最大。樣值同步是指接收端和發(fā)射端的抽樣頻率要一致。如果在樣值定時中存在偏差,則會有兩方面的影響:一是產(chǎn)生時變的定時偏差,導(dǎo)致接收機必須要跟蹤時變的相位變化;二是樣值頻率的偏差就意味著FFT周期的偏差,因此經(jīng)過抽樣的子載波之間不再保持正交性,從而產(chǎn)生ICI。但幸運的是,這種影響比較小。載波同步是指接收端的振蕩頻率要與發(fā)送載波同頻同相。由于OFDM各子信道帶寬較小,對載波頻率偏差的敏感程度非常高,因此需要非常精確的載波同步。頻率偏移是由收發(fā)設(shè)備的本地載頻之間的偏差、信道的多普勒頻移等引起的,由子載波間隔的整數(shù)倍偏移和子載波間隔的小數(shù)倍偏移構(gòu)成。子載波間隔的整數(shù)倍偏移僅使信息符號在子信道上平移,并不破壞各子載波間的正交性,不會引起ICI,但它卻導(dǎo)致整個解調(diào)結(jié)果完全錯誤,系統(tǒng)的誤碼率近似為50%。子載波間隔的小數(shù)倍偏移由于抽樣點不在頂點,破環(huán)了子載波之間的正交性引起了ICI,導(dǎo)致系統(tǒng)誤碼率下降。關(guān)于載波頻率粗同步和細(xì)同步進行的順序,一般是先粗同步再細(xì)同步。但如果以子載波之間的間隔為單位,將載波頻率偏差從分成整數(shù)部分和小數(shù)部分,其中,只有小數(shù)部分影響子載波之間的正交性,而為整數(shù)倍的頻率偏差只是將接收機中FFT的輸出進行循環(huán)移位,那么,可在時域先進行載波細(xì)同步,估計載波頻率偏差的小數(shù)部分,再在頻域進行頻率粗同步,估計整數(shù)倍的頻率偏差。這種先細(xì)同步再粗同步的順序安排,可先消除載波頻偏小數(shù)部分引起的ICI,使隨后的載波粗同步不受ICI影響。否則,ICI將嚴(yán)重破壞載波粗同步的性能。
2.2.9 OFDM系統(tǒng)的重要參數(shù)設(shè)計
從上面我們看到,一個OFDM 系統(tǒng)包括幾個基本參數(shù):保護間隔(循環(huán)前綴)長度、OFDM符號時間、子載波頻率間隔和子載波個數(shù)〔系統(tǒng)帶寬)。這些參數(shù)的確定是根據(jù)系統(tǒng)的實際應(yīng)用要求進行折中選取。給定的基本參數(shù)有:系統(tǒng)帶寬、數(shù)據(jù)比特速率和應(yīng)用環(huán)境。由于應(yīng)用OFDM 系統(tǒng)的主要目的是對抗信道多徑時延擴展,首先要根據(jù)系統(tǒng)應(yīng)用環(huán)境中的典型信道時延擴展 。選取一定時間長度的保護間隔T。為完全消除ISI,保護間隔的長度通常要大于時延擴展 ,顯然,保護間隔越大,對抗信道時延擴展的穩(wěn)健性越好;另外,如果使用保護間隔做符號同步,一般保護間隔要長于信道時延擴展一定的時間,以保證系統(tǒng)在一定的信噪比下、盡量少的OFDM 符號數(shù)量內(nèi)實現(xiàn)同步。但由于保護間隔內(nèi)不傳輸有效信息,浪費了系統(tǒng)的發(fā)送功率。為盡量減小保護間隔帶來的系統(tǒng)功率損失,在確定保護間隔后應(yīng)盡量加大OFDM有用符號時間T。但OFDM系統(tǒng)中子載波間隔為有用符號時間T的倒數(shù),符號時間越長,子載波間隔越小,則OFDM系統(tǒng)對頻率偏移越敏感,而且給定系統(tǒng)MB帶寬所確定的子載波個數(shù)就越大。由于OFDM系統(tǒng)的峰均功率比(PAPR)跟系統(tǒng)的子載波個數(shù)成正比,對系統(tǒng)中放大器的線性范圍要求更高,增加了系統(tǒng)實現(xiàn)的成本。因此,有用符號時間長度要權(quán)衡系統(tǒng)功率和系統(tǒng)性能進行折中選取,一般選擇T=4 保證保護間隔帶來的系統(tǒng)功率損失在20%以內(nèi)。在一定的系統(tǒng)帶寬資源下,符號時間確定后子載波個數(shù)(IFFT/FFT點數(shù))也就相應(yīng)確定,實際系統(tǒng)中因為考慮到對其它鄰近信道的干擾,所以對系統(tǒng)的頻譜哀減有一定要求,實際可用的子載波數(shù)通常小于IFFT/FFT點數(shù),然后可以根據(jù)信源的信息速率要求確定子載波上的調(diào)制方式。
第三章 OFDM系統(tǒng)的仿真設(shè)計
要求在MATLAB平臺上完成了OFDM系統(tǒng)仿真程序的設(shè)計。
3.1 OFDM的MATLAB仿真
3.1.1 MATLAB語言簡介
從事科學(xué)研究和工程應(yīng)用的人可能都注意到并為之所困擾,當(dāng)我們在計算涉及矩陣運算或畫圖時,采用FORTRAN, C及C++語言等計算機語言進行程序設(shè)計是一項很麻煩的工作。不僅需要對所利用的有關(guān)算法有深刻的了解,還需要熟練掌握所有語言的語法和編程技巧。例如對矩陣求逆這樣的一種運算,首先要選擇一個較好的求逆算法然后利用FORTRAN或C語言等高級語言編程來逐步的實現(xiàn)此算法,經(jīng)過了艱巨煩瑣的調(diào)試工作終于實現(xiàn)算法達(dá)到目的后,我們會發(fā)現(xiàn),所編制的百余條甚至幾百條語句僅僅是完成了一個矩陣的求逆工作,我們不免為自己的工作效率大發(fā)感嘆。并不復(fù)雜的計算任務(wù),用計算機來實現(xiàn)竟是如此的煩惱,面對手頭要完成的研究任務(wù),也許會產(chǎn)生畏懼之感。MATLAB正是為免除無數(shù)類似上述的尷尬局面而產(chǎn)生的。在1980年前后,美國的Cleve Moler博士在New Mexico大學(xué)講授線性代數(shù)課程時,發(fā)現(xiàn)應(yīng)用其他高級語言編程極為不便,便構(gòu)思并開發(fā)了MATLAB(MATrix LABoratory,矩陣實驗室),它是集命令,翻譯,科學(xué)計算于一身的一套交互式軟件系統(tǒng),經(jīng)過在該大學(xué)進行了幾次的試用之后,于1484年推出了該軟件的正式版本。在MATLAB下,矩陣的運算變得異常的容易,后來的版本中又增添了豐富多彩的圖形圖象處理及多媒體功能,使得MATLAB的應(yīng)用范圍越來越廣泛,Moler博士等一批數(shù)學(xué)家與軟件專家組建了名為MathWorks的軟件開發(fā)公司,專門擴展并改進MATLAB。 1990年MathWorks軟件公司為MATLAB提供了新的控制系統(tǒng)模型圖形輸入與仿真工具,并定名為SIMULAB,該工具很快在控制界得到了廣泛的使用。
與 C, C ++,FO RTRAN,PA SCAL和BASIC這類高級程序設(shè)計語言相比,MATLAB
不但在數(shù)學(xué)語言的表達(dá)與解釋方面表現(xiàn)出人機交互的高度一致,而且具有作為優(yōu)秀高技術(shù)計算環(huán)境所不可缺少的如下特征:
(1) 高質(zhì)量,高可靠的數(shù)值計算能力。
(2) 基于向量,數(shù)組和矩陣的高級程序設(shè)計語言。
(3) 高級圖形和可視化數(shù)據(jù)處理能力。
(4) 廣泛解決各學(xué)科專業(yè)領(lǐng)域內(nèi)復(fù)雜問題的能力。
(5) 擁有一個強大的非線性系統(tǒng)仿真工具箱一SIMULINK。
(6) 支持科學(xué)和工程計算標(biāo)準(zhǔn)的開放式,可擴充結(jié)構(gòu)。
(7) 跨平臺兼容。MATLAB程序直接可以映射為DSP芯片可接受的代碼,大大提高了現(xiàn)代電子通信設(shè)備的研發(fā)速率。
目前 MATLAB已經(jīng)成為國際上最為流行的軟件之一,它除了傳統(tǒng)的交互式編程之外,還提供了豐富可靠的矩陣運算、圖形繪制、數(shù)據(jù)處理、圖象處理、方便的Windows編程等便利工具,出現(xiàn)了各種以MATLAB為基礎(chǔ)的實用工具箱,廣泛地應(yīng)用于自動控制、圖象信號處理、生物醫(yī)學(xué)工程、語音處理、雷達(dá)工程、信號分析、振動理論、時序分析與建模、化學(xué)統(tǒng)計學(xué)、優(yōu)化設(shè)計等領(lǐng)域,并表現(xiàn)出一般高級語言難以比擬的優(yōu)勢。
較為常見的MATLAB工具箱主要包括:控制系統(tǒng)工具(controlsystemstoolbox)、系統(tǒng)辨識Z具箱(systemi dentificationto olbox).魯棒控制-T具箱(robustco ntroltoolbox),多變量頻率設(shè)計工(multivariablefrequencydesigntoolbox)、分析與綜合工具箱(analysisan dsy nthesisto olbox)、神經(jīng)網(wǎng)絡(luò)1具箱(neuralne tworkto olbox)、最優(yōu)化工具箱(optimizationtoolbox)、信號處理工具箱(signalpr ocessingto olbox)、模糊推理系統(tǒng)工具箱(fuzzyin ferencesy stemt oolbox)、小波分析工具箱〔waveletto olbox)、通信工具箱(communication toolbox)
MATLAB/Simulink屬于一種通用的科學(xué)計算和系統(tǒng)仿真語言。在MATLAB/Simulink下,從數(shù)學(xué)模型到計算機仿真模型的轉(zhuǎn)換非常容易。MATLAB/Simulink提供了三種方法【14】:
(1)M文件編程實現(xiàn)的方法:根據(jù)數(shù)學(xué)模型所建立的方程和數(shù)據(jù)參數(shù),通過編程實現(xiàn)方程的表示和數(shù)值求解。其特點是靈活性好,數(shù)學(xué)關(guān)系顯式地表達(dá)在程序語句中,但是仿真的直觀性方面稍顯欠缺,通常在仿真計算完畢之后才能看到結(jié)果。
(2)Simulink方法:可以根據(jù)數(shù)學(xué)模型建立對應(yīng)的系統(tǒng)方框圖,通過所見即所得的方式連接模塊,然后選擇求解方式和精度,運行仿真。其特點是直觀性好,可以在仿真過程中實時的修改系統(tǒng)模塊的參數(shù)。并能夠?qū)崟r的顯示當(dāng)前的仿真結(jié)果。而本人采用的是M文件編程實現(xiàn)的方法,具體情況見下。
3.1.2 正交頻分復(fù)用(OFDM)仿真系統(tǒng)說明
我們在通過MATLAB語言進行OFDM系統(tǒng)仿真時,是將OFDM系統(tǒng)分為發(fā)送和接收兩大部分來進行的,然后再通過信道模型將這兩部分連接起來。程序的編程過程是按模塊化來進行的,各子模塊分別完成發(fā)送和接收中的一部分特定功能。最后再分別按發(fā)射機中的調(diào)制順序和接收機中的解調(diào)順序進行組合。各子模塊在功能上相互獨立,只是通過相應(yīng)的接口進行連接,這樣進行編程的好處在于各模塊功能明確,在一定意義上相互獨立,各個模塊并不需要了解其他模塊的具體實現(xiàn)過程,而只通過接口與其他模塊發(fā)生聯(lián)系,從而易于編程和修改,如對其中一個模塊進行改動,并不需要對其他所有模塊也進行大的改動,這非常符合國際上所達(dá)成共識的程序設(shè)計標(biāo)準(zhǔn)–結(jié)構(gòu)化程序設(shè)計,即要求各個模塊之間耦合性越弱越好,內(nèi)聚性愈強愈好。下面將分別具體示出OFDM系統(tǒng)發(fā)送部分的結(jié)構(gòu)圖和接收部分的結(jié)構(gòu)圖:
1.發(fā)送部分的結(jié)構(gòu)圖如圖3.1所示。
圖 3.1 OFDM發(fā)送部分系統(tǒng)框圖
由以上發(fā)送部分框圖不難看出發(fā)送部分具體過程如下:首先,由隨機碼產(chǎn)生器產(chǎn)生二進制隨即序列,接著通過信號映射器映射成I,Q,兩路信號,這兩路信號經(jīng)過導(dǎo)頻處理和傅利葉反變換(IFFT)變化來調(diào)制原始信號,OFDM系統(tǒng)可以采用的調(diào)制方式有BPSK,QAM,16-QAM,64-QAM多種調(diào)制方式,這里采用的是QAM調(diào)制方式,具體情況見以下程序。為了消除由于多徑傳播造成的ICI,一種有效的方法便是將原來寬度為T的OFDM符號進行周期擴展,用擴展信號來填充保護間隔,而且保護間隔的長度應(yīng)大于無線信道的時延擴展,這樣一個符號的多徑分量才不會對下一個符號造成干擾。而保護間隔內(nèi)的信號就稱為循環(huán)前綴。所以調(diào)制后的信號要經(jīng)過加入保護時隙和加入訓(xùn)練符號才能送入信道中去進行傳送。
同理,由下面所示的接收部分系統(tǒng)圖不難發(fā)現(xiàn):在接收端,首先將接收符號開始的一定寬度的部分丟棄,然后將剩余的部分進行傅利葉變換(FFT),然后進行解調(diào)。
2.接收部分的結(jié)構(gòu)圖如圖3.2所示。
圖 3.2 OFDM接收部分系統(tǒng)框圖
3.1.3 仿真程序說明
為了更好地說明以上OFDM系統(tǒng)原理的具體實現(xiàn)過程,以便使讀者更好地了解OFDM系統(tǒng)的仿真實現(xiàn)方法。下面將整個仿真程序分為發(fā)送和接收兩部分來分別進行說明。
1.發(fā)送部分程序說明
發(fā)送部分的程序設(shè)計流程圖如圖3.3所示。
圖3.3發(fā)送部分程序設(shè)計流程圖
發(fā)送部分仿真程序中需要說明的地方有:
(1) 參數(shù)初始化程序
仿真程序中需要初始化的參數(shù)如下:
采樣頻率:20MHz
包含數(shù)據(jù)的子載波數(shù)目:52個
包含數(shù)據(jù)的子載波的位置:[7:32 34:59]
包含用戶數(shù)據(jù)的子載波數(shù)目:48個
導(dǎo)頻子載波數(shù)目:4個
包含用戶數(shù)據(jù)的子載波的位置:[7:11 13:25 27:32 34:39 41:53 55:59]
導(dǎo)頻子載波的位置:[12 26 40 54]
生成導(dǎo)頻時不同導(dǎo)頻子載波需要乘的系數(shù):[1:1:1:-1]
頻域表示的短訓(xùn)練符號:
{0,0,1+j,0,0,0,-1-j,0,0,0,1+j,0,0,0,-1-j,0,0,0,-1-j,0,0,0,1+j,0,0,0, 0,0,0,0,-1-j,0,0,0,-1-j,0,0,0,1+j, 0,0,0,1+j,0,0,0,1+j,0,0,0,1+j,0,0}
頻域表示的長訓(xùn)練符號:{1,1,-1,-1,1,1,-1,1,-1,1,1,1,1,1,1,-1,-1,1,1,-1,1,-1,1,1,1,1,0,1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1,1,1,1,1}
產(chǎn)生導(dǎo)頻的序列:{1,1,1,1,-1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1,-1,-1,1,1,-1,1,1,-1,1,1,1,1,1,1,-1,1,1,1,-1,1,1,-1,-1,1,1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,1,-1,-1,1,1,1,1,1,-1,-1,1,1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,1,1,1,-1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,1,1,1,-1,-1,-1,-1,-1,-1,-1}
以上參數(shù)是在程序設(shè)計過程中就已經(jīng)預(yù)先設(shè)定好的參數(shù),這部分參數(shù)不需要在仿真過程中進行設(shè)定或改動。還有一部分參數(shù)需要在仿真程序運行前在圖形界面GUI中進行手動設(shè)定,這些參數(shù)包括:需要信號源產(chǎn)生倍號的長度(以8 Bytes為單位,因為6個字節(jié)剛好對應(yīng)OFDM中包含用戶數(shù)據(jù)的子載波的數(shù)目)、信號調(diào)制方式(BPSK, QPSK,16-QAM, 64-QAM)、產(chǎn)生信道模型中的信噪比SNR。手動設(shè)定這些參數(shù)的目的是為了使仿真系統(tǒng)更為靈活,更容易滿足仿真和測試的需要。
(2) 信號源產(chǎn)生器程序
在發(fā)送部分仿真程序中,我們產(chǎn)生發(fā)送信號的方法是按照設(shè)定好的所需信號的長度,調(diào)用隨機函數(shù)randn ()來產(chǎn)生。產(chǎn)生后的信號一方面發(fā)給接下去的模塊,另一方面進行保存用于與接收機接收解調(diào)后的信號進行比較分析。
具體程序如下:
out = rand(1,baseband_out_length);
baseband_out1 = round(out) ;
baseband_out2 = floor(out*2) ;
baseband_out3 = ceil(out*2)-1 ;
baseband_out4 = randint(1,baseband_out_length);
% 四種生成發(fā)送的二進制序列的方法,任取一種產(chǎn)生要發(fā)送的二進制序列
if (baseband_out1 == baseband_out2 & baseband_out1 == baseband_out3 )
fprintf(’Transmission Sequence Generated \n \n’);
baseband_out = baseband_out1 ;
else
fprintf(’Check Code!!!!!!!!!!!!!!!!!!!!! \n \n’);
end
% 驗證四種生成發(fā)送的二進制序列的方法
convert_matrix = reshape(baseband_out,bits_per_symbol,length(baseband_out)/bits_per_symbol) ;
for k = 1:(length(baseband_out)/bits_per_symbol)
modulo_baseband(k) = 0 ;
for i = 1:bits_per_symbol
modulo_baseband(k) = modulo_baseband(k) + convert_matrix(i,k)*2^(bits_per_symbol - i) ;
end
end
% 每2個比特轉(zhuǎn)化為整數(shù) 0至3
% 采用’left-msb’方式
convert_matrix1 = zeros(length(baseband_out)/bits_per_symbol,bits_per_symbol);
convert_matrix1 = convert_matrix’ ;
Test_convert_matrix1 = bi2de(convert_matrix1,bits_per_symbol,’left-msb’);
Test_convert_matrix2 = bi2de(convert_matrix1,bits_per_symbol,’right-msb’);
if (modulo_baseband == Test_convert_matrix1′)
fprintf(’modulo_baseband = Test_convert_matrix1 \n\n\n’);
else if (modulo_baseband == Test_convert_matrix2′)
fprintf(’modulo_baseband = Test_convert_matrix2 \n\n\n’);
else
fprintf(’modulo_baseband ~= any Test_convert_matrix \n\n\n’);
end
end
carrier_matrix = reshape(modulo_baseband,carrier_count,symbols_per_carrier)’;
% 生成時間-載波矩陣
(3) 信號調(diào)制程序
可選的信號調(diào)制方式【15】有:BPSK,QPSK,16-QAM,64-QAR,這些調(diào)制方式的每個調(diào)制后符號所對應(yīng)比特數(shù)目分別為:1, 2, 4, 6。調(diào)制后得到的是一個復(fù)數(shù)信號,實部對應(yīng)I路信號,虛部對應(yīng)Q路信號。
% Generate the random binary stream for transmit test
BitsTx = floor(rand(1,NumLoop*NumSubc)*2);
% Modulate (Generates QAM symbols)
% input: BitsTx(1,NumLoop*NumSubc); output: SymQAM(NumLoop,NumSubc/2)
SymQAMtmp = reshape(BitsTx,2,NumLoop*NumSubc/2).’;
SymQAMtmptmp = bi2de(SymQAMtmp,2,’left-msb’);
% 函數(shù)說明:
% bin2dec(binarystr) interprets the binary string binarystr and returns the
% equivalent decimal number.
% bi2de是把列向量的每一個元素都由2進制變?yōu)?0進制
% D = BI2DE(…,MSBFLAG) uses MSBFLAG to determine the input orientation.
% MSBFLAG has two possible values, ‘right-msb’ and ‘left-msb’. Giving a
% ‘right-msb’ MSBFLAG does not change the function’s default behavior.
% Giving a ‘left-msb’ MSBFLAG flips the input orientation such that the
% MSB is on the left.
% % % D = BI2DE(…,P) converts a base P vector to a decimal value.
% % Examples:
% % >> B = [0 0 1 1; 1 0 1 0];
% % >> T = [0 1 1; 2 1 0];
% % >> D = bi2de(B) >> D = bi2de(B,’left-msb’) >> D = bi2de(T,3)
% % D = D = D =
% % 12 3 12
% % 5 10 5
% QAM modulation
% 00->-1-i,01->-1+i,10->1-i,11->1+i
% 利用查表法進行QAM星座映射
QAMTable = [-1-i -1+i 1-i 1+i];
SymQAM = QAMTable(SymQAMtmptmp+1);
(4) IFFT模塊程序
由于MATLAB中有現(xiàn)成的IFFT函數(shù)可以調(diào)用,這給我們的編程帶來了極大的方便,從而省去了編寫IFFT算法的工作。輸入及輸出IFFT的數(shù)據(jù)都按矩陣格式存儲,因此應(yīng)當(dāng)注意用戶數(shù)據(jù)和導(dǎo)頻數(shù)據(jù)在矩陣中的存放位置,必須按OFDM規(guī)定的格式進行存放,否則在接收端將不能正確解調(diào)。
% input: SymQAM(NumLoop,NumSubc/2); output: SymIFFT(NumSubc,NumLoop)
SymIFFT = zeros(NumSubc,NumLoop);
SymIFFTtmp = reshape(SymQAM,NumSubc/2,NumLoop);
SymIFFTtmptmp = zeros(NumSubc,NumLoop);
SymIFFTtmptmp(1,:) = real(SymIFFTtmp(1,:)); % 實數(shù)
SymIFFTtmptmp(NumSubc/2+1,:) = imag(SymIFFTtmp(1,:)); % 實數(shù)
% 這么安排矩陣的目的是為了構(gòu)造共軛對稱矩陣
% 共軛對稱矩陣的特點是 在ifft/fft的矢量上 N點的矢量
% 在0,N/2點必須是實數(shù) 一般選為0
% 1至N/2點 與 (N/2)+1至N-1點關(guān)于N/2共軛對稱
SymIFFTtmptmp(2:NumSubc/2,:) = SymIFFTtmp(2:NumSubc/2,:);
SymIFFTtmptmp((NumSubc/2+2):NumSubc,:) = flipdim(conj(SymIFFTtmp(2:NumSubc/2,:)),1);
% % >> a = [1 2 3; 4 5 6; 7 8 9; 10 11 12]
% % a =
% % 1 2 3
% % 4 5 6
% % 7 8 9
% % 10 11 12
% % >> b = flipdim(a,1)
% % b =
% % 10 11 12
% % 7 8 9
% % 4 5 6
% % 1 2 3
SymIFFT = ifft(SymIFFTtmptmp,NumSubc,1);
2.接收部分程序設(shè)計說明
接收部分的程序設(shè)計流程圖如圖3.4所示。
圖3.4 接收部分程序設(shè)計流程圖
接收部分仿真程序中需要說明的地方有:
(1) 分組檢測程序
分組檢測程序用于檢測是否已接收到數(shù)據(jù)分組,該程序采用了Schimdl和Cox的延時和相關(guān)算法進行檢測,延時D=16,也就是短訓(xùn)練序列的長度。用于判定分組是否到來的判定闡值設(shè)定為threshold=0.75。對于算法中的相關(guān)運算和功率計算的結(jié)果都用了filter()函數(shù)進行了濾波,從而使判斷更為準(zhǔn)確。
(2) 精確時間同步程序
雖然在分組檢測程序中,Schimdl和Cox的延時和相關(guān)算法已經(jīng)在一定程度上達(dá)到了粗略的時間同步,但這還不能滿足正確解調(diào)的要求,因此要進行精確的時間同步。精確時間同步程序采用將己知的長訓(xùn)練符號和接收數(shù)據(jù)進行相關(guān)運算的方法,當(dāng)運算結(jié)果大于判定閾值0.75時,判定己達(dá)到時間同步,將接收信號輸出到下一模塊。這里輸出的數(shù)據(jù)是已經(jīng)去除了前導(dǎo)的數(shù)據(jù),即全部都是需要解調(diào)的數(shù)據(jù)。
(3) 頻率同步程序
頻率同步程序包含兩個小模塊,一個是頻率偏移估計程序,一個頻率偏移補償程序。頻率偏移估計程序采用的是時域中的頻率偏移估計算法,算法中延時窗長度D=16.頻率偏移補償程序?qū)⒐烙嫵龅念l率偏移相位取反后,按時間向量順序,生成相應(yīng)的頻率補償向量,與原信號向量相乘達(dá)到頻率偏移補償?shù)哪康摹?br>(4) FFT模塊程序
調(diào)用MATLAB中的FFT函數(shù)進行運算,并將輸出數(shù)據(jù)中的導(dǎo)頻數(shù)據(jù)和需解調(diào)數(shù)據(jù)分開。導(dǎo)頻數(shù)據(jù)用于相位跟蹤,同時還要輸出FFT運算后的長訓(xùn)練符號,用于信道估計。典型語句如下:
% input: SymDeCP(NumSubc,NumLoop); output: SymFFT(NumSubc,NumLoop)
SymFFT = fft(SymDeCP,NumSubc,1);
(5) 信道估算程序
進行信道估算的目的是為了載波相位跟蹤。方法是通過FFT,后得到的長訓(xùn)練序列和已知的長訓(xùn)練序列進行相關(guān)運算得到。
(6) 相位跟蹤模塊程序
通過信道估算模塊得到的信道沖擊響應(yīng)的估計,和FFT模塊得到的頻域?qū)ьl信號,進行相位誤差估計,得到需要補償?shù)南辔?,然后對這個相位誤差進行取反后乘回到原信號中。
(7) 解調(diào)模塊程序
解調(diào)應(yīng)根據(jù)發(fā)射機所選的不同調(diào)制方式進行相應(yīng)的解調(diào)。解調(diào)時采用的是硬判決的方式。
% SymFFT(NumSubc,NumLoop); output: SymDec(NumSubc,NumLoop)
SymDec = zeros(NumSubc,NumLoop);
SymEqtmp(1,:) = SymFFT(1,:)+i*SymFFT(NumSubc/2+1,:);
SymEqtmp(2:NumSubc/2,:) = SymFFT(2:NumSubc/2,:);
for m = 1:NumLoop
for n = 1:NumSubc/2
Real = real(SymEqtmp(n,m));
Imag = imag(SymEqtmp(n,m));
if( abs((Real -1)) < abs((Real +1)))
SymDec(2*n-1,m) = 1;
else
SymDec(2*n-1,m) = 0;
end
if( abs((Imag -1)) < abs((Imag +1 )) )
SymDec(2*n,m) = 1;
else
SymDec(2*n,m) = 0;
end
end
end
% ————————————————————————-
% Another way to DeQAM
% QAMTable = [-1-i -1+i 1-i 1+i];
% 00->-1-i,01->-1+i,10->1-i,11->1+i
TestSymDec = zeros(NumSubc,NumLoop);
TestSymEqtmp(1,:) = SymFFT(1,:)+i*SymFFT(NumSubc/2+1,:);
TestSymEqtmp(2:NumSubc/2,:) = SymFFT(2:NumSubc/2,:);
TestSymEqtmp1 = reshape(TestSymEqtmp,1,NumSubc*NumLoop/2);
min_d = zeros(size(TestSymEqtmp1));
min_ddd = zeros(1,NumSubc*NumLoop);
d = zeros(4,1);
min_index = 0;
for ii = 1:1:(NumSubc*NumLoop/2)
for jj = 1:4
d(jj) = abs(TestSymEqtmp(ii) - QAMTable(jj));
end
[min_d(ii),min_index] = min(d);
% % [Y,I] = MIN(X) returns the indices of the minimum values in vector I.
switch min_index
case 1
min_ddd(2*ii-1) = 0 ;
min_ddd(2*ii) = 0 ;
case 2
min_ddd(2*ii-1) = 0 ;
min_ddd(2*ii) = 1 ;
case 3
min_ddd(2*ii-1) = 1 ;
min_ddd(2*ii) = 0 ;
case 4
min_ddd(2*ii-1) = 1 ;
min_ddd(2*ii) = 1 ;
otherwise
fprintf(’Impossible error!!! \n\n’);
end
end
%————————————————————————–
% 函數(shù)說明:
% % C = min(A) returns the smallest elements along different dimensions of an array.
% % If A is a vector, min(A) returns the smallest element in A.
% % If A is a matrix, min(A) treats the columns of A as vectors, returning a row
% % vector containing the minimum element from each column.
% % [C,I] = min(…) finds the indices of the minimum values of A, and returns
% % them in output vector I. If there are several identical minimum values, the
% % index of the first one found is returned.
% Bit Error
BitsRx = zeros(1,NumSubc*NumLoop);
BitsRx = SymDec(:).’;
[Num,Ber] = symerr(BitsTx,BitsRx)
BerSnrTable(snr+1,2) = Num ;
BerSnrTable(snr+1,3) = Ber ;
end
%————————————————————————–
if min_ddd == BitsRx
fprintf(’DeQAM two ways the same results \n\n’);
else
fprintf(’DeQAM two ways the different results’);
end
% ————————————————————————
figure(1);
subplot(2,1,1);
semilogy(BerSnrTable(:,1),BerSnrTable(:,2),’o-’);
subplot(2,1,2);
semilogy(BerSnrTable(:,1),BerSnrTable(:,3),’o-’);
% ————————————————————————
time_of_sim = toc
3.1.4 調(diào)試過程和結(jié)果分析
本人是用MATLAB的M文件來實現(xiàn)正交頻分復(fù)用(OFDM)系統(tǒng)的仿真的,具體調(diào)試運行過程如下:首先將事先編制好的程序放入MATLAB6.5中去編譯運行,得出最終的仿真結(jié)果(OFDM系統(tǒng)的信噪比與誤碼率曲線圖)如下所示:
圖3.1 OFDM系統(tǒng)的信噪比與誤碼率曲線圖
由上圖不難看出OFDM系統(tǒng)的誤碼率隨著信噪比的增加而減少。(注意:橫坐標(biāo)為信噪比,單位(dB);縱坐標(biāo)為誤碼率,信道為加性白高斯噪聲信道)
第四章 結(jié)束語
4.1總結(jié)
OFDM作為一種先進的通信技術(shù),由于其具有的高效頻譜利用率和優(yōu)良的抗多
徑千擾能力,從它面世開始,就引起了眾多研究人員的關(guān)注。伴隨著半導(dǎo)體技術(shù)
和數(shù)字信號處理技術(shù)的不斷進步,結(jié)合了現(xiàn)代最前沿數(shù)字信號處理成就的OFDM
技術(shù)的大規(guī)模應(yīng)用己經(jīng)成為趨勢。
研究一種新技術(shù),必然會結(jié)合它的應(yīng)用領(lǐng)域,從而才能較有深度地發(fā)現(xiàn)新技術(shù)的特點和發(fā)掘新技術(shù)的潛力。本文從OFDM技術(shù)應(yīng)用較多的場合之一的無線通信領(lǐng)域入手,系統(tǒng)地介紹了OFDM技術(shù)應(yīng)用的場合,提出了OFDM技術(shù)的概念,介紹了它的發(fā)展歷史和基本原理,并分析比較了傳統(tǒng)和現(xiàn)代的不同系統(tǒng)實現(xiàn)方法,初步認(rèn)識了OFDM技術(shù)得到廣泛應(yīng)用的原因。
本文的主體部分主要包括兩方面:系統(tǒng)原理闡述和系統(tǒng)實現(xiàn)方案。在初步了解OFDM技術(shù)基本原理的基礎(chǔ)上,在系統(tǒng)原理闡述部分,本文系統(tǒng)詳細(xì)地介紹了OFDM系統(tǒng)實現(xiàn)中涉及到的關(guān)鍵技術(shù)環(huán)節(jié),這部分內(nèi)容基本上涵概了OFDM系統(tǒng)實現(xiàn)中所包含的主要技術(shù)關(guān)鍵點和難點,使得OFDM系統(tǒng)作為一個完整的體系,得到了充分的論述。OFDM技術(shù)作為一種先進而又復(fù)雜的技術(shù),其系統(tǒng)實現(xiàn)中涉及到了眾多領(lǐng)域知識,分析比較這些關(guān)鍵技術(shù)對OFDM系統(tǒng)性能的貢獻(xiàn),是在系統(tǒng)實現(xiàn)方案提出之前的一項必須工作。本文通過利用Matlab數(shù)學(xué)工具,對OFDM系統(tǒng)在抗加性高斯白噪聲這方面進行了仿真,得出了OFDM系統(tǒng)的信噪比-誤碼率曲線圖,進而得出OFDM技術(shù)在這個方面的優(yōu)良性能,知道了OFDM技術(shù)能夠在眾多領(lǐng)域得到充分利用的原因,也使得系統(tǒng)方案的提出有了理論上的保證。同時,本文還進行了OFDM系統(tǒng)中的信號映射子模塊,信號調(diào)制和解調(diào)子模塊,以及簡單信道估計的仿真研究。在此基礎(chǔ)上分析了OFDM系統(tǒng)的優(yōu)缺點,并簡要概述了OFDM應(yīng)用的關(guān)鍵技術(shù)之一–信道估計技術(shù)。本文主要研究了單一的信道估計方法(LMS信道估計),得出了在不同信噪比下對不同誤碼率的研究,對于信道估計人們提出了很多方法,需要進行進一步的研究和論證,根據(jù)實際應(yīng)用背景找出最適合的解決方案。
4.2不足與展望
通過本論文的創(chuàng)作,希望能在知識的積累之外,獲得嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度及科學(xué)
的精神。并期望在本文的基礎(chǔ)上做出更大的成績。論文尚有許多不足之處,例如:在信道估計方面可以加入幾種不同信道估計算法之間的對比(比如與LS算法,MMSE算法之間的對比),同時最好能有這方面的圖形界面顯示出來,我相信如果用SIMULINK來做應(yīng)該會更好些。衷心懇請諸位老師和朋友閱后不吝賜教。
未來的無線OFDM系統(tǒng)中研究工作可以從以下方面展開:
1. 對于無線OFDM系統(tǒng)中信道盲估計算法,需要解決的問題是如何加快算法的收斂速度、減小進行信道盲估計時所需的數(shù)據(jù)量、增加跟蹤時變信道的OFDM通信系統(tǒng)中信道估計算法研究能力以及提高其盲估計算法的性能。
2. 將基于訓(xùn)練序列的信道估計方法與盲信道估計方法結(jié)合起來,研究收斂
速度快、性能優(yōu)越的半盲信道估計方法。
3. 目前無線OFDM系統(tǒng)中新的研究方向就是基于多天線OFDM系統(tǒng),即MIMO-OFDM系統(tǒng)。多天線技術(shù)可以有效地改善系統(tǒng)容量及性能,而且還可以顯著地提高網(wǎng)絡(luò)的覆蓋范圍和可靠性。MIMO-OFDM系統(tǒng)內(nèi)的關(guān)鍵技術(shù)包括發(fā)送分集、空間復(fù)用、接收分集和干擾消除、軟譯碼、信道估計、同步和自適應(yīng)調(diào)制和編碼。
評論
查看更多