多帶OFDM 超寬帶系統(tǒng)中卷積編碼研究_第1頁
多帶OFDM 超寬帶系統(tǒng)中卷積編碼研究_第2頁
多帶OFDM 超寬帶系統(tǒng)中卷積編碼研究_第3頁
多帶OFDM 超寬帶系統(tǒng)中卷積編碼研究_第4頁
多帶OFDM 超寬帶系統(tǒng)中卷積編碼研究_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、多帶OFDM 超寬帶系統(tǒng)中卷積編碼的研究一 實(shí)驗(yàn)?zāi)康模赫莆招诺谰幋a,卷積編碼的編碼與解碼方式,熟練操作Matlab 軟件;二 實(shí)驗(yàn)要求:1、Matlab 完成簡單的OFDM 信號的產(chǎn)生與解調(diào)程序;2、信道編碼采用卷積編碼,解碼采用維特比譯碼;3、OFDM 符號采用QPSK 映射方式;4、采用不同的編碼速率進(jìn)行編碼,如:1/3, 1/2, 5/8, or 3/4;5、在AWG 信道下,比較卷積編碼的OFDM 系統(tǒng)的誤比特率性能;三 實(shí)驗(yàn)工具:Mathworks Matlab四 實(shí)驗(yàn)內(nèi)容:<一>OFDM 的介紹 OFDM是正交頻分復(fù)用的英文縮寫,正交頻分復(fù)用技術(shù)(OFDM)是一種多載波

2、數(shù)字調(diào)制技術(shù),OFDM技術(shù)提高了系統(tǒng)的整體性能和頻譜利用率、系統(tǒng)容量,減小了接收機(jī)內(nèi)均衡器的復(fù)雜程度,最大限度提高物理層信息傳輸?shù)目煽啃浴_m用于多用戶的高靈活度、高利用率的通信系統(tǒng)。OFDM傳輸技術(shù)則提供了讓數(shù)據(jù)以較高的速率在較大的信道上傳輸?shù)牧硪环N途徑。其基本思想是把一個(gè)高速的數(shù)據(jù)流分解成許多低速率的子數(shù)據(jù)流,以并行的方式在多個(gè)子信道上傳輸。OFDM應(yīng)用離散傅里葉變換(DFT)和其逆變換(IDFT)方法解決了產(chǎn)生多個(gè)互相正交的子載波和從子載波中恢復(fù)原信號的問題。解決了多載波傳輸系統(tǒng)發(fā)送和傳送的難題。應(yīng)用快速傅里葉變換更使多載波傳輸系統(tǒng)的復(fù)雜度大大降低。從此OFDM技術(shù)開始走向?qū)嵱?。但是?yīng)用O

3、FDM系統(tǒng)仍然需要大量繁雜的數(shù)字信號處理過程,而當(dāng)時(shí)還缺乏數(shù)字處理功能強(qiáng)大的元器件,因此OFDM技術(shù)遲遲沒有得到迅速發(fā)展。近些年來,集成數(shù)字電路和數(shù)字信號處理器件的迅猛發(fā)展,以及對無線通信高速率要求的日趨迫切,OFDM技術(shù)再次受到了重視。<二>OFDM原理OFDM OFDM(Orthogonal Frequency Division Multiplexing)即正交頻 分復(fù)用技術(shù),實(shí)際上OFDM是MCM Multi-CarrierModulation,多載波調(diào)制的一種。其主要思想是:將信道分成若干正交子信道,將高速數(shù)據(jù)信號轉(zhuǎn)換成并行的低速子數(shù)據(jù)流,調(diào)制到在每個(gè)子信道上進(jìn)行傳輸。正交

4、信號可以通過在接收端采用相關(guān)技術(shù)來分開,這樣可以減少子信道之間的相互干擾 ICI 。每個(gè)子信道上的信號帶寬小于信道的相關(guān)帶寬,因此每個(gè)子信道上的可以看成平坦性衰落,從而可以消除符號間干擾。而且由于每個(gè)子信道的帶寬僅僅是原信道帶寬的一小部分,信道均衡變得相對容易。在向B3G/4G演進(jìn)的過程中,OFDM是關(guān)鍵的技術(shù)之一,可以結(jié)合分集,時(shí)空編碼,干擾和信道間干擾抑制以及智能天線技術(shù),最大限度的提高了系統(tǒng)性能。包括以下類型:V-OFDM,W-OFDM,F-OFDM,MIMO-OFDM,多帶-OFDM。OFDM的基本思想是把高速率的信源信息流通過串并變換,變換成低速率的N路并行數(shù)據(jù)流,然后將這N路數(shù)據(jù)流

5、分別調(diào)到N個(gè)相互正交的子載波上,再將N路調(diào)制后的信號相加即得發(fā)射信號。設(shè)一個(gè)OFDM符號之內(nèi)包含N個(gè)經(jīng)過相移鍵控(PSK)或者正交幅度調(diào)制(QAM)的子載波。T 表示OFDM符號的持續(xù)時(shí)間(周期),則OFDM的基帶信號為 對于信號s(t)以T/N的速率進(jìn)行抽樣,即令t=kT/N(k=0,1,N1),則可得: 可以看出,抽樣值剛好為N點(diǎn)反離散傅里葉變換(IDFT)。同樣在接收端,恢復(fù)原始數(shù)據(jù)符號的處理就可以通過對進(jìn)行N點(diǎn)離散傅里葉變換(DFT)獲得。由此可見,OFDM系統(tǒng)的調(diào)制和解調(diào)可以分別通過IDFT/DFT 來實(shí)現(xiàn)。圖1 為OFDM系統(tǒng)的調(diào)制與解調(diào)框圖。在OFDM系統(tǒng)的實(shí)際應(yīng)用中,N點(diǎn)IDF

6、T 運(yùn)算需要進(jìn)行N2次復(fù)數(shù)乘法和N(N1)次復(fù)數(shù)加法,對于子載波數(shù)量非常大的OFDM系統(tǒng)而言,可以進(jìn)一步采用Radix-2,Radix-4 或分裂基FFT 算法。N點(diǎn)Radix-2 FFT 算法中需要N2lbN 次復(fù)數(shù)乘法和NlbN次復(fù)數(shù)加法;N點(diǎn)Radix-4 算法僅需3N logN4 次復(fù)數(shù)乘法和3NlogN4 次復(fù)數(shù)加法,同Radix-2算法相比能夠減少加法器和乘法器的使用數(shù)量,從而節(jié)省硬件資源、降低功耗、提高運(yùn)算速度,滿足OFDM 技術(shù)的實(shí)時(shí)性要求。同時(shí)Radix-4 FFT 算法的優(yōu)點(diǎn)是只存在與1,1,j,j的相乘運(yùn)算,因此可以不使用完整的乘法器,而通過簡單的加減法以及交換實(shí)部和虛部

7、(當(dāng)與j 或j 相乘時(shí))就可以實(shí)現(xiàn)乘法運(yùn)算。因此優(yōu)先選用Radix-4 FFT算法。圖3-1 OFDM系統(tǒng)調(diào)制解調(diào)框圖<三>OFDM優(yōu)點(diǎn)1、頻譜效率高 由于FFT處理使各子載波可以部分重疊,理論上可以接近Nyquist極限。以 OFDM為基礎(chǔ)的多址技術(shù)OFDMA(正交頻分多址)可以實(shí)現(xiàn)小區(qū)內(nèi)各用戶之間的正交 性,從而有效地避免了用戶間干擾。這使OFDM系統(tǒng)可以實(shí)現(xiàn)很高的小區(qū)容量。 2、帶寬擴(kuò)展性強(qiáng) 由于OFDM系統(tǒng)的信號帶寬取決于使用的子載波的數(shù)量,因此OFDM系統(tǒng)具有 很好的帶寬擴(kuò)展性。小到幾百kHz,大到幾百M(fèi)Hz,都很容易實(shí)現(xiàn)。尤其是隨著移 動(dòng)通信寬帶化(將由5MHz增加到最

8、大20MHz),OFDM系統(tǒng)對大帶寬的有效支持,成為其相對于單載波技術(shù)(如CDMA)的“決定性優(yōu)勢”。3、抗多徑衰落由于OFDM將寬帶傳輸轉(zhuǎn)化為很多子載波上的窄帶傳輸,每個(gè)子載波上的信道可以看作水平衰落信道,從而大大降低了接收機(jī)均衡器的復(fù)雜度。相反,單載波信號的多徑均衡的復(fù)雜度隨著帶寬的增大而急劇增加,很難支持較大的帶寬(如20MHz)。4、頻譜資源靈活分配OFDM系統(tǒng)可以通過靈活的選擇適合的子載波進(jìn)行傳輸,來實(shí)現(xiàn)動(dòng)態(tài)的頻域資源分配,從而充分利用頻率分集和多用戶分集,以獲得最佳的系統(tǒng)性能。5、實(shí)現(xiàn)MIMO技術(shù)較簡單由于每個(gè)OFDM子載波內(nèi)的信道可看作水平衰落信道,多天線(MIMO)系統(tǒng)帶來的額

9、外復(fù)雜度可以控制在較低的水平(隨天線數(shù)量呈線性增加)。相反,單載波MIMO系統(tǒng)的復(fù)雜度與天線數(shù)量和多徑數(shù)量的乘積的冪成正比,很不利于MIMO技術(shù)的應(yīng)用。6、適合高速數(shù)據(jù)傳輸OFDM自適應(yīng)調(diào)制機(jī)制使不同的子載波可以按照信道情況和噪音背景的不同使用不同的調(diào)制方式。當(dāng)信道條件好的時(shí)候,采用效率高的調(diào)制方式。當(dāng)信道條件差的時(shí)候,采用抗干擾能力強(qiáng)的調(diào)制方式。再有,OFDM加載算法的采用,使系統(tǒng)可以把更多的數(shù)據(jù)集中放在條件好的信道上以高速率進(jìn)行傳送。因此,OFDM技術(shù)非常適合高速數(shù)據(jù)傳輸。7、抗碼間干擾(ISI)能力強(qiáng)碼間干擾是數(shù)字通信系統(tǒng)中除噪聲干擾之外最主要的干擾,它與加性的噪聲干擾不同,是一種乘性的

10、干擾。造成碼間干擾的原因有很多,實(shí)際上,只要傳輸信道的頻帶是有限的,就會(huì)造成一定的碼間干擾。OFDM由于采用了循環(huán)前綴,對抗碼間干擾的能力很強(qiáng)。<四>OFDM技術(shù)的不足之處包括以下方面1、 對頻偏和相位噪聲比較敏感OFDM技術(shù)區(qū)分各個(gè)子信道的方法是利用各個(gè)子載波之間嚴(yán)格的正交性。頻偏和相位噪聲會(huì)使各個(gè)子載波之間的正交特性惡化,僅僅1的頻偏就會(huì)使信噪比下降30dB。因此,OFDM系統(tǒng)對頻偏和相位噪聲比較敏感。2、功率峰值與均值比(PAPR)大,導(dǎo)致射頻放大器的功率效率較低與單載波系統(tǒng)相比,由于OFDM信號是由多個(gè)獨(dú)立的經(jīng)過調(diào)制的子載波信號相加而成的,這樣的合成信號就有可能產(chǎn)生比較大的

11、峰值功率,也就會(huì)帶來較大的峰值均值功率比,簡稱峰均值比。對于包含N個(gè)子信道的OFDM系統(tǒng)來說,當(dāng)N個(gè)子信道都以相同的相位求和時(shí),所得到的峰值功率就是均值功率的N倍。當(dāng)然這是一種非常極端的情況,通常OFDM系統(tǒng)內(nèi)的峰均值不會(huì)達(dá)到這樣高的程度。高峰均值比會(huì)增大對射頻放大器的要求,導(dǎo)致射頻信號放大器的功率效率降低。3、負(fù)載算法和自適應(yīng)調(diào)制技術(shù)會(huì)增加系統(tǒng)復(fù)雜度負(fù)載算法和自適應(yīng)調(diào)制技術(shù)的使用會(huì)增加發(fā)射機(jī)和接收機(jī)的復(fù)雜度,并且當(dāng)終端移動(dòng)速度每小時(shí)高于30公里時(shí),自適應(yīng)調(diào)制技術(shù)就不是很適合了我們小組本次實(shí)驗(yàn)主要研究的是卷積編碼技術(shù)及其在OFDM系統(tǒng)中的應(yīng)用。在分析OFDM系統(tǒng)的關(guān)鍵技術(shù)和優(yōu)缺點(diǎn)的基礎(chǔ)上,分析

12、了信道編碼在OFDM系統(tǒng)中的誤碼率性能;并結(jié)合其他編碼方法,研究了OFDM系統(tǒng)中卷積編碼的重要作用。 <五>OFDM系統(tǒng)的關(guān)鍵技術(shù)同步技術(shù) OFDM系統(tǒng)中,個(gè)符號的并行傳輸會(huì)使符號的延續(xù)時(shí)間更長,因此它對時(shí) 間的偏差不敏感。對于無線通信來說,無線信道存在時(shí)變性,在傳輸中存在的頻 率偏移會(huì)使OFDM系統(tǒng)子載波之間的正交性遭到破壞,相位噪聲對系統(tǒng)也有很大的 損害。由于發(fā)送端和接受端之間的采樣時(shí)鐘有偏差,每個(gè)信號樣本都一定程度地偏 離它真確的采樣時(shí)間,此偏差隨樣本數(shù)量的增加而線性增大,盡管時(shí)間偏差壞子載波之間的正交性,但是通常情況下可以忽略不計(jì)。當(dāng)采樣錯(cuò)誤可以被校正時(shí),就可以用內(nèi)插濾波器

13、來控制真確的時(shí)間進(jìn)行采樣。相位噪聲有兩個(gè)基本的影響,其一是對所有的子載波引入了一個(gè)隨機(jī)相位變量,跟蹤技術(shù)和差分檢測可以用來降低共同相位誤差的影響,其次也會(huì)引人一定量的信道間干擾(ICI),因?yàn)橄辔徽`差導(dǎo)致子載波的間隔不再是精確的1/了。載波頻率的偏移會(huì)使子信道之間產(chǎn)生干擾。OFDM系統(tǒng)的輸出信號是多個(gè)相互覆蓋的子信道的疊加,它們之間的正交性有嚴(yán)格的要求。無線信道時(shí)變性的一種具體體現(xiàn)就是多普勒頻移,多普勒頻移與載波頻率以及移動(dòng)臺(tái)的移動(dòng)速度都成正比。多普勒展寬會(huì)導(dǎo)致頻率發(fā)生彌散,引起信號發(fā)生畸變。從頻域上看,信號失真會(huì)隨發(fā)送信道的多普勒擴(kuò)展的增加而加劇。因此對于要求子載波嚴(yán)格同步的OFDM系統(tǒng)來說

14、,載波的頻率偏移所帶來的影響會(huì)更加嚴(yán)重,如果不采取措施對這種信道間干擾(ICI)加以克服,系統(tǒng)的性能很難得到改善。OFDM中的同步通常包括3方面的內(nèi)容:(1)幀檢測;(2)載波頻率偏差及校正;(3)采樣偏差及校正。由于同步是OFDM技術(shù)中的一個(gè)難點(diǎn),因此,很多人也提出了很多OFDM同步算法,主要是針對循環(huán)擴(kuò)展和特殊的訓(xùn)練序列以及導(dǎo)頻信號來進(jìn)行,其中較常用的有利用奇異值分解的ESPRIT同步算法和ML估計(jì)算法,其中ESPRIT算法雖然估計(jì)精度高,但計(jì)算復(fù)雜,計(jì)算量大,而ML算法利用OFDM信號的循環(huán)前綴,可以有效地對OFDM信號進(jìn)行頻偏和時(shí)偏的聯(lián)合估計(jì),而且與ESPRIT算法相比,其計(jì)算量要小得

15、多。對OFDM技術(shù)的同步算法研究得比較多,需要根據(jù)具體的系統(tǒng)具體設(shè)計(jì)和研究,利用各種算法融合進(jìn)行聯(lián)合估計(jì)才是可行的。OFDM系統(tǒng)對定時(shí)頻偏的要求是小于OFDM符號間隔的4%,對頻率偏移的要求大約要小于子載波間隔的1%2%,系統(tǒng)產(chǎn)生的-3dB相位噪聲帶寬大約為子載波間隔的0.01% 0.1%。PARP的解決由于OFDM信號是有一系列的子信道信號重疊起來的,所以很容易造成較大的PAPR。大的OFDM PAPR 信號通過功率放大器時(shí)會(huì)有很大的頻譜擴(kuò)展和帶內(nèi)失真。但是由于大的PARP的概率并不大,可以把大的PAPR值的OFDM信號去掉。但是把大的PAPR值的OFDM信號去掉會(huì)影響信號的性能,所以采用的

16、技術(shù)必須保證這樣的影響盡量小。一般通過以下幾種技術(shù)解決:(1)信號失真技術(shù)。采用修剪技術(shù)、峰值窗口去除技術(shù)或峰值刪除技術(shù)使峰值振幅值簡單地線性去除。(2)編碼技術(shù)。采用專門的前向糾錯(cuò)碼會(huì)使產(chǎn)生非常大的PAPR的OFDM符號去除。(3)擾碼技術(shù)。采用擾碼技術(shù),使生成的OFDM的互相關(guān)性盡量為0,從而使OFDM的PAPR減少。這里的擾碼技術(shù)可以對生成的OFDM信號的相位進(jìn)行重置,典型的有PTS和SLM訓(xùn)練序列/導(dǎo)頻及信道估計(jì)技術(shù)接收端使用差分檢測時(shí)不需要信道估計(jì),但仍需要一些導(dǎo)頻信號提供初始的相位參考,差分檢測可以降低系統(tǒng)的復(fù)雜度和導(dǎo)頻的數(shù)量,但卻損失了信噪比。尤其是在OFDM系統(tǒng)中,系統(tǒng)對頻偏比

17、較敏感,所以一般使用相干檢測。在系統(tǒng)采用相干檢測時(shí),信道估計(jì)是必須的。此時(shí)可以使用訓(xùn)練序列和導(dǎo)頻作為輔助信息,訓(xùn)練序列通常用在非時(shí)變信道中,在時(shí)變信道中一般使用導(dǎo)頻信號。在OFDM系統(tǒng)中,導(dǎo)頻信號是時(shí)頻二維的。為了提高估計(jì)的精度,可以插入連續(xù)導(dǎo)頻和分散導(dǎo)頻,導(dǎo)頻的數(shù)量是估計(jì)精度和系統(tǒng)復(fù)雜的折衷。導(dǎo)頻信號之間的間隔取決于信道的相干時(shí)間和相干帶寬,在時(shí)域上,導(dǎo)頻的間隔應(yīng)小于相干時(shí)間;在頻域上,導(dǎo)頻的間隔應(yīng)小于相干帶寬。實(shí)際應(yīng)用中,導(dǎo)頻的模式的設(shè)計(jì)要根據(jù)具體情況而定。OFDM仿真流程圖如下:本次仿真的系統(tǒng)模型如圖4-1。信號源采用matlab內(nèi)部產(chǎn)生的隨機(jī)系列,對信號源使用卷積編碼,得到編碼系列,對

18、編碼系列使用QPSK調(diào)制,得到QPSK調(diào)制信號,將QPSK調(diào)制信號使用OFDM調(diào)制,并進(jìn)行串并轉(zhuǎn)換,加入高斯白噪聲,通過OFDM多徑信道傳輸,接收端將接收信號進(jìn)行并串轉(zhuǎn)換,然后使用OFDM解調(diào),再進(jìn)行QPSK解調(diào),使用Viterbi算法進(jìn)行譯碼,最后通過公式求出誤碼率并畫出誤碼率曲線圖。五 實(shí)驗(yàn)分組組長:周濤 負(fù)責(zé)OFDM調(diào)制到OFDM解調(diào)那部分,及在不同碼元速率的情況下OFDM中誤碼率的變化。組員:張步碩:維特比譯碼,與QPSK調(diào)制與解調(diào) 劉寧:卷積編碼,與AWGN信道下卷積編碼的OFDM 系統(tǒng)的誤比特率性能 六 實(shí)驗(yàn)結(jié)果采用QPSK調(diào)制解調(diào)時(shí),AWGN信道下的OFDM系統(tǒng)誤碼率的變化。采用

19、QPSK調(diào)制解調(diào)時(shí),單徑信道下的OFDM系統(tǒng)誤碼率的變化;采用QPSK調(diào)制解調(diào)時(shí)的,二徑信道下的OFDM系統(tǒng)誤碼率的變化1/2碼元速率條件下采用卷積編碼與未采用卷積編碼條件下的誤碼率分析,從圖可以看書采用卷積編碼的誤碼率要好,同時(shí)隨著信躁比的增大誤碼率減少。1/3碼元速率條件下的誤碼率的比較,與上圖相比可知,1/3的碼元速率隨著信躁比的增大誤碼率的減小比1/2要大,所以效果更明顯。七 實(shí)驗(yàn)總結(jié)通過本次實(shí)驗(yàn)掌握了OFDM的工作原理,由于小組分工不同,我主要負(fù)責(zé)的是在OFDM中碼元速率的變化對系統(tǒng)五碼率的影響,從結(jié)果可以看書,隨著碼元速率的減小,隨著信躁比的增大,誤碼率減小的更快。同時(shí)在本次實(shí)驗(yàn)中

20、,我們小組多次交流,所以也加深了我對卷積編碼和維特比譯碼的認(rèn)識(shí),并掌握了維特比譯碼的工作原理,既可以概括我邊接受邊譯碼的一個(gè)譯碼過程。通過本次試驗(yàn)也讓我明白了團(tuán)結(jié)合作的團(tuán)隊(duì)才能更加高效的完成任務(wù)。同時(shí)我也堅(jiān)信,本次實(shí)驗(yàn)對OFDM的了解在將來的學(xué)習(xí)與工作中對自己一定會(huì)有幫助,因?yàn)镺FDM目前越來越受到歡迎。同時(shí)感謝助教的耐心解答,也感謝老師!程序附錄%OFDM_juanji.mecho off;clear all;close all;clc;fprintf( 'OFDM·ÂÕæn') ;ticNums=40;NumLoop = 60;Num

21、Subc = 128; NumCP= 8;SyncDelay = 0;%-% ×ÓÔز¨Êý 128% λÊý/ ·ûºÅ 2% ·ûºÅÊý/ Ôز¨ 60% ѵÁ··ûºÅÊý 0% Ñ­»

22、3;ǰ׺³¤¶È 8 (1/16)*T% µ÷ÖÆ·½Ê½ 4-QAM% ¶à¾¶ÐŵÀÊý 3 %IFFT Size 128 % ÐŵÀ×î´óʱÑÓ 2BitsTx1 = floor(rand(1,Nums

23、*NumSubc)*2);trel=poly2trellis(5 4,27 33 0;0 5 13);BitsTx=convenc(BitsTx1,trel); % 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');QAMTable =

24、-1-i -1+i 1-i 1+i;SymQAM = QAMTable(SymQAMtmptmp+1);SymIFFT = zeros(NumSubc,NumLoop);SymIFFTtmp = reshape(SymQAM,NumSubc/2,NumLoop);SymIFFTtmptmp = zeros(NumSubc,NumLoop);SymIFFTtmptmp(1,:) = real(SymIFFTtmp(1,:); % ʵÊýSymIFFTtmptmp(NumSubc/2+1,:) = imag(SymIFFTtmp(1,:); % Ê

25、;µÊýSymIFFTtmptmp(2:NumSubc/2,:) = SymIFFTtmp(2:NumSubc/2,:);SymIFFTtmptmp(NumSubc/2+2):NumSubc,:) = flipdim(conj(SymIFFTtmp(2:NumSubc/2,:),1);SymIFFT = ifft(SymIFFTtmptmp,NumSubc,1);NumAddPrefix = NumSubc + NumCP;SymCP = zeros(NumAddPrefix,NumLoop);RowPrefix = (NumSubc - NumCP + 1):N

26、umSubc;SymCP = SymIFFT(RowPrefix,:);SymIFFT;SymChtmp = SymCP(:).' % ½øÐÐÕâ¸öתÖòÙ×÷Ö®ºó¾Í³ÉÁËÒ»¸öʸÁ¿ Ch = 1 1/3 1/4;SymChtmp

27、tmp = filter(Ch,1,SymChtmp); for snr=1:1:10; SymCh = awgn(SymChtmptmp,snr,'measured');SymDeCP = zeros(NumSubc,NumLoop);SymDeCPtmp = reshape(SymCh,NumSubc + NumCP,NumLoop);SymDeCP = SymDeCPtmp(NumCP+1+SyncDelay):NumAddPrefix+SyncDelay,:);SymFFT = fft(SymDeCP,NumSubc,1);SymDec = zeros(NumSubc,

28、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; endif( abs(Imag -

29、1) < abs(Imag +1 ) ) SymDec(2*n,m) = 1; else SymDec(2*n,m) = 0; end endend BitsRx = zeros(1,NumSubc*NumLoop);BitsRx = SymDec(:).'BitsRx1 = vitdec(BitsRx,trel,34,'cont','hard');Num,Ber = symerr(BitsTx1(1:end-68),BitsRx1(68+1:end)Num1,Ber1 = symerr(BitsTx,BitsRx)w(snr)=Ber;t(snr

30、)=Ber1;semilogy(w,'o-');hold onsemilogy(t,'*-')xlabel('Eb/No(dB)');ylabel('SER');legend('δ±àÂëϵͳÐÔÄÜ','±àÂëÐÔÄÜ')title('¾í

31、87;ýÂëÐÔÄÜ·ÖÎö')hold on end% *end of file*%test1.m%qpskµ÷ÖÆ¡¢AWGNÐŵÀÏ·ÂÕæ³ÌÐò%*³õʼ²ÎÊý*clearpara=5

32、2;%²¢ÐÐÐŵÀÊýfftlen=64;%FFT³¤¶Ènoc=52;%Ôز¨Êýnd=3;%ÿѭ»·ÖÐOFDM·ûºÅÊýml=4;%µ÷ÖÆˮƽ:qpskgi

33、len=16;%±£»¤¼ä¸ô³¤¶È(points) sr=250000;%OFDM symbol rate(250 ksyombol/s)br=sr.*ml;%Bit rate per carrier%*Ö÷Ñ­»·²¿·Ö*nloop=10;%·ÂÕæµÄÑ­»·

34、2;ýnoe1=0;%ÐŵÀ½âÂëÇ°´íÎóÊý¾ÝÊýnod1=0;%ÐŵÀ½âÂëÇ°´«ÊäÊý¾ÝÊýnoe2=0;%ÐŵÀ

35、9;âÂëºó´íÎóÊý¾ÝÊýnod2=0;%ÐŵÀ½âÂëºó´«ÊäÊý¾ÝÊý%*·¢Éä»ú*for ebn0=0:50;%ÐÅÔë&#

36、177;Èfor iii=1:nloop%*Êý¾Ý²úÉú*%ÐÅÔ´±àÂët=0:pi/25:2*pi;xx=sin(t);init=-1:.1:1;partition=-1:.1:.9;predictor=0 1;encode=dpcmenco(xx,init,partition,predictor);encode2=reshape(encode,51,1);bin=deci22bin(encode2,6);recod

37、e=reshape(bin,1,306);%ÐŵÀ±àÂëk0=1;G=1 0 1 1 0 1 1;1 1 1 1 0 0 1;channelencode=cnv_encd(G,k0,recode);%*´®²¢×ª»»*paradata=reshape(channelencode,para,nd*ml);%reshape:ÄÚ½¨¹¦ÄÜ%*qpsk&#

38、181;÷ÖÆ*ich,qch=qpskmod1(paradata,para,nd,ml);%Êý¾ÝÓ³Éäich1,qch1=crmapping(ich,qch,fftlen,nd);%*IFFT*x=ich1+qch1.*i;y=ifft(x);%ifft:ÄÚ½¨¹¦ÄÜich2=real(y);%real:ÄÚ½¨¹¦Ä

39、0;qch2=imag(y);%imag:ÄÚ½¨¹¦ÄÜ%*²åÈë±£»¤¼ä¸ô*ich3,qch3=giins1(ich2,qch2,fftlen,gilen,nd);fftlen2=fftlen+gilen;%-Attenuation Calculation-spow=sum(ich3.2+qch3.2)/nd./para;%sum:ÄÚ½¨

40、85;¦ÄÜattn=0.5*spow*sr/br*10.(-ebn0/10);attn=sqrt(attn);%-AWGN addition-ich4,qch4=comb(ich3,qch3,attn);%*È¥³ý±£»¤¼ä¸ô*ich5,qch5=girem1(ich4,qch4,fftlen2,gilen,nd);%*FFT*rx=ich5+qch5.*i;ry=fft(rx);ich6=real(ry);qch6=imag(ry);%

41、Ôز¨ÄæÓ³Éäich7,qch7=crdemapping(ich6,qch6,fftlen,nd);%*½âµ÷*demodata=qpskdemod1(ich7,qch7,para,nd,ml);%*²¢´®×ª»»*demodata1=reshape(demodata,1,para*nd*ml);%ÐŵÀ½â

42、;Âëchanneldecode=viterbi(G,k0,demodata1);%ÐÅÔ´½âÂëreshapechanneldecode=reshape(channeldecode,51,6);deci=bin22deci(reshapechanneldecode);redeci=reshape(deci,1,51);codebook=-1:.1:5.3;decode=dpcmdeco(redeci,codebook,predictor);%*Bit Error Rate(BER)*noe1

43、0=sum(abs(demodata1-channelencode);nod10=length(channelencode);noe20=sum(abs(channeldecode-recode);nod20=length(recode);noe1=noe10+noe1;nod1=nod10+nod1;noe2=noe20+noe2;nod2=nod20+nod2;% fprintf('%dt%et%en',iii,noe10/nod10,noe20/nod20);end%ber1=noe1/nod1;ber2=noe2/nod2;%*Êä³

44、46;½á¹û*err(ebn0+1,1)=ebn0;err(ebn0+1,2)=ber2;endsemilogy(err(:,1),err(:,2),'o-');hold on%test2.m%qpskµ÷ÖÆ¡¢µ¥¾¶ÐŵÀÏ·ÂÕæ³ÌÐò%*³õʼ

45、²ÎÊý*para=52;%²¢ÐÐÐŵÀÊýfftlen=64;%FFT³¤¶Ènoc=52;%Ôز¨Êýnd=3;%ÿѭ»·ÖÐOFDM·ûºÅÊýml=4;%µ÷ÖÆ

46、ˮƽ:qpskgilen=16;%±£»¤¼ä¸ô³¤¶È(points)sr=250000;%OFDM symbol rate(250 ksyombol/s)br=sr.*ml;%Bit rate per carrier%Ë¥Âä³õʼֵ%tstp=1/sr/(fftlen+gilen);%Åо&

47、#246;ʱ¼äitau=0;%ÓÉtstp¹éÒ»»¯µÄµ½´ïʱ¼ädlvl1=0;%ÓÉÖ±½Ó²¨¹éÒ»»¯µÄÿ¾¶ÄÜÁ

48、1;.n0=6;%²úÉúË¥ÂäµÄ²¨Êýitnd1=1000;%Ë¥Âä¼ÆÊýÆ÷now1=1;%·¾¶Êýfd=150;%×î´ó¶àÆÕÀÕƵÂÊ

49、;flat=1;%Ë¥Âäģʽitnd0=nd*(fftlen+gilen)*10;%ÿ´Î¸üеļä¸ô%*Ö÷Ñ­»·²¿·Ö*nloop=20;%·ÂÕæµÄÑ­»

50、3;Êýnoe1=0;%ÐŵÀ½âÂëÇ°´íÎóÊý¾ÝÊýnod1=0;%ÐŵÀ½âÂëÇ°´«ÊäÊý¾ÝÊýnoe2=0;%Ðŵ

51、2;½âÂëºó´íÎóÊý¾ÝÊýnod2=0;%ÐŵÀ½âÂëºó´«ÊäÊý¾ÝÊýfor ebn0=0:50;%ÐÅÔë±È%*·¢É

52、28;»ú*for iii=1:nloop%*Êý¾Ý²úÉú*%ÐÅÔ´±àÂët=0:pi/25:2*pi;xx=sin(t);init=-1:.1:1;partition=-1:.1:.9;predictor=0 1;encode=dpcmenco(xx,init,partition,predictor);encode2=reshape(encode,51,1);bin=deci22bin(encode2,6)

53、;recode=reshape(bin,1,306);%ÐŵÀ±àÂëk0=1;G=1 0 1 1 0 1 1;1 1 1 1 0 0 1;channelencode=cnv_encd(G,k0,recode);%*´®²¢×ª»»*paradata=reshape(channelencode,para,nd*ml);%reshape:ÄÚ½¨¹¦ÄÜ%*

54、qpskµ÷ÖÆ*ich,qch=qpskmod1(paradata,para,nd,ml);%Êý¾ÝÓ³Éäich1,qch1=crmapping(ich,qch,fftlen,nd);%*IFFT*x=ich1+qch1.*i;y=ifft(x);%ifft:ÄÚ½¨¹¦ÄÜich2=real(y);%real:ÄÚ½¨¹¦

55、6;Üqch2=imag(y);%imag:ÄÚ½¨¹¦ÄÜ%*²åÈë±£»¤¼ä¸ô*ich3,qch3=giins1(ich2,qch2,fftlen,gilen,nd);fftlen2=fftlen+gilen;%-Attenuation Calculation-spow=sum(ich3.2+qch3.2)/nd./para;%sum:ÄÚ½

56、68;¹¦ÄÜattn=0.5*spow*sr/br*10.(-ebn0/10);attn=sqrt(attn);%*ÈðÀûË¥ÂäÐŵÀ*%·ÂÕæÈðÀûË¥ÂäÐŵÀʱ,È¥³ý"%"i

57、fade,qfade=sefade(ich3,qch3,itau,dlvl1,n0,itnd1,now1,length(ich3),tstp,fd,flat);itnd1=itnd1+itnd0;%¸üÐÂfading counterich3=ifade;qch3=qfade;%-AWGN addition-ich4,qch4=comb(ich3,qch3,attn);%*È¥³ý±£»¤¼ä¸ô*ich5,qch5=girem1(ic

58、h4,qch4,fftlen2,gilen,nd);%*FFT*rx=ich5+qch5.*i;ry=fft(rx);ich6=real(ry);qch6=imag(ry);%Ôز¨ÄæÓ³Éäich7,qch7=crdemapping(ich6,qch6,fftlen,nd);%*½âµ÷*demodata=qpskdemod1(ich7,qch7,para,nd,ml);%*²¢´®×ª&#

59、187;»*demodata1=reshape(demodata,1,para*nd*ml);%ÐŵÀ½âÂëchanneldecode=viterbi(G,k0,demodata1);%ÐÅÔ´½âÂëreshapechanneldecode=reshape(channeldecode,51,6);deci=bin22deci(reshapechanneldecode);redeci=reshape(deci,1,51);

60、codebook=-1:.1:5.3;decode=dpcmdeco(redeci,codebook,predictor);%*Bit Error Rate(BER)*noe10=sum(abs(demodata1-channelencode);nod10=length(channelencode);noe20=sum(abs(channeldecode-recode);nod20=length(recode);noe1=noe10+noe1;nod1=nod10+nod1;noe2=noe20+noe2;nod2=nod20+nod2;% fprintf('%dt%et%en'

61、;,iii,noe10/nod10,noe20/nod20);end% ber1=noe1/nod1;ber2=noe2/nod2;%*Êä³ö½á¹û*err1(ebn0+1,1)=ebn0;err1(ebn0+1,2)=ber2;endsemilogy(err1(:,1),err1(:,2),'+-');hold on% fprintf('%ft%et%et%dtn',ebn0,ber1,ber2,nloop);%*end of file*%test3.m%qpskµ&

62、#247;ÖÆ£¬Á½¾¶ÐŵÀ£¨ÑÓ³Ùʱ¼ä䳬¹ý±£»¤¼ä¸ô£©Ï·ÂÕæ³ÌÐò%*³

63、;õʼ²ÎÊý*para=52;%²¢ÐÐÐŵÀÊýfftlen=64;%FFT³¤¶Ènoc=52;%Ôز¨Êýnd=3;%ÿѭ»·ÖÐOFDM·ûºÅÊýml=4;%µ

64、;÷ÖÆˮƽ:qpskgilen=16;%±£»¤¼ä¸ô³¤¶È(points)sr=250000;%OFDM symbol rate(250 ksyombol/s)br=sr.*ml;%Bit rate per carrier%Ë¥Âä³õʼֵ%tstp=1/sr/(fftlen+gilen);%

65、Åоöʱ¼äitau=0 8;%ÓÉtstp¹éÒ»»¯µÄµ½´ïʱ¼ädlvl1=0 10;%ÓÉÖ±½Ó²¨¹éÒ»»¯µÄÿ¾

66、2;ÄÜÁ¿.n0=6 7;%²úÉúË¥ÂäµÄ²¨Êýitnd1=1000 2000;%Ë¥Âä¼ÆÊýÆ÷now1=2;%·¾¶Êýfd=150;%×î´ó¶àÆÕ

67、2;ÕƵÂÊflat=1;%Ë¥Âäģʽ£¨1£­>ƽ˥Â䣬0£­>·ù¶ÈÏàλ¾ùË¥Â䣩itnd0=nd*(fftlen+gilen

68、)*10;%ÿ´Î¸üеļä¸ô%*Ö÷Ñ­»·²¿·Ö*nloop=20;%·ÂÕæµÄÑ­»·Êýnoe1=0;%ÐŵÀ½âÂëÇ

69、76;´íÎóÊý¾ÝÊýnod1=0;%ÐŵÀ½âÂëÇ°´«ÊäÊý¾ÝÊýnoe2=0;%ÐŵÀ½âÂëºó´íÎóÊý¾

70、;ÝÊýnod2=0;%ÐŵÀ½âÂëºó´«ÊäÊý¾ÝÊý%*·¢Éä»ú*for ebn0=0:50;%ÐÅÔë±Èfor iii=1:nloop%*Êý¾Ý²úÉ

71、0;*%ÐÅÔ´±àÂët=0:pi/25:2*pi;xx=sin(t);init=-1:.1:1;partition=-1:.1:.9;predictor=0 1;encode=dpcmenco(xx,init,partition,predictor);encode2=reshape(encode,51,1);bin=deci22bin(encode2,6);recode=reshape(bin,1,306);%ÐŵÀ±àÂëk0=1;G=1 0 1 1 0 1 1;1 1 1 1 0 0 1;channelencode=cnv_encd(G,k0,recode);%*´®²¢×ª»»*paradata=reshape(channelencode,para,nd*ml);%reshape:ÄÚ½¨¹¦ÄÜ%*qpskµ÷ÖÆ*ich,qch=qpskmod1(paradata,para,n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論