Matlab編譯碼器仿真與設計方案_第1頁
Matlab編譯碼器仿真與設計方案_第2頁
免費預覽已結束,剩余31頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、封面作者: PanHongliang僅供個人學習摘要本課程設計主要解決信源編碼和信道編碼中的卷積碼的數字調制,信源輸出的模擬信號要轉換成數字信號, 就需要對信源信道進行編碼譯碼操作, 并通 過 Simulink軟件進行設計與仿真,進行誤碼率分析。卷積碼是一種性能優(yōu)越的 信道編碼。它的編碼器和譯碼器都比較容易實現,同時它具有較強的糾錯能 力。隨著糾錯編碼理論研究的不斷深入,卷積碼的實際應用越來越廣泛。本文 簡明地介紹了卷積碼的編碼原理和譯碼原理。并在SIMULIN 模塊設計中,完成了對卷積碼的編碼和譯碼以及誤比特統(tǒng)計整個過程的模塊仿真。最后,通過在 仿真過程中分別改變卷積碼的重要參數來加深理解卷

2、積碼的這些參數對卷積碼 的誤碼性能的影響。經過仿真和實測,并對測試結果作了分析。得出了以下三 個結論:(1) 當改變卷積碼的碼率時,系統(tǒng)的誤碼性能也將隨之發(fā)生變化。(2) 對于碼率一定的卷積碼,當約束長度N 發(fā)生變化時,系統(tǒng)的誤碼性能 也會隨之發(fā)生變化。(3) 回溯長度也會不同程度上地影響誤碼性能。關鍵詞 : 編譯碼器; simulink ;設計與仿真 卷積碼;碼率ABSTRACTThis course is desig ned to solve source cod ing and cha nnel cod ing convo lutional codes in the digital mo

3、dulati on, the source output an alog sig nals into digital signals to be conv erted to the n eed for the source and cha nnel cod ing and decod ingoperati ons, and through the Simuli nk software desig n and simulati on, and the bit errorrate an alysis. Convo luti onal code is a superior performa nce

4、of cha nnel cod in g. Its encoder and decoder are relatively easy to impleme nt, and it has a stro ng error correct ioncapability. Error-correcting coding theory research with the deepening of the practicalapplicati on of convo luti onal codes more widely. This con cise in troduct ion to the princip

5、les of convo lutio nal cod ing and decod ing prin ciples. SIMULINK module in thedesig n, completed the cod ing and decodi ng convo luti onal code and bit error statisticsof the whole process simulatio n module. Fin ally, cha nges in the simulatio n process ofconvo lutio nal codes, respectively, to d

6、eepe n our un dersta nding of the importa ntparameters of these parameters on convo luti onal codes convo luti onal codes errorperforma nce. The simulati on and measureme nt, and test results are an alyzed.Reached the follow ing three con clusi ons: (1) Whe n the cha nge rate convo luti onalcode, th

7、e system error performa nce will subseque ntly cha nge. (2) For a certa in rateconvo lutio nal codes, whe n the con stra in t le ngth N cha nges, the system BERperforma nce also will be cha nged. (3) back len gth will be affected to vary ing degrees,error performa nce.Keywords: codec。 simulink。 desi

8、gn and simulation of convolutional code目錄第 1 章引言 11.1 課題背景 11.2 國內外研究現狀 11.3 本課題的意義 11.4 本課題的研究方法 2第 2 章 MATLAB 組件介紹及通信系統(tǒng)概述 32.1 MATLAB 與通信仿真的發(fā)展現狀及應用 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.

9、1 卷積碼的概念介紹 154.2 卷積碼的編碼過程介紹154.3 卷積碼譯碼過程的概述164.4 卷積碼的最大似然譯碼194.5 輸入與同步單元 21第 5 章卷積碼的仿真 225.1 Simulink 仿真模塊的參數設置以及重要參數的意義5.2 簡化維特比譯碼器的仿真 26第 6 章卷積碼譯碼器的誤碼率分析 286.1 信噪比與誤碼率的關系 286.2. 不同回溯長度對卷積碼性能的影響 296.3 不同碼率對卷積碼誤碼性能的響 316.4 不同約束長度對卷積碼的誤碼性能影響 32 第 7 章結論 35 參考文獻 36致謝 3722第1章 引言1.1課題背景隨著現代通信的發(fā)展,高速信息傳輸和高

10、可靠性傳輸成為信息傳輸的兩個 主要方面,而可靠性尤其重要。A 律編碼、卩律編碼以及卷積碼以其高速性和可 靠性在實際應用中越來越廣泛。其中 1967 年 Viterbi 譯碼算法的提出,使卷積碼1成為信道編碼中最重要的編碼方式之一 。1.2國內外研究現狀在對 A 律、卩律研究中,隨著數字化技術的發(fā)展,逐步形成了使用折現分段 近似壓擴特性的方法,這類方法簡單且準確,因而獲得了廣泛的應用,并被采 納為相應的國際建議。而在對卷積碼的研究中,其中編碼器較簡單,模式也很 統(tǒng)一。主要是研究提高卷積碼的譯碼速度和可靠度。譯碼算法中最重要的卷積 碼的 Viterbi 算法問世以來,軟件仿真和實現都得到了迅速發(fā)展

11、。目前,利用計 算機仿真 Viterbi 算法,模擬在各種不同情況下卷積編碼時的譯碼性能,尋找 Viterbi 算法的最佳適用信道和不同要求 (如誤碼率 )下最優(yōu)編碼。1.3本課題的意義在信源編碼中,隨著數字化技術的發(fā)展,逐步形成了使用折現分段近似壓 擴特性的方法,這類方法簡單且準確,因而獲得了廣泛的應用,并被采納為相 應的國際建議。在卷積碼中,因為 Viterbi 算法效率高,速度快,結構相對簡單 等特點,被廣泛應用于各種數據傳輸系統(tǒng)。在現代信息處理系統(tǒng)中,需要處理 的信息量越來越大,實時性要求越來越高。為減少對主處理器各種資源的占 用,要求通信模塊方面的大部分工作能獨立完成。因此采用 Vi

12、terbi 譯碼算法具 有非常現實的意義。1.4本課題的研究方法本文通過基于 MATLA 的 SIMULIN 下的模塊對 A 律和卩律碼以及卷積編碼,解 碼進行仿真。通過仿真可以更清楚的認識到卷積碼的編碼,解碼的各個環(huán)節(jié), 并對仿真結果進行了分析。得出卷積碼 Viterbi 譯碼的誤比特性能和回溯長度,碼率,約束長度的關系第2章MATLAB組件介紹及通信系統(tǒng)概述2.1 MATLAB與通信仿真的發(fā)展現狀及應用MATLA 是由美國的 Math Works 公司推出的一種科學計算和工程仿真軟 件,它的名字院子 Matrix Laboratory ,專門以矩陣的形式處理數據。 MATLAB 將高性能的

13、科學計算、結果可視化和編程集中在一個易于操作的環(huán)境中,并提 供大量的內置函數,具有強大的矩陣計算和繪畫功能,是用于科學計算、控制 系統(tǒng)、信息處理等領域分析、仿真和設計工作。目前,在世界范圍內被科研工 作者、工程技術人員和院校師生廣泛應用。Simulink 是 MATLA 中的一種可視化仿真工具,廣泛應用于線性系統(tǒng)、數字控制、非線性系統(tǒng)以及數字信號處理 的建模和仿真中。 Simulink 采用模塊化建模方式,每個模塊都有自己的輸入 / 輸出端口,實現其功能 。本課題能避開硬件系統(tǒng)的不足,巧妙的運用軟件來仿真硬件才能實現的實 驗結果,大大降低了實驗設備要求,節(jié)約了人力和財力,而且有很多的庫函數 可

14、以在實驗時直接調用,避免了用硬件做實驗的局限性??梢愿奖愕淖鲂盘?系統(tǒng)實驗,為教案和研究提供了方便。還能夠鍛煉一個人在面對一個具體的工 程時,遇到問題,分析問題,解決問題的能力;獲得獨立策劃、實施課題,并 按照既定計劃進行開發(fā)的經驗,以及查找相關文獻的能力。通過自己的努力使 得對于 Matlab 有一個全面的、深刻的認識 , 并且對Matlab 做界面的軟件有了一 定的了解,對系統(tǒng)規(guī)劃有了初步的認識。為以后研發(fā)工作打下堅實的基礎,積 累寶貴的經驗。2.2通信系統(tǒng)概述與組成通信系統(tǒng)( Communication System )是用以完成信息傳輸過程的技術系統(tǒng) 的總稱?,F代通信系統(tǒng)主要借助電磁

15、波在自由空間的傳播或導引媒體中的傳輸 機理來實現, 前者成為無線通信系統(tǒng),后者成為有線通信系統(tǒng)。由于人們對通 信容量要求越來越高,對通信的業(yè)務要求越來越多樣化,所以通信系統(tǒng)正迅速 向著寬帶化方向發(fā)展,而光纖通信系統(tǒng)將在通信網中發(fā)揮越來越重要的作用2。通信是將信息從發(fā)信者傳遞給在另外一個時空點的收信者。通信流程可用 下圖 2-1所示基本模型圖來表示。整個流程是由信源、發(fā)送設備、信道(或傳輸媒質)、接收設備和收信者(信宿)五部分組成圖 2-1 通信系統(tǒng)的基本模型( 1) 信源信源是信息的產生者或信息的形成者。根據信源所產生信號的性質不同, 可分為模擬信源和離散信源。(2)發(fā)送設備發(fā)送設備的基本功能

16、是將信源和傳輸媒介匹配起來,即將信源產生的消息 信號變換為有利于傳送的信號形式送往傳輸媒介。(3)信道信道是指信號傳輸的媒介,信號是經過信道傳送到接收設備的。在信號傳輸過程中,必然會引入發(fā)送設備、接收設備和傳輸媒介的熱噪聲和各 種干擾和衰減,及信號在信道中傳輸時,會產生信道噪聲。( 4)接收設備接收設備的主要作用是將來自信道的帶有干擾的發(fā)送信號加以處理,并從 中提取原始信息,完成發(fā)送變換過程的逆變換解調和譯碼。(5)信宿信宿是將復原的原始信號轉換成相應的消息。2.3通信仿真通信仿真是衡量通信系統(tǒng)性能的工具。實際的通信系統(tǒng)是一個功能結構相 當復雜的系統(tǒng),對這個系統(tǒng)作出的任何改變都可能影響到整個系

17、統(tǒng)的性能和穩(wěn) 定。因此,在對原有的通信系統(tǒng)作出改進或建立一個新系統(tǒng)之前,通常對這個 系統(tǒng)進行建模和仿真,通過仿真結果衡量方案的可行性,從中選擇最合理的系 統(tǒng)配置和參數設置,然后在應用到實際系統(tǒng)中,這個過程就叫通信仿真2。通信系統(tǒng)仿真一般分為 3 個步驟,即仿真建模、仿真實驗、仿真分析。由 于仿真過程是一個螺旋式發(fā)展的過程,因此,這 3 個步驟可能需要循環(huán)執(zhí)行多 次之后才能夠獲得令人滿意的仿真結果。(1) 仿真建模仿真建模是根據實際通信系統(tǒng)建立仿真模型,它是整個通信仿真過程中的 一個關鍵步驟,因為仿真模型的好壞直接影響著仿真的結果以及仿真結構的真 實性和可靠性。仿真模型是對實際系統(tǒng)的一種模擬和抽

18、象。過于簡單的仿真模型會忽略實 際系統(tǒng)的細節(jié),在一定程度上會影響仿真結果的可靠性。但過于復雜的仿真模 型會產生很多相互因素,從而大大延長仿真時間和增加仿真結果分析的復雜 度。因此,仿真模型的建立需要綜合考慮其可行性和簡單性。在仿真建模過程 中,可以先建立一個相對簡單的仿真模型,然后再根據仿真結果和仿真過程的 需要逐步增加仿真模型的復雜度。在仿真建模過程中,首先需要分析實際系統(tǒng)存在的問題或設立系統(tǒng)改造的 目標,并把這些問題和目標轉化成數學變量和公式。確定了方針目標后,下一 步是獲取實際通信系統(tǒng)的各種運行參數。在以上工作準備好仿真模型后,就是 仿真軟件的選擇了,使用仿真軟件建立好模型后,仿真建模的

19、這一步驟就基本 完成了。(2) 仿真實驗仿真實驗是一個或一系列針對仿真模型的測試。在仿真實驗過程中,通常 需要多次改變仿真模型輸入信號的數值,以觀察和分析仿真模型對這些輸入信 號的反應,以及仿真系統(tǒng)在這個過程中表現出來的性能。 在明確了仿真系統(tǒng)對輸入 / 輸出信號的要求之后,最好把這些設置整理成一份簡 單的文檔。(3) 仿真分析仿真分析是一個通信仿真流程的最后一個步驟。在仿真過程中,用戶已經 從仿真過程中獲得了足夠多的關于系統(tǒng)性能的消息,但是這些信息只是一些原 始數據,一般還需要經過數值分析和處理才能獲得衡量系統(tǒng)性能的尺度, 從而 獲得對仿真性能的一個總體評價。仿真分析并不一定意味著通信仿真過

20、程的完全結束。如果仿真分析得到的 結果打不到預期的目標,用戶還需要重新修改通信仿真模型,這時候仿真分析 就成為了一個新的循環(huán)的開始2.4Simulink仿真及工作原理Simulink 是 MATLA 提供的用于對動態(tài)系統(tǒng)進行建模、仿真和分析的工具 包。Simulink 提供了專門用于顯示輸出信號的模塊,可以在仿真過程中隨時觀 察仿真結果。同時,通過 Simulink 的存儲模塊,仿真數據可以方便地以各種形 式保存到工作空間或文件中,以供用戶在仿真結束后對數據進行分析和處理。 另外 Simulink 把具有等級結構的子系統(tǒng),因此具有內在的模塊化設計要求?;?于以上優(yōu)點, Simulink 作為一

21、種通用的仿真建模工具,廣泛用于通信仿真、數 字信號處理、機械控制和虛擬現實等領域中2。作為一款專業(yè)仿真軟件, Simulink 具有以下特點:基于矩陣的數值計算;高級編程語言已經可視化的圖形操作界面;包含各領域的仿真工具箱,使用方便快捷并可以擴展;豐富數據的 I/O 接口;提供與其他高級語言的接口;支持多平臺( PC/UNIX)根據輸出信號與輸入信號的關系, Simulink 提供三種類型的模塊:連續(xù)模 塊、離散模塊和混合模塊。連續(xù)模塊是指輸出信號隨著輸入信號發(fā)生連續(xù)變化 的模塊;離散模塊則是輸出信號以固定間隔變化的模塊。對于連續(xù)模塊, Simulink 采用積分方式計算輸出信號的數值,因此,

22、連續(xù)模塊主要涉及數值的 計算及其積分。離散模塊的輸出信號在下一個抽樣到來之前保持恒定,這時候 Simulink 只需要以一定的間隔計算輸出信號的數值。混合模塊是根據輸入信號 的類型來確定輸出信號類型的,它既能差生連續(xù)輸出的信號,也能夠產生離散 輸出信號。Simulink 仿真包括兩個階段:初始化階段和模型執(zhí)行階段。( 1) 初始化階段在初始化階段, Simulink 內部主要完成以下工作。模型參數傳給 MATLABS 行估值,得到的數值結果將作為模型的實際參 數。展開模型的各個層次,每一個非條件執(zhí)行的子系統(tǒng)被它包含的模塊代 替。模型中模塊按更新的次序進行排序。決定模型由無顯示設定的信號屬性。決

23、定所有無顯示設定才采樣的時間的模塊的采樣時間。分配和初始化用于儲存每個模塊的狀態(tài)和輸入當前值的存儲空間。完成以上工作后就可以進行下一步工作了,也就是模塊執(zhí)行階段( 2) 模塊執(zhí)行階段一般模型是使用數值積分來進行仿真的,所運用的仿真解法器(仿真算 法)依賴于模型提供它的連續(xù)積分能力。計算微分可分為以下兩步來進行。首先,按照排列所確定的次序計算每個模塊的輸出。然后,根據當前時刻的輸入和狀態(tài)來決定狀態(tài)的微分;得到微分向量后再 把它返回給解法器;后者用它來計算下一個采樣點的狀態(tài)向量。一旦新的狀態(tài) 向量計算完畢,被采樣的數據模塊和接收模塊才被更新。在仿真開始時,模型設定待仿真系統(tǒng)的初始狀態(tài)和輸出。在每個

24、時間步中, Simulink 計算系統(tǒng)的輸入、狀態(tài)和輸出,并更新模塊來反映計算出的值。 在仿真結束時,模型得出系統(tǒng)的輸入、狀態(tài)和輸出。在每個時間步中, Simulink 所采取的動作依次如下:(1) 按照排列好的次序更新模型中的輸出。 Simulink 通過調用模塊的輸 出函數計算模塊的輸出。 Simulink 只把當前值、模塊的輸入以及狀態(tài)量傳給這 些函數計算模塊的輸出。對于離散系統(tǒng), Simulink 只有在當前時間是模塊采樣 時間的整數倍時,才會更新模塊的輸出。(2) 按照排列好的次序更新模塊中模塊的狀態(tài)。 Simulink 計算一個模塊 的離散狀態(tài)的方法是調用模塊的離散狀態(tài)更新函數。而

25、對于連續(xù)狀態(tài),則對連 續(xù)狀態(tài)的微分進行數值積分來獲得當前的連續(xù)狀態(tài)。(3) 檢查函數連續(xù)狀態(tài)的不連續(xù)點。 Simulink 使用過零檢測來檢測連續(xù) 狀態(tài)的不連續(xù)點。(4) 計算下一個仿真時間步的時間。這是通過調用模塊獲得下一個采樣時 間函數來完成的。第3章 信源編碼3.1 A律卩律編碼特性信源編碼也稱為量化或信號格式化,它一般是為了減少冗余度或為后續(xù)的 處理做準備而進行的數據處理。在 Simulink 中,包含了 A 律編碼、卩律編碼 等,這里分別進行介紹。3.1.1 A 律編碼如果輸入信號為 x,輸出信號為 y,則 A 律壓縮滿足式 3-1osgn(x)(3-1)sgn(x)式中,A 為 A

26、 律壓縮參數,最常采用的 A 值為 87.6 ; V 為輸入信號的峰 值; log為自然對數; sgn 函數當輸入為正時,輸出 1,當輸出為負時,輸出 0o模塊的輸入并無限制。如果輸入為向量,則向量中的每一個分量將被單獨處理7oA 律壓縮編碼模塊及其參數及其設定框如圖 3-1 所示。A 律壓縮編碼模塊中包含兩個參數:A value :用于指定濃縮參數 A 的值Peak signal magnitude :用于指定能輸入信號的峰值 Vo3.1.2 律編碼和 A 律壓縮編碼類似,卩律壓縮編碼中如果輸入信號為 x,輸出信號為 y, 則卩律壓縮滿足式 3-2osgn(x)(3-2)式中,卩為卩律壓縮參

27、數;V 為輸入信號的峰值;log 為自然對數;sgn 函 數當輸入為正時,輸出 1,當輸入為負時,輸出 0模塊的輸入并無限制。如果輸入為向量,則向量中的每一個分量將會被單7獨處理 。卩律壓縮編碼中包含兩個參數:mu value :用于指定卩律壓縮參數卩的值Peak sig nal mag ni tude :用于指定能輸入信號的峰值 V,也是輸出信號的峰值。3.1.3 A 律 13 折線13 段折線的壓縮特性如下圖 3-3 所示。過程為:第一步:把 x(x0 部分)劃分為不均勻的 8 段。第一分點取在 V/2 處, 然后每段都是剩下部分的 1/2。 ; 依次取第八段為 VV/2,第七段為 V/2

28、V/4 ;第一段為 V/1280。第二步:把每段均勻劃分為 1 6 等份,每一份表示一個量化級,顯然 8 段共16x8=128= 個量化級,需要二進制 7 位編碼表示??梢钥闯雒總€量化級是不均 勻的。在小信號的量化臺階很小,使小信號時量化噪聲減小。如果按均勻量化 計算,以最小臺階 為單位,最大信號需用 L=128X16=2048 個量化級表示,既需 要 11 位編碼。這樣非均勻編碼使小信號量化臺階縮小了 16 倍,相當于小信號 信噪比改善了 20dB。第三步:把 y 軸均勻劃分為 8 段,每段均勻分為 16 分。這樣 y 也分為 128 個量化級,與 x 軸的 128 個量化級對應。因此,壓擴

29、特性各段的斜率 是不同 的。第一段斜率 其他段為7:以上分段為 x 取正值時的情況。而 x 取負值時,壓擴特性與 x 取正值成奇 對稱。在正 8 段和負 8 段中,正 1, 2 段和負 1, 2 段斜率相同,合為一段。所 以原來的 16段折線變?yōu)?13 段折線。圖 3-1 13 折線 A 律壓擴特性實際中,往往都采用近似于 A 律函數規(guī)律的 13 折線(A=87.6)的壓擴特性。 這樣,它基本上保持了連續(xù)壓擴特性曲線的優(yōu)點,又便于用數字電路實現。折線形成的方法是把 x 軸的 0-1 分成 8 個不均勻段,而 y 軸的 01 均勻地分成 八段,與 x 軸的八段一一對應。至于當 x 在-1 0 及

30、 y 在-1 0 的第三象限中,壓 縮特性的形狀與以上討論的第一象限壓縮特性的形狀相同,且它們以原點為奇對稱,所以負方向也有八段直線,合起來共有16 個線段。由于正向一、二兩段和負向一、二兩段的斜率相同,這四段實際上為一條直線,因此正、負雙向的折線總共由 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/4

31、1/21段落12345678斜率161684211/21/4u 律 15 折線形成如下。把 y 坐標從 0 到 1 之間劃分為八個均勻等分,對應于分 界點 y坐標 i/8 的 x 坐標,根據律壓縮特性得到(u = 255),共 14 個斜率發(fā)生變化 的分界點,將其分成 15 段直折線。其具體值可見表 3-2 :表 3-2 u 律 15 折線i012345678y=i/801/82/83/84/85/86/87/81x=(2i-01/253/257/2515/2531/2563/25127/2511)/2555555555相對斜率11/21/41/81/161/321/641/128/255(

32、y/8 x)段落123456783.2 A律、u律的特性比較畫出 A 律 13 折線近似的壓縮特性曲線,與 A=87.56 對應的壓縮特性曲線 進行比較。 2 畫出 u 律 15 折線近似的壓縮特性曲線, 與 u=255 對應的壓縮特 性曲線進行比較。MATLAB?序: clear all close all dx=0.01 。 x=-1:dx:1 。u=255。A=87.6 。 % u Law yu=sign(x).*log(1+u*abs(x)/log(1+u) 。% A Law fori=1:length(x) if abs(x(i)1/Aya(i)=A*x(i)/(1+log(A)。e

33、lse ya(i)=sign(x(i)*(1+log(A*abs(x(i)/(1+log(A) endend figure(1) plot(x,yu,k.:) title(u Law) xlabel(x) ylabel(y) grid on hold onxx=-1,-127/255,-63/255,-31/255,-15/255,-7/255,-3/255,-1/255,1/255,3/255,7/255,15/255,31/255,63/255,127/255,1yy=-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

34、,7/8,1 。plot(xx,yy,r)stem(xx,yy,b-.)legend(u 律壓縮特性 , 折線近似 u 律 ,4) figure(2) plot(x,ya,k.:) title(A Law)xlabel(x) ylabel(y) grid on hold on xx=-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,1yy=-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,

35、yy,r) stem(xx,yy,b-.) legend(A 律壓縮特性 , 折線近似 A 律 ,4)圖 3-2 A 律 13 折線圖 3-3 卩律 15 折線如圖 3-2 所示,13 折線各段落的分界點 A=87.56 曲線十分逼近,并且兩特 性起始段的斜率均為 16,這就是說,13 折線非常逼近 A=87.56 的對數壓縮特 性。在 A 律特性分析中可以看出,取 A=87.56 有兩個目的:一是使特性曲線原 點附近的斜率湊成 16。二是使 13 折線逼近時,x 的八個段落量化分界點近似于 按 2 的幕次遞減分割,有利于數字化。如圖 3-3 所示,15 折線非常逼近卩=225 的對數壓縮特性

36、。第4章 信道編碼及譯碼4.1卷積碼的概念介紹卷積碼是一種性能優(yōu)越的信道編碼。 (n ,k ,N) 表示把 k 個信息比特編成 n 個比特,N 為編碼約束長度 , 說明編碼過程中互相約束的碼段個數。卷積碼編 碼后的 n 個碼元不僅與當前組的 k 個信息比特有關 ,而且與前 N - 1 個輸入組 的信息比特有關。編碼過程中相互關聯的碼元有 Nxn 個。R = k/ n 是卷積 碼的碼率 ,碼率和約束長度是衡量卷積碼的兩個重要參數1。4.2卷積碼的編碼過程介紹以(2,1,4) 為例,如圖 4-1 所示,詳細介紹卷積碼的編碼流程。圖 4-1 (2,1,4) 卷積碼編碼器方框圖(4-1)(4-2)由(

37、4-1) 式和(4-2) 式可以看出:輸出的數據位 V1,V2 和寄存器 D0,D1,D2,D3 之間的關系。根據模 2 加運算特點可以得知奇數個 1 模 2 運算后結果仍是 1,偶數個 1 模 2 運算后結果是 0。在實際應用中,根據模 2 加的特點,將所要處理的數據 直接相加后除 2求余,這樣得到的結果和模 2 運算結果相同。這樣可以得到:(4-3) (4-4 )編碼程序流程圖圖 4-2 卷積碼編碼程序流程圖4.3卷積碼譯碼過程的概述卷積碼的譯碼方式有三種:(1)1963 年由梅西(Massey)提出的門限譯碼,這是一種基于碼代數結構的代數譯碼,類似于分組碼中的大數邏輯譯碼。 (2)196

38、3 年由費諾 (Fano) 改進的序列譯碼,這是基于碼的樹狀圖結構上的一種準最 佳的概率譯碼。 (3) 1967 年由維特比提出的 Viterbi 算法。這是基于碼的網 (trellis) 圖基礎上的一種最大似然譯碼算法,是一種最佳的概率譯碼方法8其中,代數譯碼,利用編碼本身的代數結構進行譯碼,不考慮信道本身的統(tǒng)計 特性。該方法的硬件實現簡單,但性能較差,其中具有典型意義的是門限譯 碼。另一類是概率譯碼,這種譯碼通常建立在最大似然準則的基礎上。由于計 算是用到了信道的統(tǒng)計特性 . 因而提高了譯碼性能,但這種性能的提高是以增加 硬件的復雜度為代價的。 常用的概率譯碼方法有維特比譯碼和序列譯碼。維

39、特 比譯碼具有最佳性能,但硬件實現復雜。門限譯碼性能最差,但硬件簡單。序 列譯碼在性能和硬件方面介于維特比譯碼和門限譯碼之間。(1) 譯碼原理: 卷積碼譯碼方法主要有兩類:代數譯碼和概率譯碼。代數譯碼主要根據碼 本身的代數特性進行譯碼,而信道的統(tǒng)計特性并沒有考慮在內。目前,代數譯 碼的主要代表是大數邏輯解碼。該譯碼方法對于約束長度較短的卷積碼有較好 的效果,并且設備較簡單。概率譯碼,又稱最大似然譯碼,是基于信道的統(tǒng)計 特性和卷積碼的特點進行計算。在現代通信系統(tǒng)中,維特比譯碼是目前使用最 廣泛的概率譯碼方法。維特比譯碼算法基本原理是:將接收到的信號序列和所有可能的發(fā)送信號 序列比較,選擇其中漢明

40、距離最小的序列認為是當前發(fā)送序列。具體步驟如下:1. 從時間單元 j=m開始, 計算進入每個狀態(tài)的路徑的漢明距離。 存儲每個狀態(tài) 的路徑(即幸存路徑)以及最小漢明距離。這里存儲的路徑通常是該狀態(tài)所對 應的幸存路徑上的前一狀態(tài)值。2. j 增加 1。計算進入每一個狀態(tài)所有路徑的漢明距離。這個漢明距離是進入該 狀態(tài)的分支度量加上在與該分支相連的前一步的幸存路徑的度量值。對于每個 狀態(tài),共有 個這樣的度量值,從中選出并存儲最優(yōu)路徑(漢明距離最小的路 徑)并保存最小漢明距離。3. 如果 jL+m .重復步驟 2,知道結束。在整個過程中,這樣就可以得到一條漢 明距離最小的最優(yōu)路徑。同樣以(2,1 ,4)

41、 為例,具體分析維特比譯碼過程。維特比譯碼的前提是建立合適的網格圖,以便尋找最優(yōu)路徑?;蛘呖梢哉J 為,維特比譯碼的關鍵是尋找最優(yōu)路徑。在實際的譯碼操作過程中,怎樣建立網格以及建立網格后的路徑的選擇是譯碼的關鍵問題。圖 4-3 (2,1,4)碼狀態(tài)轉移圖如圖所示,圖 4-3 為 (2,1,4) 碼的狀態(tài)轉移圖,圖 4-5 為 (2,1,4) 碼的 網格圖。注意:由于 D1D2D 表示的順序不同,所產生的網格圖和狀態(tài)轉移圖也不 同,并且譯碼過程是根據網格圖實現,所以本文所以涉及的維特比譯碼方法具 有一定的特殊性,但是整體過程還是具有研究價值。(2)編程實現維特比譯碼可分為網格圖建立,尋找最優(yōu)路徑,

42、譯碼這三部分。譯碼程序 流程如圖 4-4 所示:圖 4-4 譯碼流程圖1網格圖建立根據圖 4-5 所示的(2,1,4)碼的網格圖,可以發(fā)現 D1D2D 決定了從 000 111 的 8個狀態(tài)。并且進一步觀察網格圖可以發(fā)現從狀態(tài) 000-011 是由輸入的 信息位 0 產生,從狀態(tài) 100-111 是由輸入的信息位 1 產生。此外,以 001 狀態(tài) 為例,可以看出狀態(tài) 001是由狀態(tài) 010 和狀態(tài) 011 產生。由上面可知,假設當 前狀態(tài)為 i, 那么在前一時刻中,產生狀態(tài) i 的兩個狀態(tài)是 2*i 和 2*i+1 。根據 i 是否小于 4,來判斷狀態(tài) i 是由信息位0 還是信息位 1 生成。

43、進一步可以推知 指向狀態(tài) i 的前一時刻的兩個狀態(tài)生成的碼組,這樣便于以判斷漢明距離。圖 4-5 (2,1,4) 碼網格圖2尋找最優(yōu)路徑 網格圖建立之后,根據接收碼組和網格圖中生成的碼組比較,判斷最優(yōu)路徑。 假設某一時刻的狀態(tài) i ,首先判斷前一時刻所有狀態(tài)中,是哪兩個狀態(tài)指向當前狀態(tài) i ;其次,根據這兩個指向當前狀態(tài) i 的狀態(tài)生成的碼組和前一時刻接 收的碼組比較,保留漢明距離最小的那條路徑以及到達狀態(tài) i 時的最小漢明距 離。下一時刻,同樣操作,但是保留的最小漢明距離是前面最小漢明距離累 加。在所有的接收碼組處理完之后,會得到一組漢明距離以及所對應的最優(yōu)路 徑。比較選擇出最小的漢明距離,

44、那么該最小漢明距離所對應的路徑即為最優(yōu) 路徑。3譯碼如圖 4-5 所示,其中紅線表示計算得到的最優(yōu)路徑。觀察其變化規(guī)律,可以 發(fā)現,假設 i 時刻的狀態(tài)和第 (i+1) 時刻比較得知,若第 (i+1) 時刻小于第 i 時 刻,那么對應代表實際信息中 0;若大于,則為 1。然后逐次比較譯出信息值。4.4卷積碼的最大似然譯碼卷積碼概率譯碼的基本思路是4:以接收碼流為基礎,逐個計算它與其他所 有可能出現的、連續(xù)的網格圖路徑的距離,選出其中可能性最大的一條作為譯 碼估值輸出。概率最大在大多數場合可解釋為距離最小,這種最小距離譯碼體 現的正是最大似然的準則。卷積碼的最大似然譯碼與分組碼的最大似然譯碼在

45、原理上是一樣的,但實現方法上略有不同。3主要區(qū)別在于 :分組碼是孤立地求 解單個碼組的相似度,而卷積碼是求碼字序列之間的相似度?;诰W格圖搜索 的譯碼是實現最大似然判決的重要方法和途徑。用格圖描述時,由于路徑的匯 聚消除了樹狀圖中的多余度,譯碼過程中只需考慮整個路徑集合中那些使似然 函數最大的路徑。 如果在某一點上發(fā)現某條路徑已不可能獲得最大對數似然函 數,就放棄這條路徑,然后在剩下的“幸存”路徑中重新選擇路徑。這樣一直 進行到最后第 L 級(L 為發(fā)送序列的長度)。由于這種方法較早地丟棄了那些不可 能的路徑,從而減輕了譯碼的工作量, Viterbi 譯碼正是基于這種想法。 對于 (n, k,

46、 K ) 卷積碼,其網格圖中共 2kL#狀態(tài)。由網格圖的前 K-1 條連續(xù)支路構成 的路徑互不相交,即最初 2條路徑各不相同,當接收到第 K 條支路時,每條路 徑都有 2 條支路延伸到第K 級上,而第 K 級上的每兩條支路又都匯聚在一個節(jié)點 上。在 Viterbi 譯碼算法中,把匯聚在每個節(jié)點上的兩條路徑的對數似然函數累 加值進行比較, 然后把具有較大對數似然函數累加值的路徑保存下來,而丟棄 另一條路徑,經挑選后第 K 級只留下 2K 條幸存路徑。選出的路徑同它們的對數似 然函數的累加值將一起被存儲起來。由于每個節(jié)點引出兩條支路, 因此以后各 級中路徑的延伸都增大一倍, 但比較它們的似然函數累

47、加值后,丟棄一半,結 果留存下來的路徑總數保持常數。由此可見,上述譯碼過程中的基本操作是, “加-比-選”,即每級求出對數似然函數的累加值,然后兩兩比較后作出選 擇。有時會出現兩條路徑的對數似然函數累加值相等的情形, 在這種情況下可 以任意選擇其中一條作為“幸存”路徑。卷積碼的編碼器從全零狀態(tài)出發(fā),最后又回到全零狀態(tài)時所輸出的碼序0列,稱為結尾卷積碼。因此,當序列發(fā)送完畢后,要在網格圖的終結處加上(K-1)個己知的信息作為結束信息。在結束信息到來時,由于每一狀態(tài)中只有 與已知發(fā)送信息相符的那條支路被延伸,因而在每級比較后,幸存路徑減少一 半。因此,在接收到(K-1)個己知信息后,在整個網格圖中

48、就只有唯一的一條 幸存路徑保留下來,這就是譯碼所得的路徑。也就是說,在己知接收到的序列 的情況下,這條譯碼路徑和發(fā)送序列是最相似的。由上述可見, Viterbi 譯碼過程并不復雜,譯碼器的運行是前向的、無反 饋的。它接收一段,計算一段,選擇一段最可能的碼段 (分支) ,從而達到整個 碼序列是一個有最大似然函數的序列。傳輸序列很長時,判決需要的長延時和 相當大的存儲量是我們無法承受的。因此,實際應用中采用截短 Viterbi 算法,即不需要接收到所有序列才進 行判決,當譯碼器接收并處理完了固定的 T ( T 5 N 時 ( N 為編碼的約束長度 ) , 誤比特率數值趨于穩(wěn)定 , 因此, 在確定回

49、溯長度時既 要考慮到隨著T的增加誤比特率隨之降低的趨勢,也要考慮到譯碼延遲會變大,在選取回溯長度時,通常取T= 5No圖 6-2 不同回溯長度對誤碼性能的影響分析不同回溯長度對卷積碼誤碼性能的影響時用到的程序如下:x=-10:5oy=xofor i=1:length(x)SNR=x(i)osim(yima)oy(i)=mean(BitErrorRate)oendsemilogy(x,y)ohold on for i=1:length(x)SNR=x(i) 。sim(yima1) 。y(i)=mean(BitErrorRate) 。endsemilogy(x,y) 。hold on。for i=

50、1:length(x)SNR=x(i) 。sim(yima2) 。y(i)=mean(BitErrorRate) 。endsemilogy(x,y) 。6.3不同碼率對卷積碼誤碼性能的響下面圖 6-3 是通過改變卷積碼的碼率為 1/2 和 1/3 而得到的二條對比曲 線。上面的一條曲線是碼率為 1/2 ,下面的是碼率為 1/3 。卷積碼的碼率 R = k/ n, 他是卷積碼的一個重要參數 , 當改變卷積碼的碼率時 , 系統(tǒng)的誤碼性能也將 隨之發(fā)生變化。從圖 6-3 中的誤比特率曲線可以看出 ,當碼率一定時 ,隨著信道 噪聲的逐漸減小 , 系統(tǒng)的誤比特率也逐漸減小 ,當改變系統(tǒng)碼率時 , 隨著卷

51、積碼碼 率的逐漸提高 , 系統(tǒng)的誤比特率也呈現出增大的趨勢 ,也就是說碼率越低 ,系統(tǒng)的 誤比特率就越小 , 誤碼性能就越好。圖 6-3 卷積碼不同碼率對誤碼性能的影響分析不同碼率對卷積碼誤碼性能的影響時用到的程序如下:x=0:5 。y=x 。for i=1:length(x)SNR=x(i) sim(yima1) 。y(i)=mean(BitErrorRate) 。endsemilogy(x,y) 。hold on 。for i=1:length(x)SNR=x(i) 。sim(yima2) 。y(i)=mean(BitErrorRate) 。endsemilogy(x,y) 。6.4不同約

52、束長度對卷積碼的誤碼性能影響如下圖 6-4 ,對于碼率一定的卷積碼 ,當約束長度 N 發(fā)生變化時 ,系統(tǒng)的誤 碼性能也會隨之發(fā)生變化 , 我們以碼率 R = 1/ 2 的(2 ,1 ,3)和(2,1,7)卷積碼為例展開分析。上面的曲線是( 2,1,3)卷積碼的誤碼性能曲線。下面 的曲線是( 2,1, 7)卷積碼的誤碼性能曲線。從圖5-4 中的誤比特率曲線可以清楚地看到 ,隨著約束長度的逐漸增加 , 系統(tǒng)的誤比特率明顯降低 , 所以說當碼率 一定時,增加約束長度可以降低系統(tǒng)的誤比特率 , 但是隨著約束長度的增加,譯 碼設備的復雜性也會隨之增加 ,所以對于碼率為 1/ 2 的卷積碼,我們在選取約

53、束長度時一般為 39。圖 6-4 不同約束長度對卷積碼誤碼性能的影響分析不同約束長度對卷積碼誤碼性能影響用到的程序如下:x=0:5 。y=x 。for i=1:length(x)SNR=x(i) 。sim(yima) 。 y(i)=mean(BitErrorRate)endsemilogy(x,y) 。hold on 。for i=1:length(x)SNR=x(i) 。sim(yima1) 。y(i)=mean(BitErrorRate) 。endsemilogy(x,y) 。通過上面從( 1)回溯長度;( 2)碼率;( 3)約束長度這三個卷積碼的重 要參數的變化后對譯碼性能的分析,我們得

54、到在卷積碼的編碼,譯碼過程中有 很多條件是不可能同時滿足的。所以我們要根據具體情況來選擇合適的參數。第7章 結論通過本次課題的研究,針對 Viterbi 算法在理論和實現兩方面分別進行了 較深的研究。理論方面,在深入了解了用于卷積碼的 Viterbi 譯碼算法基本原 理后,進一步將其拓展到 SIMULINK 莫塊仿真方面的應用,主要給出了基于 Matlab 的卷積編碼和 Viterbi 算法應用過程。在實現方面,本文重點研究的是 用 SIMULINK 實現不同碼率;不同約束長度;不同回溯長度下的卷積碼的誤碼性 能的對比研究 . 最后仿真得到對比圖,達到了研究的預期目的。經過自己的努力和唐老師的

55、耐心指導,畢業(yè)設計順利按時完成。它是對我 們把本科四年所學的理論知識運用到實踐中的一次系統(tǒng)的檢驗。從接到題目到 設計結束的過程中經歷了很多,總的來說可以概括為以下幾點。( 1)設計中要用到的 Simulink 仿真軟件是我們第一次接觸,所以剛接到題 目時無從下手,后來通過上網和借助圖書館的書籍,學習這門新的軟件,學習 過程中遇到很多困難,但通過自己的努力和老師的幫助,最終掌握了仿真的基 本方法。(2) 由于面臨找工作的問題,和此次設計工作的時間安排上有一定的沖 突。為了順利完成設計工作,老師安排了每周的工作量和所要達到的目標,自 己也制定了相應的時間表,以求更充分的利用時間。(3) 剛開始在設計的步驟和方法上比較混亂, 后通過借閱各種資料和請教 老師,有了明確的工作方向和清晰的設計步驟,使我能在更短的時間內很好的 完成了本次畢業(yè)設計。由于時間原因,本文的工作在很多方面未能更深入地研究下去。如對于 Viterbi譯碼的軟,硬判決的誤碼性能對比和應用還有必要進一步研究。參考文獻1信息論與編碼 高等教育出版社 仇佩亮 編著2 MATLAB/Simulink 通信系統(tǒng)建模與仿真實例

溫馨提示

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

評論

0/150

提交評論