




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘 要 本課程設計主要解決信源編碼和信道編碼中的卷積碼的數(shù)字調制,信源輸出的模擬信號要轉換成數(shù)字信號,就需要對信源信道進行編碼譯碼操作,并通過Simulink軟件進行設計與仿真,進行誤碼率分析。卷積碼是一種性能優(yōu)越的信道編碼。它的編碼器和譯碼器都比較容易實現(xiàn),同時它具有較強的糾錯能力。隨著糾錯編碼理論研究的不斷深入,卷積碼的實際應用越來越廣泛。本文簡明地介紹了卷積碼的編碼原理和譯碼原理。并在SIMULINK模塊設計中,完成了對卷積碼的編碼和譯碼以及誤比特統(tǒng)計整個過程的模塊仿真。最后,通過在仿真過程中分別改變卷積碼的重要參數(shù)來加深理解卷積碼的這些參數(shù)對卷積碼的誤碼性能的影響。經(jīng)過仿真和實測,并對
2、測試結果作了分析。得出了以下三個結論: (1)當改變卷積碼的碼率時,系統(tǒng)的誤碼性能也將隨之發(fā)生變化。 (2)對于碼率一定的卷積碼,當約束長度N 發(fā)生變化時,系統(tǒng)的誤碼性能也會隨之發(fā)生變化。 (3)回溯長度也會不同程度上地影響誤碼性能。關鍵詞 : 編譯碼器;simulink;設計與仿真 卷積碼;碼率ABSTRACTThis course is designed to solve source coding and channel coding convolutional codes in the digital modulation, the source output analog signa
3、ls into digital signals to be converted to the need for the source and channel coding and decoding operations, and through the Simulink software design and simulation, and the bit error rate analysis. Convolutional code is a superior performance of channel coding. Its encoder and decoder are relativ
4、ely easy to implement, and it has a strong error correction capability. Error-correcting coding theory research with the deepening of the practical application of convolutional codes more widely. This concise introduction to the principles of convolutional coding and decoding principles. SIMULINK mo
5、dule in the design, completed the coding and decoding convolutional code and bit error statistics of the whole process simulation module. Finally, changes in the simulation process of convolutional codes, respectively, to deepen our understanding of the important parameters of these parameters on co
6、nvolutional codes convolutional codes error performance. The simulation and measurement, and test results are analyzed. Reached the following three conclusions: (1) When the change rate convolutional code, the system error performance will subsequently change. (2) For a certain rate convolutional co
7、des, when the constraint length N changes, the system BER performance also will be changed. (3) back length will be affected to varying degrees, error performance. Keywords: codec; simulink;design and simulation of convolutional code目 錄第1章 引言11.1 課題背景11.2 國內外研究現(xiàn)狀11.3 本課題的意義11.4 本課題的研究方法2第2章 MATLAB組件
8、介紹及通信系統(tǒng)概述32.1 MATLAB與通信仿真的發(fā)展現(xiàn)狀及應用32.2 通信系統(tǒng)概述與組成32.3 通信仿真42.4 Simulink仿真及工作原理6第3章 信源編碼83.1 A律律編碼特性83.1.1 A律編碼83.1.2 律編碼83.1.3 A律13折線93.2 A律、律的特性比較11第4章 信道編碼及譯碼154.1 卷積碼的概念介紹154.2 卷積碼的編碼過程介紹154.3 卷積碼譯碼過程的概述164.4 卷積碼的最大似然譯碼194.5 輸入與同步單元21第5章 卷積碼的仿真225.1 Simulink仿真模塊的參數(shù)設置以及重要參數(shù)的意義225.2 簡化維特比譯碼器的仿真26第6章
9、卷積碼譯碼器的誤碼率分析286.1信噪比與誤碼率的關系286.2.不同回溯長度對卷積碼性能的影響296.3 不同碼率對卷積碼誤碼性能的響316.4 不同約束長度對卷積碼的誤碼性能影響32第7章 結論35參考文獻36致 謝37第1章 引言1.1 課題背景隨著現(xiàn)代通信的發(fā)展,高速信息傳輸和高可靠性傳輸成為信息傳輸?shù)膬蓚€主要方面,而可靠性尤其重要。A律編碼、律編碼以及卷積碼以其高速性和可靠性在實際應用中越來越廣泛。其中1967年Viterbi譯碼算法的提出,使卷積碼成為信道編碼中最重要的編碼方式之一1。1.2 國內外研究現(xiàn)狀在對A律、律研究中,隨著數(shù)字化技術的發(fā)展,逐步形成了使用折現(xiàn)分段近似壓擴特性
10、的方法,這類方法簡單且準確,因而獲得了廣泛的應用,并被采納為相應的國際建議。而在對卷積碼的研究中,其中編碼器較簡單,模式也很統(tǒng)一。主要是研究提高卷積碼的譯碼速度和可靠度。譯碼算法中最重要的卷積碼的Viterbi算法問世以來,軟件仿真和實現(xiàn)都得到了迅速發(fā)展。目前,利用計算機仿真Viterbi算法,模擬在各種不同情況下卷積編碼時的譯碼性能,尋找Viterbi算法的最佳適用信道和不同要求(如誤碼率)下最優(yōu)編碼。1.3 本課題的意義在信源編碼中,隨著數(shù)字化技術的發(fā)展,逐步形成了使用折現(xiàn)分段近似壓擴特性的方法,這類方法簡單且準確,因而獲得了廣泛的應用,并被采納為相應的國際建議。在卷積碼中,因為Viter
11、bi算法效率高,速度快,結構相對簡單等特點,被廣泛應用于各種數(shù)據(jù)傳輸系統(tǒng)。在現(xiàn)代信息處理系統(tǒng)中,需要處理的信息量越來越大,實時性要求越來越高。為減少對主處理器各種資源的占用,要求通信模塊方面的大部分工作能獨立完成。因此采用Viterbi譯碼算法具有非?,F(xiàn)實的意義。1.4 本課題的研究方法本文通過基于MATLAB的SIMULINK下的模塊對A律和律碼以及卷積編碼,解碼進行仿真。通過仿真可以更清楚的認識到卷積碼的編碼,解碼的各個環(huán)節(jié),并對仿真結果進行了分析。得出卷積碼Viterbi譯碼的誤比特性能和回溯長度,碼率,約束長度的關系。第2章 MATLAB組件介紹及通信系統(tǒng)概述2.1 MATLAB與通信
12、仿真的發(fā)展現(xiàn)狀及應用MATLAB是由美國的Math Works 公司推出的一種科學計算和工程仿真軟件,它的名字院子Matrix Laboratory,專門以矩陣的形式處理數(shù)據(jù)。MATLAB將高性能的科學計算、結果可視化和編程集中在一個易于操作的環(huán)境中,并提供大量的內置函數(shù),具有強大的矩陣計算和繪畫功能,是用于科學計算、控制系統(tǒng)、信息處理等領域分析、仿真和設計工作。目前,在世界范圍內被科研工作者、工程技術人員和院校師生廣泛應用。Simulink是MATLAB中的一種可視化仿真工具,廣泛應用于線性系統(tǒng)、數(shù)字控制、非線性系統(tǒng)以及數(shù)字信號處理的建模和仿真中。Simulink采用模塊化建模方式,每個模塊
13、都有自己的輸入/輸出端口,實現(xiàn)其功能5。 本課題能避開硬件系統(tǒng)的不足,巧妙的運用軟件來仿真硬件才能實現(xiàn)的實驗結果,大大降低了實驗設備要求,節(jié)約了人力和財力,而且有很多的庫函數(shù)可以在實驗時直接調用,避免了用硬件做實驗的局限性。可以更方便的做信號系統(tǒng)實驗,為教學和研究提供了方便。還能夠鍛煉一個人在面對一個具體的項目時,遇到問題,分析問題,解決問題的能力;獲得獨立策劃、實施課題,并按照既定計劃進行開發(fā)的經(jīng)驗,以及查找相關文獻的能力。通過自己的努力使得對于Matlab有一個全面的、深刻的認識,并且對Matlab做界面的軟件有了一定的了解,對系統(tǒng)規(guī)劃有了初步的認識。為以后研發(fā)工作打下堅實的基礎,積累寶貴
14、的經(jīng)驗。 2.2 通信系統(tǒng)概述與組成通信系統(tǒng)(Communication System)是用以完成信息傳輸過程的技術系統(tǒng)的總稱。現(xiàn)代通信系統(tǒng)主要借助電磁波在自由空間的傳播或導引媒體中的傳輸機理來實現(xiàn),前者成為無線通信系統(tǒng),后者成為有線通信系統(tǒng)。由于人們對通信容量要求越來越高,對通信的業(yè)務要求越來越多樣化,所以通信系統(tǒng)正迅速向著寬帶化方向發(fā)展,而光纖通信系統(tǒng)將在通信網(wǎng)中發(fā)揮越來越重要的作用2。通信是將信息從發(fā)信者傳遞給在另外一個時空點的收信者。通信流程可用下圖2-1所示基本模型圖來表示。整個流程是由信源、發(fā)送設備、信道(或傳輸媒質)、接收設備和收信者(信宿)五部分組成。 圖2-1 通信系統(tǒng)的基本
15、模型(1) 信源信源是信息的產生者或信息的形成者。根據(jù)信源所產生信號的性質不同,可分為模擬信源和離散信源。(2)發(fā)送設備發(fā)送設備的基本功能是將信源和傳輸媒介匹配起來,即將信源產生的消息信號變換為有利于傳送的信號形式送往傳輸媒介。(3)信道信道是指信號傳輸?shù)拿浇?,信號是?jīng)過信道傳送到接收設備的。在信號傳輸過程中,必然會引入發(fā)送設備、接收設備和傳輸媒介的熱噪聲和各種干擾和衰減,及信號在信道中傳輸時,會產生信道噪聲。(4)接收設備接收設備的主要作用是將來自信道的帶有干擾的發(fā)送信號加以處理,并從中提取原始信息,完成發(fā)送變換過程的逆變換解調和譯碼。(5)信宿信宿是將復原的原始信號轉換成相應的消息。2.3
16、 通信仿真通信仿真是衡量通信系統(tǒng)性能的工具。實際的通信系統(tǒng)是一個功能結構相當復雜的系統(tǒng),對這個系統(tǒng)作出的任何改變都可能影響到整個系統(tǒng)的性能和穩(wěn)定。因此,在對原有的通信系統(tǒng)作出改進或建立一個新系統(tǒng)之前,通常對這個系統(tǒng)進行建模和仿真,通過仿真結果衡量方案的可行性,從中選擇最合理的系統(tǒng)配置和參數(shù)設置,然后在應用到實際系統(tǒng)中,這個過程就叫通信仿真2。通信系統(tǒng)仿真一般分為3個步驟,即仿真建模、仿真實驗、仿真分析。由于仿真過程是一個螺旋式發(fā)展的過程,因此,這3個步驟可能需要循環(huán)執(zhí)行多次之后才能夠獲得令人滿意的仿真結果。(1)仿真建模仿真建模是根據(jù)實際通信系統(tǒng)建立仿真模型,它是整個通信仿真過程中的一個關鍵步
17、驟,因為仿真模型的好壞直接影響著仿真的結果以及仿真結構的真實性和可靠性。仿真模型是對實際系統(tǒng)的一種模擬和抽象。過于簡單的仿真模型會忽略實際系統(tǒng)的細節(jié),在一定程度上會影響仿真結果的可靠性。但過于復雜的仿真模型會產生很多相互因素,從而大大延長仿真時間和增加仿真結果分析的復雜度。因此,仿真模型的建立需要綜合考慮其可行性和簡單性。在仿真建模過程中,可以先建立一個相對簡單的仿真模型,然后再根據(jù)仿真結果和仿真過程的需要逐步增加仿真模型的復雜度。在仿真建模過程中,首先需要分析實際系統(tǒng)存在的問題或設立系統(tǒng)改造的目標,并把這些問題和目標轉化成數(shù)學變量和公式。確定了方針目標后,下一步是獲取實際通信系統(tǒng)的各種運行參
18、數(shù)。在以上工作準備好仿真模型后,就是仿真軟件的選擇了,使用仿真軟件建立好模型后,仿真建模的這一步驟就基本完成了。(2)仿真實驗仿真實驗是一個或一系列針對仿真模型的測試。在仿真實驗過程中,通常需要多次改變仿真模型輸入信號的數(shù)值,以觀察和分析仿真模型對這些輸入信號的反應,以及仿真系統(tǒng)在這個過程中表現(xiàn)出來的性能。在明確了仿真系統(tǒng)對輸入/輸出信號的要求之后,最好把這些設置整理成一份簡單的文檔。(3)仿真分析仿真分析是一個通信仿真流程的最后一個步驟。在仿真過程中,用戶已經(jīng)從仿真過程中獲得了足夠多的關于系統(tǒng)性能的消息,但是這些信息只是一些原始數(shù)據(jù),一般還需要經(jīng)過數(shù)值分析和處理才能獲得衡量系統(tǒng)性能的尺度,從
19、而獲得對仿真性能的一個總體評價。仿真分析并不一定意味著通信仿真過程的完全結束。如果仿真分析得到的結果打不到預期的目標,用戶還需要重新修改通信仿真模型,這時候仿真分析就成為了一個新的循環(huán)的開始2.4 Simulink仿真及工作原理Simulink是MATLAB提供的用于對動態(tài)系統(tǒng)進行建模、仿真和分析的工具包。Simulink提供了專門用于顯示輸出信號的模塊,可以在仿真過程中隨時觀察仿真結果。同時,通過Simulink的存儲模塊,仿真數(shù)據(jù)可以方便地以各種形式保存到工作空間或文件中,以供用戶在仿真結束后對數(shù)據(jù)進行分析和處理。另外Simulink把具有等級結構的子系統(tǒng),因此具有內在的模塊化設計要求?;?/p>
20、于以上優(yōu)點,Simulink作為一種通用的仿真建模工具,廣泛用于通信仿真、數(shù)字信號處理、機械控制和虛擬現(xiàn)實等領域中2。作為一款專業(yè)仿真軟件,Simulink具有以下特點:·基于矩陣的數(shù)值計算;·高級編程語言已經(jīng)可視化的圖形操作界面;·包含各領域的仿真工具箱,使用方便快捷并可以擴展;·豐富數(shù)據(jù)的I/O接口;·提供與其他高級語言的接口;·支持多平臺(PC/UNIX)根據(jù)輸出信號與輸入信號的關系,Simulink提供三種類型的模塊:連續(xù)模塊、離散模塊和混合模塊。連續(xù)模塊是指輸出信號隨著輸入信號發(fā)生連續(xù)變化的模塊;離散模塊則是輸出信號以固定間
21、隔變化的模塊。對于連續(xù)模塊,Simulink采用積分方式計算輸出信號的數(shù)值,因此,連續(xù)模塊主要涉及數(shù)值的計算及其積分。離散模塊的輸出信號在下一個抽樣到來之前保持恒定,這時候Simulink只需要以一定的間隔計算輸出信號的數(shù)值?;旌夏K是根據(jù)輸入信號的類型來確定輸出信號類型的,它既能差生連續(xù)輸出的信號,也能夠產生離散輸出信號。Simulink仿真包括兩個階段:初始化階段和模型執(zhí)行階段。(1) 初始化階段在初始化階段,Simulink內部主要完成以下工作。·模型參數(shù)傳給MATLAB進行估值,得到的數(shù)值結果將作為模型的實際參數(shù)。·展開模型的各個層次,每一個非條件執(zhí)行的子系統(tǒng)被它包
22、含的模塊代替。·模型中模塊按更新的次序進行排序。·決定模型由無顯示設定的信號屬性。·決定所有無顯示設定才采樣的時間的模塊的采樣時間。·分配和初始化用于儲存每個模塊的狀態(tài)和輸入當前值的存儲空間。完成以上工作后就可以進行下一步工作了,也就是模塊執(zhí)行階段(2) 模塊執(zhí)行階段一般模型是使用數(shù)值積分來進行仿真的,所運用的仿真解法器(仿真算法)依賴于模型提供它的連續(xù)積分能力。計算微分可分為以下兩步來進行。首先,按照排列所確定的次序計算每個模塊的輸出。然后,根據(jù)當前時刻的輸入和狀態(tài)來決定狀態(tài)的微分;得到微分向量后再把它返回給解法器;后者用它來計算下一個采樣點的狀態(tài)向量
23、。一旦新的狀態(tài)向量計算完畢,被采樣的數(shù)據(jù)模塊和接收模塊才被更新。在仿真開始時,模型設定待仿真系統(tǒng)的初始狀態(tài)和輸出。在每個時間步中,Simulink計算系統(tǒng)的輸入、狀態(tài)和輸出,并更新模塊來反映計算出的值。在仿真結束時,模型得出系統(tǒng)的輸入、狀態(tài)和輸出。在每個時間步中,Simulink所采取的動作依次如下:(1)按照排列好的次序更新模型中的輸出。Simulink通過調用模塊的輸出函數(shù)計算模塊的輸出。Simulink只把當前值、模塊的輸入以及狀態(tài)量傳給這些函數(shù)計算模塊的輸出。對于離散系統(tǒng),Simulink只有在當前時間是模塊采樣時間的整數(shù)倍時,才會更新模塊的輸出。(2)按照排列好的次序更新模塊中模塊的
24、狀態(tài)。Simulink計算一個模塊的離散狀態(tài)的方法是調用模塊的離散狀態(tài)更新函數(shù)。而對于連續(xù)狀態(tài),則對連續(xù)狀態(tài)的微分進行數(shù)值積分來獲得當前的連續(xù)狀態(tài)。(3)檢查函數(shù)連續(xù)狀態(tài)的不連續(xù)點。Simulink使用過零檢測來檢測連續(xù)狀態(tài)的不連續(xù)點。(4)計算下一個仿真時間步的時間。這是通過調用模塊獲得下一個采樣時間函數(shù)來完成的。第3章 信源編碼3.1 A律律編碼特性信源編碼也稱為量化或信號格式化,它一般是為了減少冗余度或為后續(xù)的處理做準備而進行的數(shù)據(jù)處理。在Simulink中,包含了A律編碼、律編碼等,這里分別進行介紹。3.1.1 A律編碼如果輸入信號為x,輸出信號為y,則A律壓縮滿足式3-1。sgn(x
25、) (3-1) sgn(x) 式中,A為A律壓縮參數(shù),最常采用的A值為87.6;V為輸入信號的峰值;log為自然對數(shù);sgn函數(shù)當輸入為正時,輸出1,當輸出為負時,輸出0。模塊的輸入并無限制。如果輸入為向量,則向量中的每一個分量將被單獨處理7。A律壓縮編碼模塊及其參數(shù)及其設定框如圖3-1所示。A律壓縮編碼模塊中包含兩個參數(shù):A value:用于指定濃縮參數(shù)A的值Peak signal magnitude:用于指定能輸入信號的峰值V。3.1.2 律編碼和A律壓縮編碼類似,律壓縮編碼中如果輸入信號為x,輸出信號為y,則律壓縮滿足式3-2。 sgn(x) (3-2)式中,為律壓縮參數(shù);V為輸入信號的
26、峰值;log為自然對數(shù);sgn函數(shù)當輸入為正時,輸出1,當輸入為負時,輸出0模塊的輸入并無限制。如果輸入為向量,則向量中的每一個分量將會被單獨處理7。律壓縮編碼中包含兩個參數(shù):mu value:用于指定律壓縮參數(shù)的值Peak signal magnitude:用于指定能輸入信號的峰值V,也是輸出信號的峰值。3.1.3 A律13折線13段折線的壓縮特性如下圖3-3所示。過程為:第一步:把x(x>0 部分)劃分為不均勻的8段。第一分點取在V/2處,然后每段都是剩下部分的1/2。;依次取第八段為VV/2,第七段為V/2V/4;第一段為V/1280。第二步:把每段均勻劃分為16等份,每一份表示一
27、個量化級,顯然8段共16x8=128= 個量化級,需要二進制7位編碼表示??梢钥闯雒總€量化級是不均勻的。在小信號的量化臺階很小,使小信號時量化噪聲減小。如果按均勻量化計算,以最小臺階 為單位,最大信號需用L=128X16=2048個量化級表示,既需要11位編碼。這樣非均勻編碼使小信號量化臺階縮小了16倍,相當于小信號信噪比改善了20dB。第三步:把y軸均勻劃分為8段,每段均勻分為16分。這樣y也分為128個量化級,與x軸的128個量化級對應。因此,壓擴特性各段的斜率 是不同的。第一段斜率 其他段為7: 以上分段為x取正值時的情況。而x取負值時,壓擴特性與x取正值成奇對稱。在正8段和負8段中,正
28、1,2段和負1,2段斜率相同,合為一段。所以原來的16段折線變?yōu)?3段折線。圖3-1 13折線A律壓擴特性實際中,往往都采用近似于A律函數(shù)規(guī)律的13折線(A=87.6)的壓擴特性。這樣,它基本上保持了連續(xù)壓擴特性曲線的優(yōu)點,又便于用數(shù)字電路實現(xiàn)。折線形成的方法是把x軸的0-1分成8個不均勻段,而y軸的01均勻地分成八段,與x軸的八段一一對應。至于當x在-10及y在-10的第三象限中,壓縮特性的形狀與以上討論的第一象限壓縮特性的形狀相同,且它們以原點為奇對稱,所以負方向也有八段直線,合起來共有16個線段。由于正向一、二兩段和負向一、二兩段的斜率相同,這四段實際上為一條直線,因此正、負雙向的折線總
29、共由13條直線段構成,故稱其為13折線。13折線和A律(A=87.6)壓擴特性的近似程度,可以由表3-1看出:表 3-1 A律13折線y01/82/83/84/85/86/87/81x101/1281/60.61/30.61/15.41/7.791/3.931/1.981x201/1281/641/321/161/81/41/21段落12345678斜率161684211/21/4u律15折線形成如下。把y坐標從0到1之間劃分為八個均勻等分,對應于分界點y坐標i/8的x坐標,根據(jù)律壓縮特性得到(u255),共14個斜率發(fā)生變化的分界點,將其分成15段直折線。其具體值可見表3-2: 表 3-2
30、u律15折線i012345678y=i/801/82/83/84/85/86/87/81x=(2i-1)/25501/2553/2557/25515/25531/25563/255127/2551相對斜率8/255(y/x)11/21/41/81/161/321/641/128段落123456783.2 A律、u律的特性比較畫出A律13折線近似的壓縮特性曲線,與A=87.56對應的壓縮特性曲線進行比較。2 畫出u律15折線近似的壓縮特性曲線,與u=255對應的壓縮特性曲線進行比較。MATLAB程序:clear allclose alldx=0.01;x=-1:dx:1;u=255;A=87.6
31、;% u Law yu=sign(x).*log(1+u*abs(x)/log(1+u);% A Lawfor i=1:length(x)if abs(x(i)<1/Aya(i)=A*x(i)/(1+log(A);elseya(i)=sign(x(i)*(1+log(A*abs(x(i)/(1+log(A);endendfigure(1)plot(x,yu,'k.:')title('u Law')xlabel('x')ylabel('y')grid onhold onxx=-1,-127/255,-63/255,-31/25
32、5,-15/255,-7/255,-3/255,-1/255,1/255,3/255,7/255,15/255,31/255,63/255,127/255,1;yy=-1,-7/8,-6/8,-5/8,-4/8,-3/8,-2/8,-1/8,1/8,2/8,3/8,4/8,5/8,6/8,7/8,1;plot(xx,yy,'r')stem(xx,yy,'b-.')legend('u 律壓縮特性','折線近似u 律',4)figure(2)plot(x,ya,'k.:')title('A Law')x
33、label('x')ylabel('y')grid onhold onxx=-1,-1/2,-1/4,-1/8,-1/16,-1/32,-1/64,-1/128,1/128,1/64,1/32,1/16,1/8,1/4,1/2,1;yy=-1,-7/8,-6/8,-5/8,-4/8,-3/8,-2/8,-1/8,1/8,2/8,3/8,4/8,5/8,6/8,7/8,1;plot(xx,yy,'r')stem(xx,yy,'b-.')legend('A 律壓縮特性','折線近似A 律',4)圖3-2
34、 A律13折線圖33 律15折線 如圖3-2所示,13折線各段落的分界點A=87.56曲線十分逼近,并且兩特性起始段的斜率均為16,這就是說,13折線非常逼近A=87.56的對數(shù)壓縮特性。在A律特性分析中可以看出,取A=87.56有兩個目的:一是使特性曲線原點附近的斜率湊成16;二是使13折線逼近時,x的八個段落量化分界點近似于按2的冪次遞減分割,有利于數(shù)字化。如圖3-3所示,15折線非常逼近=225的對數(shù)壓縮特性。第4章 信道編碼及譯碼4.1 卷積碼的概念介紹卷積碼是一種性能優(yōu)越的信道編碼。(n ,k ,N) 表示把k個信息比特編成n個比特,N 為編碼約束長度,說明編碼過程中互相約束的碼段個
35、數(shù)。卷積碼編碼后的n 個碼元不僅與當前組的k 個信息比特有關,而且與前N - 1 個輸入組的信息比特有關6。編碼過程中相互關聯(lián)的碼元有N ×n 個。R = k/ n 是卷積碼的碼率,碼率和約束長度是衡量卷積碼的兩個重要參數(shù)1。4.2 卷積碼的編碼過程介紹以(2,1,4)為例,如圖4-1所示,詳細介紹卷積碼的編碼流程。圖4-1 (2,1,4)卷積碼編碼器方框圖 (4-1) (4-2) 由(4-1)式和(4-2)式可以看出:輸出的數(shù)據(jù)位V1,V2和寄存器D0,D1,D2,D3之間的關系。根據(jù)模2加運算特點可以得知奇數(shù)個1模2運算后結果仍是1,偶數(shù)個1模2運算后結果是0。在實際應用中,根據(jù)
36、模2加的特點,將所要處理的數(shù)據(jù)直接相加后除2求余,這樣得到的結果和模2 運算結果相同。這樣可以得到: (4-3) (4-4)編碼程序流程圖圖4-2 卷積碼編碼程序流程圖4.3 卷積碼譯碼過程的概述卷積碼的譯碼方式有三種3:(1)1963年由梅西(Massey)提出的門限譯碼,這是一種基于碼代數(shù)結構的代數(shù)譯碼,類似于分組碼中的大數(shù)邏輯譯碼;(2) 1963年由費諾(Fano)改進的序列譯碼,這是基于碼的樹狀圖結構上的一種準最佳的概率譯碼;(3) 1967年由維特比提出的Viterbi算法。這是基于碼的網(wǎng)(trellis)圖基礎上的一種最大似然譯碼算法,是一種最佳的概率譯碼方法8。其中,代數(shù)譯碼,
37、利用編碼本身的代數(shù)結構進行譯碼,不考慮信道本身的統(tǒng)計特性。該方法的硬件實現(xiàn)簡單,但性能較差,其中具有典型意義的是門限譯碼。另一類是概率譯碼,這種譯碼通常建立在最大似然準則的基礎上。由于計算是用到了信道的統(tǒng)計特性.因而提高了譯碼性能,但這種性能的提高是以增加硬件的復雜度為代價的。常用的概率譯碼方法有維特比譯碼和序列譯碼。維特比譯碼具有最佳性能,但硬件實現(xiàn)復雜;門限譯碼性能最差,但硬件簡單;序列譯碼在性能和硬件方面介于維特比譯碼和門限譯碼之間。 (1)譯碼原理: 卷積碼譯碼方法主要有兩類:代數(shù)譯碼和概率譯碼。代數(shù)譯碼主要根據(jù)碼本身的代數(shù)特性進行譯碼,而信道的統(tǒng)計特性并沒有考慮在內。目前,代數(shù)譯碼的
38、主要代表是大數(shù)邏輯解碼。該譯碼方法對于約束長度較短的卷積碼有較好的效果,并且設備較簡單。概率譯碼,又稱最大似然譯碼,是基于信道的統(tǒng)計特性和卷積碼的特點進行計算。在現(xiàn)代通信系統(tǒng)中,維特比譯碼是目前使用最廣泛的概率譯碼方法。 維特比譯碼算法基本原理是:將接收到的信號序列和所有可能的發(fā)送信號序列比較,選擇其中漢明距離最小的序列認為是當前發(fā)送序列。 具體步驟如下:1.從時間單元j=m開始,計算進入每個狀態(tài)的路徑的漢明距離。存儲每個狀態(tài)的路徑(即幸存路徑)以及最小漢明距離。這里存儲的路徑通常是該狀態(tài)所對應的幸存路徑上的前一狀態(tài)值。2.j增加1。計算進入每一個狀態(tài)所有路徑的漢明距離。這個漢明距離是進入該狀
39、態(tài)的分支度量加上在與該分支相連的前一步的幸存路徑的度量值。對于每個狀態(tài),共有 個這樣的度量值,從中選出并存儲最優(yōu)路徑(漢明距離最小的路徑)并保存最小漢明距離。3.如果j<L+m.重復步驟2,知道結束。在整個過程中,這樣就可以得到一條漢明距離最小的最優(yōu)路徑。同樣以(2,1,4)為例,具體分析維特比譯碼過程。維特比譯碼的前提是建立合適的網(wǎng)格圖,以便尋找最優(yōu)路徑?;蛘呖梢哉J為,維特比譯碼的關鍵是尋找最優(yōu)路徑。在實際的譯碼操作過程中,怎樣建立網(wǎng)格以及建立網(wǎng)格后的路徑的選擇是譯碼的關鍵問題。圖4-3 (2,1,4)碼狀態(tài)轉移圖如圖所示,圖4-3為(2,1,4)碼的狀態(tài)轉移圖,圖4-5為 (2,1,
40、4)碼的網(wǎng)格圖。注意:由于D1D2D3表示的順序不同,所產生的網(wǎng)格圖和狀態(tài)轉移圖也不同,并且譯碼過程是根據(jù)網(wǎng)格圖實現(xiàn),所以本文所以涉及的維特比譯碼方法具有一定的特殊性,但是整體過程還是具有研究價值。 (2)編程實現(xiàn) 維特比譯碼可分為網(wǎng)格圖建立,尋找最優(yōu)路徑,譯碼這三部分。譯碼程序流程如圖4-4所示:圖4-4譯碼流程圖 網(wǎng)格圖建立根據(jù)圖4-5所示的(2,1,4)碼的網(wǎng)格圖,可以發(fā)現(xiàn)D1D2D3決定了從000111的8個狀態(tài)。并且進一步觀察網(wǎng)格圖可以發(fā)現(xiàn)從狀態(tài)000-011是由輸入的信息位0產生,從狀態(tài)100-111是由輸入的信息位1產生。此外,以001狀態(tài)為例,可以看出狀態(tài)001是由狀態(tài)010和
41、狀態(tài)011產生。由上面可知,假設當前狀態(tài)為i,那么在前一時刻中,產生狀態(tài)i的兩個狀態(tài)是2*i和2*i+1。根據(jù)i是否小于4,來判斷狀態(tài)i是由信息位0還是信息位1生成。進一步可以推知指向狀態(tài)i的前一時刻的兩個狀態(tài)生成的碼組,這樣便于以判斷漢明距離。圖4-5 (2,1,4)碼網(wǎng)格圖 尋找最優(yōu)路徑 網(wǎng)格圖建立之后,根據(jù)接收碼組和網(wǎng)格圖中生成的碼組比較,判斷最優(yōu)路徑。假設某一時刻的狀態(tài)i,首先判斷前一時刻所有狀態(tài)中,是哪兩個狀態(tài)指向當前狀態(tài)i;其次,根據(jù)這兩個指向當前狀態(tài)i的狀態(tài)生成的碼組和前一時刻接收的碼組比較,保留漢明距離最小的那條路徑以及到達狀態(tài)i時的最小漢明距離。下一時刻,同樣操作,但是保留的
42、最小漢明距離是前面最小漢明距離累加。在所有的接收碼組處理完之后,會得到一組漢明距離以及所對應的最優(yōu)路徑。比較選擇出最小的漢明距離,那么該最小漢明距離所對應的路徑即為最優(yōu)路徑。 譯碼如圖4-5所示,其中紅線表示計算得到的最優(yōu)路徑。觀察其變化規(guī)律,可以發(fā)現(xiàn),假設i時刻的狀態(tài)和第(i+1)時刻比較得知,若第(i+1)時刻小于第i時刻,那么對應代表實際信息中0;若大于,則為1。然后逐次比較譯出信息值。4.4 卷積碼的最大似然譯碼卷積碼概率譯碼的基本思路是4:以接收碼流為基礎,逐個計算它與其他所有可能出現(xiàn)的、連續(xù)的網(wǎng)格圖路徑的距離,選出其中可能性最大的一條作為譯碼估值輸出。概率最大在大多數(shù)場合可解釋為距
43、離最小,這種最小距離譯碼體現(xiàn)的正是最大似然的準則。卷積碼的最大似然譯碼與分組碼的最大似然譯碼在原理上是一樣的,但實現(xiàn)方法上略有不同。3主要區(qū)別在于:分組碼是孤立地求解單個碼組的相似度,而卷積碼是求碼字序列之間的相似度?;诰W(wǎng)格圖搜索的譯碼是實現(xiàn)最大似然判決的重要方法和途徑。用格圖描述時,由于路徑的匯聚消除了樹狀圖中的多余度,譯碼過程中只需考慮整個路徑集合中那些使似然函數(shù)最大的路徑。如果在某一點上發(fā)現(xiàn)某條路徑已不可能獲得最大對數(shù)似然函數(shù),就放棄這條路徑,然后在剩下的“幸存”路徑中重新選擇路徑。這樣一直進行到最后第L級(L為發(fā)送序列的長度)。由于這種方法較早地丟棄了那些不可能的路徑,從而減輕了譯碼
44、的工作量,Viterbi譯碼正是基于這種想法。 對于(n, k, K )卷積碼,其網(wǎng)格圖中共2kL種狀態(tài)。由網(wǎng)格圖的前K-1條連續(xù)支路構成的路徑互不相交,即最初2k_1條路徑各不相同,當接收到第K條支路時,每條路徑都有2條支路延伸到第K級上,而第K級上的每兩條支路又都匯聚在一個節(jié)點上。在Viterbi譯碼算法中,把匯聚在每個節(jié)點上的兩條路徑的對數(shù)似然函數(shù)累加值進行比較,然后把具有較大對數(shù)似然函數(shù)累加值的路徑保存下來,而丟棄另一條路徑,經(jīng)挑選后第K級只留下2K條幸存路徑。選出的路徑同它們的對數(shù)似然函數(shù)的累加值將一起被存儲起來。由于每個節(jié)點引出兩條支路,因此以后各級中路徑的延伸都增大一倍,但比較它
45、們的似然函數(shù)累加值后,丟棄一半,結果留存下來的路徑總數(shù)保持常數(shù)。由此可見,上述譯碼過程中的基本操作是,“加-比-選”,即每級求出對數(shù)似然函數(shù)的累加值,然后兩兩比較后作出選擇。有時會出現(xiàn)兩條路徑的對數(shù)似然函數(shù)累加值相等的情形,在這種情況下可以任意選擇其中一條作為“幸存”路徑。卷積碼的編碼器從全零狀態(tài)出發(fā),最后又回到全零狀態(tài)時所輸出的碼序列,稱為結尾卷積碼。因此,當序列發(fā)送完畢后,要在網(wǎng)格圖的終結處加上(K-1)個己知的信息作為結束信息。在結束信息到來時,由于每一狀態(tài)中只有與已知發(fā)送信息相符的那條支路被延伸,因而在每級比較后,幸存路徑減少一半。因此,在接收到(K-1)個己知信息后,在整個網(wǎng)格圖中就
46、只有唯一的一條幸存路徑保留下來,這就是譯碼所得的路徑。也就是說,在己知接收到的序列的情況下,這條譯碼路徑和發(fā)送序列是最相似的。由上述可見,Viterbi譯碼過程并不復雜,譯碼器的運行是前向的、無反饋的。它接收一段,計算一段,選擇一段最可能的碼段(分支),從而達到整個碼序列是一個有最大似然函數(shù)的序列。傳輸序列很長時,判決需要的長延時和相當大的存儲量是我們無法承受的。因此,實際應用中采用截短Viterbi算法,即不需要接收到所有序列才進行判決,當譯碼器接收并處理完了固定的T (T <<L)個碼段后,在接收第(T+1)個碼段的時候,它將比較前T級的路徑量度,然后從中選取最小者,由此得到與
47、最小量度對應的幸存路徑,將此路徑對應的T個碼段判決輸出。T稱為截短深度,T選的足夠大時,則對譯碼器輸出的譯碼錯誤概率影響很小。4.5 輸入與同步單元輸入同步單元為譯碼器提供正確的支路同步,每次正確地輸出屬于一條支路的n個比特。顯然,當支路定時失步時,譯碼過程中將會出現(xiàn)大量的差錯,只要能檢測出這種狀態(tài),即能有效地調整支路同步。一種方法是監(jiān)視路徑量度的增長率;另一種方法是檢查網(wǎng)格圖的路徑合并性質。當譯碼器出現(xiàn)失步時,網(wǎng)格圖中幸存路徑合并的速率比同步時慢得多9。每當接收到一條新支路的一組n個量度值(硬判決時為n比特),支路量度計算單元就對網(wǎng)格圖中每一條不同的支路確定一新的量度值。對R=k/n碼來說,
48、每次將有2個不同的量度值。在軟判決Viterbi譯碼時,支路量度值不但隨支路不同而異,而且還與接收信號的量化值有關。在此單元中,支路量度與以前所存儲的路徑量度相加,然后對匯聚到同一節(jié)點處的支路進行路徑量度比較,選擇一條路徑量度最小的路徑保留下來。一種最佳的也是最常用的方法是基于最大似然譯碼。對于R=1/n卷積碼而言,每接收一組新的支路信息,在各個狀態(tài)的路徑存儲器中存入經(jīng)“加一比一選”電路選出的一位假想信息比特,同時將最先存入路徑存儲器的一位比特輸出給判決單元。因此,每接收到一條新支路,路徑存儲器就更新一次它所存儲的假想信息序列10。第5章 卷積碼的仿真5.1 Simulink仿真模塊的參數(shù)設置
49、以及重要參數(shù)的意義在建立如圖5-1的仿真模塊后,對各個模塊分別一一進行設置后并運行仿真。圖5-1貝努利二進制序列產生器模塊的設置框圖如上圖5-1是貝努利二進制序列產生器模塊的設置框圖,其中參數(shù)有三項:第一項probability of a zero取值為0.5,表示0和1出現(xiàn)的概率相等。Initial seed 表示隨機種子數(shù)。不同的隨機種子數(shù)將產生不同的二進制序列,特定的隨機種子數(shù)可以產生一個特定的二進制序列。Sample time=0.0001表示抽樣時間,也就是說輸出序列中每個二進制符號的持續(xù)時間是0.0001秒。Samples per frame 表示每幀的抽樣數(shù)用來確定每幀的抽樣點的
50、數(shù)目。Frame-based outputs 是用來確定幀的輸出格式。圖5-2 BPSK調制器模塊的設置框圖如上圖5-2是BPSK調制器模塊的設置框圖中有二項,第一項是Phase offset(rad)(相位偏移),這里設置為0。第二項是Samples per symbol(輸出信號采樣數(shù))這里設置為1。圖5-3卷積編碼器模塊的設置框圖如上圖5-3是卷積編碼器模塊的設置框圖。其中Trellis structure( Trellis結構)中通過poly2trellis()函數(shù)把卷積碼的約束長度,生成多項式以及反饋多項式轉換成Trellis結構的形式。如上面是(2,1,3)卷積碼的參數(shù)設置。(3,
51、6,7)說明約束長度是3,生成多項式是(八進制)6和7,無反饋多項式。后面還要用到的(2,1,7)的參數(shù)是(7,171,133)是約束長度是7,生成多項式是171和133。Reset是復位方式,這里設置為on each frame,它表示卷積碼編碼器在每幀數(shù)據(jù)開始之前自動對寄存器復位。圖5-4誤比特統(tǒng)計模塊的設置框圖如上圖5-4是誤比特統(tǒng)計模塊的設置框圖。其中Receive delay表示的是接收延遲,意思是在通信接收的端口需要對已經(jīng)接收到的信號進行解調,解碼或解交織而帶來一定的延遲,使得到達誤碼統(tǒng)計模塊接收端的信號滯后于發(fā)送端的信號。為了補償這種延遲這里設置為0。Computation de
52、lay表示計算延遲,在仿真過程中,有時間需要忽略最初的若干個輸入數(shù)據(jù)就通過計算延遲來實現(xiàn)。這里設置為0。Computation mode表示計算模式,幀的計算模式(Entire frame),誤碼統(tǒng)計模塊對發(fā)送端和接收端的所有輸入數(shù)據(jù)進行統(tǒng)計。output data是輸出數(shù)據(jù),這里設置為Port的意思是表示把統(tǒng)計數(shù)據(jù)從端口中輸出。workspace表示把統(tǒng)計數(shù)據(jù)輸出到工作區(qū)。圖5-5數(shù)據(jù)選通器模塊的設置框圖如上圖5-5是數(shù)據(jù)選通器模塊的設置框圖。對應圖4-1看Elements是指輸出端口的個數(shù)為1。Input port width表示輸入端口的個數(shù)為3。圖5-6卷積碼譯碼器模塊的設置框圖如上圖
53、5-6是卷積碼譯碼器模塊的設置框圖。Trellis structure: Trellis結構(前面已說明)。Decision type是指判決類型,有3種:(1)Unquantized(非量化)(2)Hard Decision(硬判決),(3)Soft Decision(軟判決) Traceback depth表示反饋深度。它的值會影響譯碼精度和解碼延遲。Operation mode是指操作模式。在Truncated模式下,解碼器在每幀數(shù)據(jù)結束的時候總能恢復到全0狀態(tài),它與卷積編碼器的on each frame復位方式相對應。5.2 簡化維特比譯碼器的仿真為了驗證譯碼模塊的正確性,便讓其進行最
54、簡模式運行,為此,臨時設計一個簡化信號系統(tǒng),關閉信道噪聲,不進行二進制相位的調制與解調,去掉誤比特率統(tǒng)計模塊。為了能看到輸入二進制碼和譯碼輸出二進制碼,增加了兩個To Workspace(結果輸入到工作區(qū)模塊),整個系統(tǒng)模塊框圖如圖5-7所示。圖5-7 簡化譯碼模塊框圖同時,為了便于觀察,將Bernoulli Binary Generator(貝努利二進制序列產生器)的參數(shù)設置為如表5-1所示,以產生簡單的15位二進制隨機碼,也將Viterbi Decoder的Trceback depth值改為5。將To Workspace1模塊和To Workspace模塊的變量名分別設置為pdata和da
55、ta。表5-1 簡化譯碼模塊的Bernoulli Binary Generator的參數(shù)設置參數(shù)名稱參數(shù)值模塊類型Bernoulli Binary GeneratorProbability of zero0.5Initial seed5Sample time10Frame-based outputCheckedSamples per frame5運行仿真(),在matlab的命令窗口中輸入pdata和data分別得到相應的二進制序列。對所得序列分別截圖,可得如圖5-8所示結果??梢姡g碼器能夠正確進行譯碼,所設計簡化譯碼器正確,因而,從理論上可推導,原設計正確。圖5-8 簡化譯碼器仿真結果通過對convh.mdl文件進行仿真,證明設計正確,但因所得二進制碼太多,此處便不進行截圖證明。第6章 卷積碼譯碼器的誤碼率分析6.1信噪比與誤碼率的關系編制M文件convolutionh.m,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆山東省臨沭縣青云鎮(zhèn)中心中學英語七年級第二學期期中檢測試題含答案
- 2025年生態(tài)修復植被重建技術在城市生態(tài)修復生態(tài)效益分析中的應用報告
- 2025年智慧港口自動化裝卸設備產業(yè)政策解讀報告
- 2025年元宇宙社交平臺虛擬社交平臺穩(wěn)定性與用戶體驗分析報告
- 2025年智能制造專項補貼資金申請政策解讀與應用報告
- 2025年工業(yè)互聯(lián)網(wǎng)軟件定義網(wǎng)絡SDN在智能電網(wǎng)調度優(yōu)化報告
- 2025年醫(yī)藥企業(yè)市場拓展策略與品牌建設報告
- 零售私域流量運營與用戶參與度提升策略優(yōu)化報告001
- 再障的護理課件模板
- 2025年互聯(lián)網(wǎng)金融科技服務平臺在金融科技創(chuàng)新競賽中的案例分析報告
- 2025華陽新材料科技集團有限公司招聘(500人)筆試參考題庫附帶答案詳解
- GA 1812.2-2024銀行系統(tǒng)反恐怖防范要求第2部分:數(shù)據(jù)中心
- 《肉芽腫性血管炎》課件
- 2025年入黨積極分子培訓考試題庫及答案(二)
- 初中體育《足球腳內側運球》課件大綱
- 青海省西寧市2025屆九年級下學期中考一模地理試卷(含答案)
- 2023+ESC急性冠狀動脈綜合征管理指南解讀 課件
- 心絞痛培訓課件
- 保險行業(yè)發(fā)展趨勢和機遇
- 注塑加工廠管理
- 邊坡作業(yè)安全教育培訓
評論
0/150
提交評論