




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、長沙理工大學(xué)通信原理課程設(shè)計報告郭林學(xué) 院 計算機(jī)與通信工程 專 業(yè) 通信工程 班 級 學(xué) 號 11 學(xué)生姓名 郭 林 指導(dǎo)教師 龍 敏 課程成績 完成日期 2008年1月11日基于Matlab的卷積碼譯碼器的設(shè)計與仿真學(xué)生姓名:郭 林 指導(dǎo)老師:*摘 要 本課程設(shè)計主要解決對一個卷積碼序列進(jìn)行維特比(Viterbi)譯碼輸出,并通過Matlab軟件進(jìn)行設(shè)計與仿真,并進(jìn)行誤碼率分析。在課程設(shè)計中,系統(tǒng)開發(fā)平臺為Windows Vista Ultimate,程序設(shè)計與仿真均采用Matlab R2007a(7.4),最后仿真詳單與理論分析一致。關(guān)鍵詞 課程設(shè)計;卷積碼譯碼器;Matlab;Simu
2、link;設(shè)計與仿真1 引 言本課程設(shè)計主要解決對一個卷積碼序列進(jìn)行維特比(Viterbi)譯碼輸出,并通過Matlab軟件進(jìn)行設(shè)計與仿真。卷積碼的譯碼有兩種方法軟判決和硬判決,此課程設(shè)計采用硬判決的維特比譯碼。1.1 課程設(shè)計目的卷積碼是一種向前糾錯控制編碼。它將連續(xù)的信息比特序列映射為連續(xù)的編碼器輸出符號。這種映射是高度結(jié)構(gòu)化的,使得卷積碼的譯碼方法與分組碼譯碼所采用的方法完全不同。可以驗證的是在同樣復(fù)雜度情況下,卷積碼的編碼增益要大于分組碼的編碼增益。對于某個特定的應(yīng)用,采用分組編碼還是采用卷積編碼哪一種更好則取決于這一應(yīng)用的具體情況和進(jìn)行比較時可用的技術(shù)1。本課程設(shè)計便是通過Matla
3、b設(shè)計一個硬判決維特比譯碼輸出的完整電路,并進(jìn)行誤碼率分析。1.2 課程設(shè)計的原理卷積碼,又稱連環(huán)碼,是由伊萊亞斯(P.elias)于1955年提出來的一種非分組碼。卷積編碼的最佳譯碼準(zhǔn)則為:在給定已知編碼結(jié)構(gòu)、信道特性和接收序列的情況下,譯碼器將把與已經(jīng)發(fā)送的序列最相似的序列作為傳送的碼字序列的估值。對于二進(jìn)制對稱信道,最相似傳送序列就是在漢明距離上與接收序列最近的序列。卷積碼的譯碼方法有兩大類:一類是大數(shù)邏輯譯碼,又稱門限譯碼(硬判決,編者注);另一種是概率譯碼(軟判決,編者注),概率譯碼又分為維特比譯碼和序列譯碼兩種。門限譯碼方法是以分組碼理論為基礎(chǔ)的,其譯碼設(shè)備簡單,速度快,但其誤碼性
4、能要比概率譯碼法差2。當(dāng)卷積碼的約束長度不太大時,與序列譯碼相比,維特比譯碼器比較簡單,計算速度快。維特比譯碼算法是1967年由Viterbi提出,近年來有大的發(fā)展。目前在數(shù)字通信的前向糾錯系統(tǒng)中用的較多,而且在衛(wèi)星深空通信中應(yīng)用更多,該算法在衛(wèi)星通信中已被采用作為標(biāo)準(zhǔn)技術(shù)。2 維特比譯碼原理采用概率譯碼的基本思想是:把已接收序列與所有可能的發(fā)送序列做比較,選擇其中碼距最小的一個序列作為發(fā)送序列。如果發(fā)送L組信息比特,那么對于(n,k)卷積碼來說,可能發(fā)送的序列有2kL個,計算機(jī)或譯碼器需存儲這些序列并進(jìn)行比較,以找到碼距最小的那個序列。當(dāng)傳信率和信息組數(shù)L較大時,使得譯碼器難以實(shí)現(xiàn)。維特比算
5、法則對上述概率譯碼做了簡化,以至成為了一種實(shí)用化的概率算法。它并不是在網(wǎng)格圖上一次比較所有可能的2kL條路徑(序列),而是接收一段,計算和比較一段,選擇一段最大似然可能的碼段,從而達(dá)到整個碼序列是一個最大似然值得序列。下面以圖2.1的(2,1,3)卷積碼編碼器所編出的碼為例,來說明維特比解碼的方法和運(yùn)作過程。為了能說明解碼過程,這里給出該碼的狀態(tài)圖,如圖2.2所 mjmj-1mj-2輸出序列m1,m2,mj,y1jy2j輸入序列00adcb110011010110圖2.2 (2,1,3)卷積碼狀態(tài)圖圖2.1 (2,1,3)卷積碼編碼器示。維特比譯碼需要利用圖來說明移碼過程。根據(jù)卷積碼畫網(wǎng)格的方
6、法,我們可以畫出該碼的網(wǎng)格圖,如圖2.3所示。該圖設(shè)輸入信息數(shù)目L=5,所以畫L+N=8個時間單位,圖中分別標(biāo)以0至7。這里設(shè)編碼器從a狀態(tài)開始運(yùn)作。該網(wǎng)格圖的每一條路徑都對應(yīng)著不同的輸入信息序列。由于所有可能輸入信息序列共有2kL個,因而網(wǎng)格圖中所有可能的路徑也為2kL條。這里節(jié)點(diǎn)a=00,b=01,c=10,d=11。abcd節(jié)點(diǎn)號0123456700000000000000111111111111111100000101010101010101010101111110101010圖2.3 (2,1,3)卷積碼網(wǎng)格圖設(shè)輸入編碼器的信息序列為(),則由編碼器對應(yīng)輸出的序列為Y=(11100)
7、,編碼器的狀態(tài)轉(zhuǎn)移路線為abdcbdca。若收到的序列R=(11100),對照網(wǎng)格圖來說明維特比譯碼的方法。由于該卷積碼的約束長度為6位,因此先選擇接收序列的前6位序列R1=()同到達(dá)第3時刻的可能的8個碼序列(即8條路徑)進(jìn)行比較,并計算出碼距。該例中到達(dá)第3時刻a點(diǎn)的路徑序列是()和(),他們與R1的距離分別為3和4;到達(dá)第3時刻b點(diǎn)的路徑序列是()和(),他們與R1的距離分別為3和4;到達(dá)第3時刻c點(diǎn)的路徑序列是()和(),他們與R1的距離分別為4和1;到達(dá)第3時刻d點(diǎn)的路徑序列是()和(),他們與R1的距離分別為2和3。上述每個節(jié)點(diǎn)都保留碼距較小的路徑作為幸存路徑,所以幸存路徑碼序列是
8、()、()、()和(),如圖2.4所示。用于上面類似的方法可以得到第4、5、6、7時刻的幸存路徑。abcd節(jié)點(diǎn)號0123000000111111010101圖2.4 維特比譯碼第3時刻幸存路徑需要指出的是,對于某個節(jié)點(diǎn),如果比較兩條路徑與接收序列的累計碼距值相等時,則可以任意選者一條路徑作為幸存路徑,吃時不會影響最終的譯碼結(jié)果。在碼的終了時刻a狀態(tài),得到一條幸存路徑。如果2.5所示。由此可看到譯碼器abcd節(jié)點(diǎn)號0123110101456780001011100圖2.5 第8時刻幸存路徑輸出是R=(11100),即可變換成序列(),恢復(fù)了發(fā)端原始信息。比較R和R序列,可以看到在譯碼過程中已糾正
9、了在碼序列第1和第7位上的差錯。當(dāng)然如果差錯出現(xiàn)太頻繁,以致超出卷積碼的糾錯能力,還是會發(fā)生糾誤的。3 Matlab中卷積碼譯碼器的設(shè)計與仿真3.1 Matlab維特比譯碼器模塊介紹在Matlab軟件的Simulink組件庫中包含有的兩種卷積碼譯碼模塊,即后驗概率卷積譯碼器和維特比譯碼器。圖3.1,圖3.2所示是維特比譯碼器參數(shù)設(shè)置對話框和模塊,它通過維特比譯碼還原出二進(jìn)制信號序列。圖3.1 維特比譯碼器參數(shù)設(shè)置圖3.2 維特比譯碼器模塊如果卷積編碼器的輸入長度為k,輸出信號的長度為n,則維特比譯碼器的輸入好輸出信號長度分別是n和k的整數(shù)倍。維特比譯碼器模塊主要有以下幾個參數(shù):(1)Trell
10、is structure(Trellis結(jié)構(gòu))與維特比一冒起相對應(yīng)的卷積編碼器的Trellis結(jié)構(gòu)。它既可以是Matlab工作區(qū)中的一個Trellis變量,也可以是通過poly2trellis()函數(shù)產(chǎn)生的Trellis結(jié)構(gòu)。(2)Decision Type(判決類型)維特比譯碼器德判決類型有3種:Unquantized(非量化)、Hard Decision(硬判決)和Soft Decision(軟判決),如表3.1所示。表3.1維特比譯碼器的判決類型判決類型解碼器的輸出類型說明Unquantized實(shí)數(shù)+1表示邏輯0;-1表示邏輯1Hard Decision0, 10表示邏輯0;1表示邏輯1
11、Soft Decision介于0和2b-1之間的整數(shù),其中b是軟判決位的個數(shù)0表示具有取值為0的最大概率;2b-1表示具有取值為1的最大概率;介于兩者之間的數(shù)表示取0和1的相對概率。(3)Number of soft decision bits(軟判決的個數(shù))當(dāng)Decision type設(shè)置為Soft Decision時,本參數(shù)有效,并且當(dāng)它的取值為b時,維特比譯碼器的輸出是介于0和2b-1之間的一個整數(shù)。(4)Traceback depth(反饋深度)反饋深度D影響著維特比譯碼的精度,同時也影響著解碼的時延(即在輸出第一個解碼數(shù)據(jù)之前輸出的0的個數(shù))。(5)Operation mode(操作
12、模式)維特比譯碼器有3種操作模式:Continuous、Terminated或Truncated。如果維特比譯碼器的輸出信號是抽樣信號,則應(yīng)該把本參數(shù)設(shè)置為Continuous模式;當(dāng)輸入信號時幀數(shù)據(jù)時,操作模式可以是Continuous、Terminated或Truncated。對于Continuous模式,維特比譯碼器在每幀數(shù)據(jù)結(jié)束時保存譯碼器的內(nèi)部狀態(tài),用于對下一幀實(shí)施解碼;在Truncated模式下,解碼器在每幀數(shù)據(jù)結(jié)束的時候總能恢復(fù)到全零狀態(tài),它對應(yīng)于卷積編碼器的On each frame復(fù)位方式;Terminated模式適用于卷積編碼器的每幀輸入信號的末尾有足夠多的零,能夠把卷積編
13、碼器在完成一幀數(shù)據(jù)的編碼之后把內(nèi)部狀態(tài)恢復(fù)為0。(6)Enable rest input port(啟用復(fù)位信號端口)當(dāng)Operation mode參數(shù)設(shè)置為Continuous并且選中了本選項前面的復(fù)選框之后,維特比譯碼器增加一個輸出信號端口Rst。同時當(dāng)Rst的輸入信號不等于0時,維特比譯碼器復(fù)位到初始狀態(tài)。33.2 Matlab中卷積碼維特比譯碼器的設(shè)計整個設(shè)計的結(jié)構(gòu)框圖如圖3.3圖3.3 整體設(shè)計結(jié)構(gòu)模塊框圖信源模塊噪聲信道信宿模塊信號編譯碼器約定參數(shù)信號信號可見,本設(shè)計由3個子系統(tǒng)組成:信源模塊對隨機(jī)二進(jìn)制信號進(jìn)行卷積碼和二進(jìn)制相位調(diào)制,輸出基帶調(diào)制信號;信道模塊是一個有噪聲信道;信
14、宿模塊對調(diào)制信號進(jìn)行軟判決譯碼,得到原始信息序列,并且計算調(diào)制信號的誤碼率。信源模塊由貝努利二進(jìn)制序列產(chǎn)生器、卷積碼編碼器以及二進(jìn)制相位調(diào)制3個模塊組成,如圖3.4所示 圖3.4 信源模塊系統(tǒng)框圖各個模塊的參數(shù)設(shè)置分別如表3.2表3.4所示。表3.2 Bernoulli Binary Generator(貝努利二進(jìn)制序列產(chǎn)生器)的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型Bernoulli Binary GeneratorProbability of zero0.5Initial seed25741Sample time0.0001Frame-based outputCheckedSamples per
15、frame10000表3.3 Convolutional Encoder(卷積碼編碼器)的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型Convolutional EncoderTrellisPoly2trellis(7,171 133)ResetOn each frame表3.4 BPSK Modulator Baseband(二進(jìn)制相位調(diào)制模塊)的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型BPSK Modulator BasebandPhase offset(rad)0Samples per symbol1本設(shè)計使用相對較簡單的一個加性高斯白噪聲信道作為噪聲信道,它在二進(jìn)制相位調(diào)制信號中疊加高斯白噪聲。加性高斯白噪聲
16、模塊的參數(shù)設(shè)置如表3.5。表3.5 AWGN Channel(加性高斯白噪聲模塊)的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型AWGN ChannelInitial seed1237ModeSignal to noise ratio(SNR)SNR(dB)SNRInput signal power(watts)1信道模塊如下圖3.6所示。圖3.6 信道模塊示意圖信宿模塊在接收到二進(jìn)制相位調(diào)制信號后,首先由BPSK Demodulator Baseband (二進(jìn)制相位解調(diào)模塊)對信號進(jìn)行量化,得到硬判決量化信號,然后通過Viterbi Decoder(維特比譯碼器)對軟判決信號實(shí)施譯碼。譯碼輸出信號和信源
17、模塊產(chǎn)生的原始信號輸入到Error Rate Calculator(誤比特率統(tǒng)計模塊)中,統(tǒng)計得到的數(shù)據(jù)一方面通過Display(顯示模塊)顯示出來,另一方面通過一個Selector(選擇器)把其中的第一個元素(即編碼信號的誤比特率)保存到工作區(qū)變量BitErrorRate中。信宿模塊如下圖3.7所示。圖3.7 信宿模塊Sink各關(guān)鍵模塊參數(shù)設(shè)置如表3.7、表3.8所示。表3.7 BPSK Demodulator Baseband(二進(jìn)制相位解調(diào)模塊)的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型BPSK Demodulator BasebandPhase offset(rad)0Decision type
18、Hard decisionOutput data typeInherit via internal rule表3.7 Viterbi Decoder(維特比譯碼器)的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型Viterbi DecoderTrellis structurepoly2trellis(7, 171 133)Decision typeHard decisionTreceback depth1000Operation modeTruncated將此完整設(shè)計保存,命名為convh.mdl。3.3簡化維特比譯碼器的仿真為了驗證譯碼模塊的正確性,便讓其進(jìn)行最簡模式運(yùn)行,為此,臨時設(shè)計一個簡化信號系統(tǒng),關(guān)
19、閉信道噪聲,不進(jìn)行二進(jìn)制相位的調(diào)制與解調(diào),去掉誤比特率統(tǒng)計模塊。為了能看到輸入二進(jìn)制碼和譯碼輸出二進(jìn)制碼,增加了兩個To Workspace(結(jié)果輸入到工作區(qū)模塊),整個系統(tǒng)模塊框圖如圖3.8所示。圖3.8 簡化譯碼模塊框圖同時,為了便于觀察,將Bernoulli Binary Generator(貝努利二進(jìn)制序列產(chǎn)生器)的參數(shù)設(shè)置為如表3.8所示,以產(chǎn)生簡單的15位二進(jìn)制隨機(jī)碼,也將Viterbi Decoder的Trceback depth值改為5。將To Workspace1模塊和To Workspace模塊的變量名分別設(shè)置為pdata和data。表3.8 簡化譯碼模塊的Bernoull
20、i Binary Generator的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型Bernoulli Binary GeneratorProbability of zero0.5Initial seed5Sample time10Frame-based outputCheckedSamples per frame5運(yùn)行仿真(),在matlab的命令窗口中輸入pdata和data分別得到相應(yīng)的二進(jìn)制序列。對所得序列分別截圖,可得如圖3.9所示結(jié)果。可見,譯碼器能夠正確進(jìn)行譯碼,所設(shè)計簡化譯碼器正確,因而,從理論上可推導(dǎo),原設(shè)計正確。圖3.9 簡化譯碼器仿真結(jié)果通過對convh.mdl文件進(jìn)行仿真,證明設(shè)計正確
21、,但因所得二進(jìn)制碼太多,此處便不進(jìn)行截圖證明。4 Matlab中卷積碼譯碼器的誤碼率分析編制M文件convolutionh.m,使convh.mdl在不同的信噪比條件下重復(fù)執(zhí)行前面建立的項目convh.mdl。然后繪制信道的信噪比與編碼信號誤比特率之間的關(guān)系曲線圖。M文件代碼如下:%x表示信噪比x=-10:5;%y表示信號的誤比特率y=x;%準(zhǔn)備一個空白圖形hold off;%重復(fù)運(yùn)行convh.mdl,檢驗不同條件下硬判決譯碼的性能 for i=1:length(x) %信道的信噪比依次取x中的元素 SNR=x(i); %運(yùn)行仿真程序,得到的誤比特率保存在工作區(qū)變量BitErrorRate中
22、 sim(convh); %計算BitErrorRate的均值作為本次仿真的誤比特率 y(i)=mean(BitErrorRate); end%繪制x和y的關(guān)系曲線圖,縱坐標(biāo)采用對數(shù)坐標(biāo)semilogy(x,y);%保持已經(jīng)繪制的圖形hold on執(zhí)行此M文件,得到如圖4.1所示的關(guān)系曲線圖,由此圖可見,隨著信道信噪比的提升,維特比譯碼所得結(jié)果的誤比特率越低,信道的可信度越高,信噪比在大于-2時信道的誤碼率開始明顯降低。圖4.1 convolutionh.m運(yùn)行結(jié)果5 結(jié)束語此課程設(shè)計對整個通信系統(tǒng)包含的編碼、傳輸和譯碼都進(jìn)行了設(shè)計與仿真,從這些過程中我們看到了通信系統(tǒng)的基本工作原理。通過整個卷積碼系統(tǒng)的設(shè)計與仿真,使我們加深了對卷積碼的理解,掌握維特比譯碼的基本思路,知道如何進(jìn)行誤碼率分析從而選者合適的信道傳輸信號,更重要的是學(xué)會了使用Matlab作為學(xué)習(xí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)連帶擔(dān)保借款合同模板
- 道路拓寬及改造工程合同
- 辦公用房租賃合同英文范本
- 廚師服務(wù)合同樣本
- 夫妻共同購房合同條款
- 女方凈身出戶離婚法律合同模板
- 跨境融資合同(一)
- 職業(yè)技術(shù)學(xué)院大學(xué)生創(chuàng)新創(chuàng)業(yè)項目合同
- 新能源汽車電機(jī)技術(shù)演進(jìn)與產(chǎn)業(yè)鏈創(chuàng)新考核試卷
- 文化產(chǎn)業(yè)與體育賽事結(jié)合考核試卷
- 《醫(yī)院應(yīng)急培訓(xùn)》課件
- 提高教育教學(xué)質(zhì)量深化教學(xué)改革措施
- 招標(biāo)代理機(jī)構(gòu)遴選投標(biāo)方案(技術(shù)標(biāo))
- 證件使用協(xié)議書(2篇)
- KTV商務(wù)禮儀培訓(xùn)
- 三級安全教育試題(公司級、部門級、班組級)
- 2024年《論教育》全文課件
- 貧血醫(yī)學(xué)教學(xué)課件
- 計算機(jī)網(wǎng)絡(luò)與信息安全(2024年版)課件 李全龍 第1-4章計算機(jī)網(wǎng)絡(luò)與信息安全概述-網(wǎng)絡(luò)層服務(wù)與協(xié)議
- 肺栓塞患者護(hù)理查房課件
- 人工智能教育背景下中小學(xué)教師智能教育素養(yǎng)提升路徑研究
評論
0/150
提交評論