基于matlab的信道編碼仿真(可編輯)_第1頁
基于matlab的信道編碼仿真(可編輯)_第2頁
基于matlab的信道編碼仿真(可編輯)_第3頁
基于matlab的信道編碼仿真(可編輯)_第4頁
基于matlab的信道編碼仿真(可編輯)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于matlab的信道編碼仿真(可編輯)基于matlab的信道編碼仿真海南大學(xué)畢業(yè)論文(設(shè)計(jì))題目:基于matlab的信道編碼仿真學(xué)號(hào):姓名:年級(jí):學(xué)院:信息科學(xué)技術(shù)學(xué)院系別:電子信息工程專業(yè):電子信息工程指導(dǎo)教師:完成日期:摘要通信技術(shù)的飛速發(fā)展,信道編碼已經(jīng)成功地應(yīng)用于各種通信系統(tǒng)中。以及各種傳輸方式對(duì)可靠性要求的不斷提高,信道編碼技術(shù)作為抗干擾技術(shù)的一種重要的手段,在數(shù)字通信技術(shù)領(lǐng)域和數(shù)字傳輸系統(tǒng)中顯示出越來越重要的作用。信道編碼的目的是為了改善通信系統(tǒng)的傳輸質(zhì)量。由于實(shí)際信道存在噪聲和干擾,使發(fā)送的碼字與信道傳輸后所接收的碼字之間存在差異,稱這種差異為差錯(cuò)。一般情況下,信道噪聲、干擾越大,碼字產(chǎn)生差錯(cuò)的概率也就越大。本文利用matlab對(duì)二進(jìn)制對(duì)稱信道BSC,高斯白噪聲信道AWGN兩種信道的仿真,(7,4)Hamming碼對(duì)信道的仿真,通過誤碼率的曲線圖來了解信道的編碼。并利用matlab的simulink模塊仿真,運(yùn)用simulink里的卷積碼viterbi譯碼器來對(duì)二進(jìn)制對(duì)稱信道和高斯白噪聲信道的仿真,觀察誤碼率的曲線圖來了解2個(gè)信道的不同。關(guān)鍵字:matlab,信道,編碼,譯碼,Simulink。AbstractWiththerapiddevelopmentofcommunicationtechnology,channelcodinghasbeensuccessfullyappliedtovariouscommunicationssystems.Andavarietyoftransmissionofthecontinuousimprovementofreliabilityrequirements,anti-jammingchannelcodingtechnologyasanimportantmeansoftechnologyinthefieldofdigitalcommunicationstechnologyanddigitaltransmissionsystemsinamoreandmoreimportantroleThepurposeofchannelcodingistoimprovethetransmissionqualityofcommunicationssystems.Astheactualexistenceofthechannelnoiseandinterference,thetransmittedcodewordsandchanneltransmissionreceivedafterthedifferencebetweencodewords,saidthisdifferenceiswrong.Undernormalcircumstances,channelnoise,thegreatertheinterference,thecodewordgeneratedthegreatertheprobabilityoferrorInthispaper,matlabbinarysymmetricchannelBSC,GaussianwhitenoisechannelAWGNtwochannelsimulation,7,4Hammingcodesimulationofthechannel,throughthebiterrorratecurvetounderstandthechannelcoding.Usingmatlabtosimulinkblocksimulation,usingsimulinkintheviterbidecodertoconvolutionalcodesonthebinarysymmetricchannelandGaussianwhitenoisechannelsimulation,observationerrorrategraphstounderstandthetwodifferentchannelsKeywords:matlab,channel,coding,decoding,Simulink.目錄1引言11.1選題的目的和意義11.2本選題的理論依據(jù)、研究?jī)?nèi)容12.信道編碼以及其運(yùn)行環(huán)境MATLAB的介紹22.1信道編碼的概念及分類22.2信道編碼定理及信道編碼中所包含的各種碼類的簡(jiǎn)介22.2.1卷積碼22.2.2線性分組碼32.2.3循環(huán)碼32.3MATLAB語言的簡(jiǎn)介42.4Simulink53.信道53.1二進(jìn)制對(duì)稱信道(BSC)53.2二進(jìn)制刪除信道(BEC)63.3高斯白噪聲信道AWGN64.Hamming碼74.1漢明碼74.2校驗(yàn)方法74.3漢明碼編碼94.3.1漢明碼對(duì)高斯白噪聲信道94.3.2漢明碼對(duì)二進(jìn)制對(duì)稱信道的仿真115.卷積碼155.1卷積碼定義與原理155.2維特比譯碼原理155.3卷積碼譯碼器對(duì)高斯白噪聲信道的設(shè)計(jì)與仿真185.3.1卷積碼譯碼器的設(shè)計(jì)與仿真195.3.2簡(jiǎn)化維特比譯碼器的仿真225.3.3卷積碼譯碼器的誤碼率分析245.4卷積編碼器在二進(jìn)制對(duì)稱信道(BSC)中的性能256.卷積碼譯碼器對(duì)二進(jìn)制對(duì)稱信道和高斯白噪聲信道仿真比較307.總結(jié)31致謝32參考文獻(xiàn)33附錄1:34附錄2:37附錄3:40附錄4:411引言1.1選題的目的和意義數(shù)字信號(hào)在傳輸中往往由于各種原因,使得在傳送的數(shù)據(jù)流中產(chǎn)生誤碼,從而使接收端產(chǎn)生圖象跳躍、不連續(xù)、出現(xiàn)馬賽克等現(xiàn)象。所以通過信道編碼這一環(huán)節(jié),對(duì)數(shù)碼流進(jìn)行相應(yīng)的處理,使系統(tǒng)具有一定的糾錯(cuò)能力和抗干擾能力,可極大地避免碼流傳送中誤碼的發(fā)生。誤碼的處理技術(shù)有糾錯(cuò)、交織、線性內(nèi)插等。提高數(shù)據(jù)傳輸效率,降低誤碼率是信道編碼的任務(wù)。信道編碼的本質(zhì)是增加通信的可靠性。但信道編碼會(huì)使有用的信息數(shù)據(jù)傳輸減少,信道編碼的過程是在源數(shù)據(jù)碼流中加插一些碼元,從而達(dá)到在接收端進(jìn)行判錯(cuò)和糾錯(cuò)的目的。1.2本選題的理論依據(jù)、研究?jī)?nèi)容在數(shù)字通信系統(tǒng)中由于信道內(nèi)存在加性噪聲及信道傳輸特性不理想等容易造成碼間串?dāng)_同時(shí)多用戶干擾、多徑傳播和功率限制等也導(dǎo)致錯(cuò)誤譯碼。為了確保系統(tǒng)的誤比特率指標(biāo)通常采用信道編碼。信道編碼是為了保證信息傳輸?shù)目煽啃浴⑻岣邆鬏斮|(zhì)量而設(shè)計(jì)的一種編碼。它是在信息碼中增加一定數(shù)量的多余碼元,使碼字具有一定的抗干擾能力。提高信息傳輸?shù)挠行院涂煽啃允冀K是通信技術(shù)所追求的目標(biāo),而信道編碼能夠顯著的提升信息傳輸?shù)目煽啃?。?jiǎn)述信道編碼理論,詳細(xì)說明分組碼的編譯原理、實(shí)現(xiàn)方法及檢錯(cuò)糾錯(cuò)能力,用MATLAB仿真信道編碼條不同信道下的影響。學(xué)習(xí)卷積碼的基本原理和編碼方法。學(xué)習(xí)基本分組碼的原理和編碼方法。理解二進(jìn)制對(duì)稱信道BSC,二進(jìn)制擦除信道BEC,高斯白噪聲信道AWGN。理解碼率coderate和誤碼率biterrorrate的意義。利用(7,4)Hamming碼對(duì)不同信道進(jìn)行仿真。自己設(shè)計(jì)一個(gè)卷積碼,并利用Viterbi譯碼二進(jìn)制對(duì)稱信道BSC,高斯白噪聲信道AWGN2個(gè)信道進(jìn)行仿真,比較結(jié)果。2.信道編碼以及其運(yùn)行環(huán)境MATLAB的介紹2.1信道編碼的概念及分類進(jìn)行信道編碼是為了提高信號(hào)傳輸?shù)目煽啃?改善通信系統(tǒng)的傳輸質(zhì)量,研究信道編碼的目標(biāo)是尋找具體構(gòu)造編碼的理論與方法。從原理上,構(gòu)造信道碼的基本思路是根據(jù)一定的規(guī)律在待發(fā)送的信息碼元中人為的加入一定的多余碼元,以引入最小的多余度為代價(jià)來換取最好的抗干擾性能。信道編碼是通過信道編碼器和譯碼器實(shí)現(xiàn)的用于提高信道可靠性的理論和方法,是信息論的內(nèi)容之一。信道編碼大致分為兩類:?信道編碼定理,從理論上解決理想編碼器、譯碼器的存在性問題,也就是解決信道能傳送的最大信息率的可能性和超過這個(gè)最大值時(shí)的傳輸問題。?構(gòu)造性的編碼方法以及這些方法能達(dá)到的性能界限。編碼定理的證明,從離散信道發(fā)展到連續(xù)信道,從無記憶信道到有記憶信道,從單用戶信道到多用戶信道,從證明差錯(cuò)概率可接近于零到以指數(shù)規(guī)律逼近于零,正在不斷完善。編碼方法,在離散信道中一般用代數(shù)碼形式,其類型有較大發(fā)展,各種界限也不斷有人提出,但尚未達(dá)到編碼定理所啟示的限度。在連續(xù)信道中常采用正交函數(shù)系來代表消息,這在極限情況下可達(dá)到編碼定理的限度,不是所有信道的編碼定理都已被證明。2.2信道編碼定理及信道編碼中所包含的各種碼類的簡(jiǎn)介1948年,信息論的奠基人C.E.Shannon在他的開創(chuàng)性論文“通信的數(shù)學(xué)理論”中,提出了著名的有噪信道編碼定理。他指出:對(duì)任何信道,只要信息傳輸速率R不大于信道容量C,就一定存在這樣的編碼方法:在采用最大似然譯碼時(shí),其誤碼率可以任意小。該定理在理論上給出了對(duì)給定信道通過編碼所能達(dá)到的編碼增益的上限,并指出了為達(dá)到理論極限應(yīng)采用的譯碼方法。在信道編碼定理中,香農(nóng)提出了實(shí)現(xiàn)最佳編碼的三個(gè)基本條件:1采用隨機(jī)編譯碼方式;2編碼長(zhǎng)度L??,即分組的碼組長(zhǎng)度無限;3譯碼采用最佳的最大似然譯碼算法。2.2.1卷積碼卷積碼convolutioncode屬于非分組碼,它是一種小分組n,k多碼段相關(guān)、糾錯(cuò)能力較強(qiáng)的FEC碼。卷積碼不同于n,k分組碼,它將n,k變成很短的分組n,k,如2,1、3,13,2卷積碼等。每一個(gè)監(jiān)督元不僅是由本碼段n,k的k位信碼所決定,而且與其前N-1個(gè)碼段的信碼有關(guān),因此稱為卷積碼。它適于串行傳送,延時(shí)較小。本碼段n,k以及其前N-1段構(gòu)成的N個(gè)分組碼段稱為約束長(zhǎng)度:其碼元數(shù)為Nn比特,而N稱為約束度。因此,各碼段n,k不像n,k分組碼是一個(gè)獨(dú)立糾錯(cuò)碼單元,其差錯(cuò)控制能力由N個(gè)碼段來決定。所以通常將卷積碼寫為n,k,N,其中Nm+1,m是編碼電路的移位寄存器數(shù)目。卷積碼分為兩種:1基本卷積碼:基本卷積碼編碼效率為,η=1/2,編碼效率較低,優(yōu)點(diǎn)是糾錯(cuò)能力強(qiáng)。2收縮卷積碼:如果傳輸信道質(zhì)量較好,為提高編碼效率,可以采樣收縮截短卷積碼。有編碼效率為:η=1/2、2/3、3/4、5/6、7/8這幾種編碼效率的收縮卷積碼編碼效率高,一定帶寬內(nèi)可傳輸?shù)挠行П忍芈试龃?但糾錯(cuò)能力越減弱。2.2.2線性分組碼簡(jiǎn)單來說,所謂“分組碼”就是指碼字的生成只與當(dāng)前的源數(shù)據(jù)有關(guān),而與前后的數(shù)據(jù)無關(guān)相應(yīng)地,與前后數(shù)據(jù)相關(guān)的碼稱為卷積碼。分組碼將連續(xù)的數(shù)據(jù)比特流分割為長(zhǎng)度固定的組;各組進(jìn)一步以m比特為單位分割為符號(hào)Symbol,通常取3比特或者8比特?cái)?shù)據(jù)組成一個(gè)符號(hào)。k個(gè)符號(hào)一起組成源字Sourceword,經(jīng)過編碼后變?yōu)殚L(zhǎng)度為n的碼字Codeword,稱為m比特符號(hào)的n,k分組碼。所謂“線性”,是指編碼過程均為線性變換,即可以通過矩陣變換來表示。目前研究的糾錯(cuò)碼大都屬于線性碼。在線性空間中,所有可能的m比特源字都可以進(jìn)行編碼變換,而無需關(guān)心這m比特?cái)?shù)據(jù)所代表的含義。所謂“系統(tǒng)”,是指碼字中包含了源字和變換所得的校驗(yàn)字。2.2.3循環(huán)碼循環(huán)碼的特點(diǎn)是符合n,k線形分組碼特點(diǎn)---在碼內(nèi)碼子集合的任意兩個(gè)碼字之和為該碼中的一個(gè)碼字,這一特征表明n,k循環(huán)碼屬于n,k線形分組碼的一個(gè)子類。n,k碼中任何一個(gè)碼字連續(xù)位移i位后的碼字,仍屬于該循環(huán)碼的一個(gè)碼字。循環(huán)碼中的生成多項(xiàng)式的必要條件為某n,k碼是否位循環(huán)的必要條件是:冪為碼長(zhǎng)n的多項(xiàng)式x+1,可分解出至少有1個(gè)因式的最高冪次為n-kr,即該因式最高次項(xiàng)為x,最低項(xiàng)為常數(shù)1。其生成多項(xiàng)式的充分條件是由必要條件得到的gx,其多項(xiàng)式的非零權(quán)系數(shù)個(gè)數(shù)還應(yīng)等于相應(yīng)n,k分碼組的d。之所以補(bǔ)充這一“充分”條件,是因?yàn)榉媳匾獥l件的gx并不一定能得到與其相應(yīng)分組碼相同n,k的差錯(cuò)控制能力。循環(huán)編碼碼步驟:源碼為mxmx+?+mx+m,應(yīng)首先提升n-k位,變?yōu)閤mx。然后以生成多項(xiàng)式gx去除,得qx+式2-1可得循環(huán)碼:Cxxmx+bx。2.3MATLAB語言的簡(jiǎn)介MATLAB是矩陣實(shí)驗(yàn)室MatrixLaboratory之意,除具備卓越的數(shù)值計(jì)算能力外,它還提供了專業(yè)水平的符號(hào)計(jì)算,文字處理,可視化建模仿真和實(shí)時(shí)控制等功能。MATLAB將高性能的數(shù)值計(jì)算和可視化集成在一起,并提供了大量的內(nèi)置函數(shù),從而被廣泛地應(yīng)用于科學(xué)計(jì)算、控制系統(tǒng)、信息處理等領(lǐng)域的分析、仿真和設(shè)計(jì)工作,而且利用MATLAB產(chǎn)品的開放式結(jié)構(gòu),可以非常容易地對(duì)MATLAB的功能進(jìn)行擴(kuò)充,從而在不斷深化對(duì)問題認(rèn)識(shí)的同時(shí),不斷完善MATLAB產(chǎn)品以提高產(chǎn)品自身的競(jìng)爭(zhēng)能力。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué),工程中常用的形式十分相似,故用MATLAB來解算問題要比用C、FORTRAN等語言完相同的事情簡(jiǎn)捷得多。開放性使MATLAB廣受用戶歡迎。除內(nèi)部函數(shù)外,所有MATLAB主包文件和各種工具包都是可讀可修改的文件,用戶通過對(duì)源程序的修改或加入自己編寫程序構(gòu)造新的專用工具包。Matlab軟件最好的教材是它的幫助文件。只要硬盤容量夠大,極力推薦安裝完整的幫助文檔,即使你對(duì)閱讀英文不是很有信心,但我相信其足夠的實(shí)例還是能讓你對(duì)要查詢的命令函數(shù)有一定的了解的。有兩種方法取得幫助信息:一是直接在命令窗口輸入help函數(shù)名;如helpimread,會(huì)得到相應(yīng)函數(shù)的有關(guān)幫助信息。二是在幫助窗口中查找相應(yīng)信息。不同版本的幫助菜單界面有所不同,這只能依賴于自己去熟悉了。但總體上都和windows的界面具有相似的處理過程。2.4SimulinkSimulink是TheMathWorks公司開發(fā)的用于動(dòng)態(tài)系統(tǒng)和嵌入式系統(tǒng)的多領(lǐng)域仿真和基于模型的設(shè)計(jì)工具,常集成于MathWorks公司的另一產(chǎn)品mtlab中與之配合使用。Simulink提供了一個(gè)交互式的圖形化環(huán)境及可定制模塊庫(Library),可對(duì)各種時(shí)變系統(tǒng),例如通訊、控制、信號(hào)處理、視頻處理和圖像處理系統(tǒng)等進(jìn)行設(shè)計(jì)、仿真、執(zhí)行和測(cè)試。與MATLAB類似,Simulink的功能可以通過購(gòu)買或自定義的工具箱不斷擴(kuò)展。另外,Simulink與MATLAB緊密集成,可以直接訪問MATLAB大量的工具來進(jìn)行算法研發(fā)、仿真的分析和可視化、批處理腳本的創(chuàng)建、建模環(huán)境的定制以及信號(hào)參數(shù)和測(cè)試數(shù)據(jù)的定義。它的主要特點(diǎn)有[1]:豐富的可擴(kuò)充的預(yù)定義模塊庫交互式的圖形編輯器來組合和管理直觀的模塊圖以設(shè)計(jì)功能的層次性來分割模型,實(shí)現(xiàn)對(duì)復(fù)雜設(shè)計(jì)的管理通過ModelExplorer導(dǎo)航、創(chuàng)建、配置、搜索模型中的任意信號(hào)、參數(shù)、屬性,生成模型代碼提供API用于與其他仿真程序的連接或與手寫代碼集成使用EmbeddedMATLAB模塊在Simulink和嵌入式系統(tǒng)執(zhí)行中調(diào)用MATLAB算法使用定步長(zhǎng)或變步長(zhǎng)運(yùn)行仿真,根據(jù)仿真模式Normal,Accelerator,RapidAccelerator來決定以解釋性的方式運(yùn)行或以編譯C代碼的形式來運(yùn)行模型圖形化的調(diào)試器和剖析器來檢查仿真結(jié)果,診斷設(shè)計(jì)的性能和異常行為可訪問MATLAB從而對(duì)結(jié)果進(jìn)行分析與可視化,定制建模環(huán)境,定義信號(hào)參數(shù)和測(cè)試數(shù)據(jù)模型分析和診斷工具來保證模型的一致性,確定模型中的錯(cuò)誤。3.信道3.1二進(jìn)制對(duì)稱信道(BSC)二進(jìn)制對(duì)稱信道是離散無記憶信道在JK2時(shí)的特例。它的輸入和輸出都只有0和1兩種符號(hào),并且發(fā)送0而接受到1,以及發(fā)送1而收到0(即誤碼)的概率相同,所以稱信道是對(duì)稱的。此時(shí)條件差錯(cuò)概率由p表示。二進(jìn)制對(duì)稱信道的轉(zhuǎn)移概率如圖3.1圖3.1二進(jìn)制對(duì)稱信道3.2二進(jìn)制刪除信道(BEC)圖3.2二進(jìn)制刪除信道信道的特點(diǎn)是,信源傳輸0或1時(shí),接收端以1-a的概率正確接收,以概率a被刪除。3.3高斯白噪聲信道AWGN在信號(hào)傳輸?shù)倪^程中,它會(huì)不可避免地受到各種干擾,這些干擾統(tǒng)稱為“噪聲”。加性高斯白噪聲AWGN是最常見的一種噪聲。加性高斯白噪聲是最簡(jiǎn)單的一種噪聲,它表現(xiàn)為信號(hào)圍繞平均值的一種隨機(jī)波動(dòng)過程。加性高斯白噪聲的均值為o,方差表現(xiàn)為噪聲功率的大小。一放情況下,噪聲功率越大,信號(hào)的波動(dòng)幅度就越大,接收端接收到的信號(hào)的誤比特率就越高。在研究通信系統(tǒng)的誤碼率與信道質(zhì)量的關(guān)系時(shí),一放先研究它在加性高斯白噪聲信道下的性能,然后再把它推廣到具有快衰落的復(fù)雜情況。4.Hamming碼4.1漢明碼當(dāng)計(jì)算機(jī)存儲(chǔ)或移動(dòng)數(shù)據(jù)時(shí),可能會(huì)產(chǎn)生數(shù)據(jù)位錯(cuò)誤,這時(shí)可以利用漢明碼來檢測(cè)并糾錯(cuò),簡(jiǎn)單的說,漢明碼是一個(gè)錯(cuò)誤校驗(yàn)碼碼集,由Bell實(shí)驗(yàn)室的//.ming發(fā)明,因此定名為漢明碼。與其他的錯(cuò)誤校驗(yàn)碼類似,漢明碼也利用了奇偶校驗(yàn)位的概念,通過在數(shù)據(jù)位后面增加一些比特,可以驗(yàn)證數(shù)據(jù)的有效性。利用一個(gè)以上的校驗(yàn)位,漢明碼不僅可以驗(yàn)證數(shù)據(jù)是否有效,還能在數(shù)據(jù)出錯(cuò)的情況下指明錯(cuò)誤位置。在接受端通過糾錯(cuò)譯碼自動(dòng)糾正傳輸中的差錯(cuò)來實(shí)現(xiàn)碼糾錯(cuò)功能,稱為前向糾錯(cuò)FEC。在數(shù)據(jù)鏈路中存在大量噪音時(shí),FEC可以增加數(shù)據(jù)吞吐量。通過在傳輸碼列中加入冗余位也稱糾錯(cuò)位可以實(shí)現(xiàn)前向糾錯(cuò)。但這種方法比簡(jiǎn)單重傳協(xié)議的成本要高。漢明碼利用奇偶?jí)K機(jī)制降低了前向糾錯(cuò)的成本。4.2校驗(yàn)方法進(jìn)行奇偶校驗(yàn)的方法是先計(jì)算數(shù)據(jù)中1的個(gè)數(shù),通過增加一個(gè)0或1稱為校驗(yàn)位,使1的個(gè)數(shù)變?yōu)槠鏀?shù)奇校驗(yàn)或偶數(shù)偶校驗(yàn)。例如,數(shù)據(jù)1001總共是4個(gè)比特位,包括2個(gè)1,1的數(shù)目是偶數(shù),因此,如果是偶校驗(yàn),那么增加的校驗(yàn)位就是一個(gè)0,反之,增加一個(gè)1作為校驗(yàn)位。通過“異或”運(yùn)算來實(shí)現(xiàn)偶校驗(yàn),“同或”運(yùn)算來實(shí)現(xiàn)奇校驗(yàn)。單個(gè)比特位的錯(cuò)誤可以通過計(jì)算1的數(shù)目是否正確來檢測(cè)出來,如果1的數(shù)目錯(cuò)誤,說明有一個(gè)比特位出錯(cuò),這表示數(shù)據(jù)在傳輸過程中受到噪音影響而出錯(cuò)。利用更多的校驗(yàn)位,漢明碼可以檢測(cè)兩位碼錯(cuò),每一位的檢錯(cuò)都通過數(shù)據(jù)中不同的位組合來計(jì)算出來。校驗(yàn)位的數(shù)目與傳輸數(shù)據(jù)的總位數(shù)有關(guān),可以通過漢明規(guī)則進(jìn)行計(jì)算:d+p+12的p次方d表示傳輸數(shù)據(jù)位數(shù)目,p表示校驗(yàn)位數(shù)目。兩部分合稱漢明碼字,通過將數(shù)據(jù)位與一個(gè)生成矩陣相乘,可以生成漢明碼字。2008-07-0519:10針對(duì)4位數(shù)據(jù)的漢明碼編碼示意圖漢明碼是一個(gè)在原有數(shù)據(jù)中插入若干校驗(yàn)碼來進(jìn)行錯(cuò)誤檢查和糾正的編碼技術(shù)。以典型的4位數(shù)據(jù)編碼為例,漢明碼將加入3個(gè)校驗(yàn)碼,從而使實(shí)際傳輸?shù)臄?shù)據(jù)位達(dá)到7個(gè)(位),它們的位置如果把上圖中的位置橫過來就是:數(shù)據(jù)位1234567代碼P1P2D8P3D4D2D1說明第1個(gè)漢明碼第2個(gè)漢明碼第1個(gè)數(shù)據(jù)碼第3個(gè)漢明碼第2個(gè)數(shù)據(jù)碼第3個(gè)數(shù)據(jù)碼第4個(gè)數(shù)據(jù)碼注:Dx中的x是2的整數(shù)冪(下面的冪都是指整數(shù)冪)結(jié)果,多少冪取決于碼位,D1是0次冪,D8是3次冪,想想二進(jìn)制編碼就知道了。另外,漢明碼加插的位置也是有規(guī)律的。以四位數(shù)據(jù)為例,第一個(gè)漢明碼是第一位,第二個(gè)是第二位,第三個(gè)是第四位,1、2、4都是2的整數(shù)冪結(jié)果,而這個(gè)冪次數(shù)是從0開始的整數(shù)。這樣我們可以推斷出來,漢明碼的插入位置為1(20注:20表示2的0次冪)、2(21)、4(22)、8(23)、16(24)、32(25)??4.3漢明碼編碼4.3.1漢明碼對(duì)高斯白噪聲信道隨機(jī)信號(hào)源:function[out,rc]informkrcrandk,1;forn1:kifrcn0.5outn1;elseoutn0;endend產(chǎn)生高斯噪聲:functionoutnoisesnr,k,rsnr10^snr/10;ratek/k+r;q1/sqrt2*snr*rate;outrandn1,k+r*q;漢明碼編碼:functioncodehammingic,k,PIGeyek;G[IG,P'];coderemic*G,2;漢明碼譯碼:functionoutdehammingin,k,r,Pmk+r;IHeyer;H[P,IH];Sremin*H',2;n0;whilenmnn+1;hH:,n;ifSh'break;endendinn1-inn;fori1:koutiini;end調(diào)制:functionoutmoddin,k,rmk+r;forn1:mifinn1outn-1;elseoutn1;endend解調(diào):functionoutdemodin,k,rmk+r;forn1:mifinn0outn0;elseoutn1;endend總程序k4;%信息位r3;%監(jiān)督位P[1110;%校驗(yàn)矩陣0111;1101;];SNR1;%信噪比N1000;%測(cè)試的數(shù)據(jù)包數(shù)目w0;%譯碼錯(cuò)誤碼元數(shù)目統(tǒng)計(jì)的變量n1;whilenN%測(cè)試數(shù)據(jù)包[ic,rc]informk;%產(chǎn)生隨機(jī)信號(hào)源hchammingic,k,P;%漢明碼編碼mcmoddhc,k,r;%調(diào)制ncmc+noiseSNR,k,r;%通過帶噪聲信道dmcdemodnc,k,r;%解調(diào)dhcdehammingdmc,k,r,P;%漢明碼譯碼form1:k%統(tǒng)計(jì)譯碼錯(cuò)誤碼元數(shù)ifdhcm~icmww+1;endendnn+1;endBERw/N*k%計(jì)算誤碼率semilogySNR,BER;仿真結(jié)果分析:圖4.3.1漢明碼對(duì)AWGN信道仿真的誤碼率曲線圖對(duì)圖4的觀察,我們可以看到,在高斯白噪聲信道里當(dāng)信噪比越來越大時(shí),誤碼率越來越低,到一定程度,信道的誤碼率會(huì)為0。仿真結(jié)果和理論結(jié)果基本一致。4.3.2漢明碼對(duì)二進(jìn)制對(duì)稱信道的仿真%7,4漢明碼仿真%定義變量7,4漢明碼模擬k4;%n7;%p_vector0.1:0.01:1;%向量P的值,誤碼率Nlengthp_vector;%p_vector的長(zhǎng)度RUNS5000;%運(yùn)行數(shù)%碼字表xtable[0000000;1101000;0110100;1011100;1110010;0011010;1000110;0101110;1010001;0111001;1100101;0001101;0100011;1001011;0010111;1111111;];forp_i1:Nerror0;%錯(cuò)誤的數(shù)pp_vectorp_i;forr1:RUNS%生成4位的信息塊zunifrnd0,1,1,4;%0和1的4位串wroundz;%圓的Z值%找到行的索引,二進(jìn)制轉(zhuǎn)換:mw1+w2*2+w3*4+w4*8;xxtablem+1,:;zunifrnd0,1,1,7;%0和1的7位隨機(jī)字符串zifindzp;%錯(cuò)誤的位置%誤比特率ezeros1,7;%創(chuàng)建一個(gè)0的7位串ezionessizezi;%創(chuàng)建一個(gè)字符串的大小Ziyxorx,e;%異或X和E%forq1:16dHqsumxory,xtableq,:;%比較接收到的碼字矢量ifdHq1whxtableq,4:7;endend%計(jì)算誤碼率dHwsumxorw,wh;errorerror+dHw;endBERp_ierror/RUNS*4;%誤碼率計(jì)算Pp_ip;%存到pendPslogspace-4,0,200;Pb_high1-1-Ps.^7+7.*1-Ps.^6.*Ps;Pb_low1-1-Ps.^7+7.*1-Ps.^6.*Ps/k;figure1plotP,BER,'bx',Ps,Pb_high,'k-',Ps,Pb_low,'k-'legend'Simulated','Analytical'xlabel'ProbabilityofErrorforBSCp'ylabel'BER'title'Figure1-BitErrorRateforHammingcodeoverBSC'仿真出圖4.3.2圖4.3.2漢明碼對(duì)BSC信道編碼后誤碼率的曲線圖如上圖4.3.2中,可以看到藍(lán)色的曲線是模擬后的誤碼率曲線,黑色的曲線是分析的誤碼率曲線。上面黑色曲線是概率誤差p最大值的誤碼率,下面黑色的曲線是概率誤差p最小值的誤碼率。從圖中可以看出概率誤差最大,BSC信道的誤碼率就越高。5.卷積碼5.1卷積碼定義與原理卷積碼是一種向前糾錯(cuò)控制編碼。它將連續(xù)的信息比特序列映射為連續(xù)的編碼器輸出符號(hào)。這種映射是高度結(jié)構(gòu)化的,使得卷積碼的譯碼方法與分組碼譯碼所采用的方法完全不同??梢则?yàn)證的是在同樣復(fù)雜度情況下,卷積碼的編碼增益要大于分組碼的編碼增益。對(duì)于某個(gè)特定的應(yīng)用,采用分組編碼還是采用卷積編碼哪一種更好則取決于這一應(yīng)用的具體情況和進(jìn)行比較時(shí)可用的技術(shù)。卷積編碼的最佳譯碼準(zhǔn)則為:在給定已知編碼結(jié)構(gòu)、信道特性和接收序列的情況下,譯碼器將把與已經(jīng)發(fā)送的序列最相似的序列作為傳送的碼字序列的估值。對(duì)于二進(jìn)制對(duì)稱信道,最相似傳送序列就是在漢明距離上與接收序列最近的序列。卷積碼的譯碼方法有兩大類:一類是大數(shù)邏輯譯碼,又稱門限譯碼硬判決,編者注;另一種是概率譯碼軟判決,編者注,概率譯碼又分為維特比譯碼和序列譯碼兩種。門限譯碼方法是以分組碼理論為基礎(chǔ)的,其譯碼設(shè)備簡(jiǎn)單,速度快,但其誤碼性能要比概率譯碼法差。5.2維特比譯碼原理采用概率譯碼的基本思想是:把已接收序列與所有可能的發(fā)送序列做比較,選擇其中碼距最小的一個(gè)序列作為發(fā)送序列。如果發(fā)送L組信息比特,那么對(duì)于n,k卷積碼來說,可能發(fā)送的序列有2kL個(gè),計(jì)算機(jī)或譯碼器需存儲(chǔ)這些序列并進(jìn)行比較,以找到碼距最小的那個(gè)序列。當(dāng)傳信率和信息組數(shù)L較大時(shí),使得譯碼器難以實(shí)現(xiàn)。維特比算法則對(duì)上述概率譯碼做了簡(jiǎn)化,以至成為了一種實(shí)用化的概率算法。它并不是在網(wǎng)格圖上一次比較所有可能的2kL條路徑序列,而是接收一段,計(jì)算和比較一段,選擇一段最大似然可能的碼段,從而達(dá)到整個(gè)碼序列是一個(gè)最大似然值得序列。下面以圖5.1的2,1,3卷積碼編碼器所編出的碼為例,來說明維特比解碼的方法和運(yùn)作過程。為了能說明解碼過程,這里給出該碼的狀態(tài)圖,如圖5.2所示。圖5.12,1,3卷積碼編碼器圖5.22,1,3卷積碼狀態(tài)圖維特比譯碼需要利用圖來說明移碼過程。根據(jù)卷積碼畫網(wǎng)格的方法,我們可以畫出該碼的網(wǎng)格圖,如圖5.3所示。該圖設(shè)輸入信息數(shù)目L5,所以畫L+N8個(gè)時(shí)間單位,圖中分別標(biāo)以0至7。這里設(shè)編碼器從a狀態(tài)開始運(yùn)作。該網(wǎng)格圖的每一條路徑都對(duì)應(yīng)著不同的輸入信息序列。由于所有可能輸入信息序列共有2kL個(gè),因而網(wǎng)格圖中所有可能的路徑也為2kL條。這里節(jié)點(diǎn)a00,b01,c10,d11。圖5.32,1,3卷積碼網(wǎng)格圖設(shè)輸入編碼器的信息序列為11011000,則由編碼器對(duì)應(yīng)輸出的序列為Y11100,編碼器的狀態(tài)轉(zhuǎn)移路線為abdcbdca。若收到的序列R01100,對(duì)照網(wǎng)格圖來說明維特比譯碼的方法。由于該卷積碼的約束長(zhǎng)度為6位,因此先選擇接收序列的前6位序列R1010101同到達(dá)第3時(shí)刻的可能的8個(gè)碼序列即8條路徑進(jìn)行比較,并計(jì)算出碼距。該例中到達(dá)第3時(shí)刻a點(diǎn)的路徑序列是000000和111011,他們與R1的距離分別為3和4;到達(dá)第3時(shí)刻b點(diǎn)的路徑序列是000011和111000,他們與R1的距離分別為3和4;到達(dá)第3時(shí)刻c點(diǎn)的路徑序列是001110和110101,他們與R1的距離分別為4和1;到達(dá)第3時(shí)刻d點(diǎn)的路徑序列是001101和110110,他們與R1的距離分別為2和3。上述每個(gè)節(jié)點(diǎn)都保留碼距較小的路徑作為幸存路徑,所以幸存路徑碼序列是000000、000011、1101001和001101,如圖5.4所示。用于上面類似的方法可以得到第4、5、6、7時(shí)刻的幸存路徑。圖5.4維特比譯碼第3時(shí)刻幸存路徑需要指出的是,對(duì)于某個(gè)節(jié)點(diǎn),如果比較兩條路徑與接收序列的累計(jì)碼距值相等時(shí),則可以任意選者一條路徑作為幸存路徑,吃時(shí)不會(huì)影響最終的譯碼結(jié)果。在碼的終了時(shí)刻a狀態(tài),得到一條幸存路徑。如果2.5所示。由此可看到譯碼器圖5.5第8時(shí)刻幸存路徑輸出是R’11100,即可變換成序列11011000,恢復(fù)了發(fā)端原始信息。比較R’和R序列,可以看到在譯碼過程中已糾正了在碼序列第1和第7位上的差錯(cuò)。當(dāng)然如果差錯(cuò)出現(xiàn)太頻繁,以致超出卷積碼的糾錯(cuò)能力,還是會(huì)發(fā)生糾誤的。5.3卷積碼譯碼器對(duì)高斯白噪聲信道的設(shè)計(jì)與仿真整個(gè)設(shè)計(jì)的結(jié)構(gòu)框圖如下圖5.35.3結(jié)構(gòu)框圖本設(shè)計(jì)由3個(gè)子系統(tǒng)組成:信源模塊對(duì)隨機(jī)二進(jìn)制信號(hào)進(jìn)行卷積碼和二進(jìn)制相位調(diào)制,輸出基帶調(diào)制信號(hào);信道模塊是一個(gè)高斯白噪聲信道;信宿模塊對(duì)調(diào)制信號(hào)進(jìn)行軟判決譯碼,得到原始信息序列,并且計(jì)算調(diào)制信號(hào)的誤碼率。5.3.1卷積碼譯碼器的設(shè)計(jì)與仿真信源模塊由貝努利二進(jìn)制序列產(chǎn)生器、卷積碼編碼器以及二進(jìn)制相位調(diào)制3個(gè)模塊組成,如下圖5.3.1所示5.3.1信源模塊系統(tǒng)框圖各個(gè)模塊的參數(shù)設(shè)置分別如表5.1~表5.3所示。表5.1BernoulliBinaryGenerator貝努利二進(jìn)制序列產(chǎn)生器的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型BernoulliBinaryGeneratorProbabilityofzero0.5Initialseed25741Sampletime0.0001Frame-basedoutputCheckedSamplesperframe10000表5.2ConvolutionalEncoder卷積碼編碼器的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型ConvolutionalEncoderTrellisPoly2trellis7,[171133]ResetOneachframe表5.3BPSKModulatorBaseband的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型BPSKModulatorBasebandPhaseoffsetrad0Samplespersymbol1本設(shè)計(jì)使用相對(duì)較簡(jiǎn)單的一個(gè)加性高斯白噪聲信道作為噪聲信道,它在二進(jìn)制相位調(diào)制信號(hào)中疊加高斯白噪聲。加性高斯白噪聲模塊的參數(shù)設(shè)置如表5.4。表5.4AWGNChannel加性高斯白噪聲模塊的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型AWGNChannelInitialseed1237ModeSignaltonoiseratioSNRSNRdBSNRInputsignalpowerwatts1信道模塊如下圖5.3.2所示。圖5.3.2信道模塊示意圖信宿模塊在接收到二進(jìn)制相位調(diào)制信號(hào)后,首先由BPSKDemodulatorBaseband二進(jìn)制相位解調(diào)模塊對(duì)信號(hào)進(jìn)行量化,得到硬判決量化信號(hào),然后通過ViterbiDecoder維特比譯碼器對(duì)軟判決信號(hào)實(shí)施譯碼。譯碼輸出信號(hào)和信源模塊產(chǎn)生的原始信號(hào)輸入到ErrorRateCalculator誤比特率統(tǒng)計(jì)模塊中,統(tǒng)計(jì)得到的數(shù)據(jù)一方面通過Display顯示模塊顯示出來,另一方面通過一個(gè)Selector選擇器把其中的第一個(gè)元素即編碼信號(hào)的誤比特率保存到工作區(qū)變量BitErrorRate中。信宿模塊如下圖5.3.3所示。圖5.3.3信宿模塊Sink各關(guān)鍵模塊參數(shù)設(shè)置如表5.5、表5.6所示。表5.5BPSKDemodulatorBaseband二進(jìn)制相位解調(diào)模塊的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型BPSKDemodulatorBasebandPhaseoffsetrad0DecisiontypeHarddecisionOutputdatatypeInheritviainternalrule表5.6ViterbiDecoder維特比譯碼器的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型ViterbiDecoderTrellisstructurepoly2trellis7,[171133]DecisiontypeHarddecisionTrecebackdepth1000OperationmodeTruncated將此完整設(shè)計(jì)保存,命名為convh.mdl,如下圖5.3.4圖5.3.4完整設(shè)計(jì)5.3.2簡(jiǎn)化維特比譯碼器的仿真為了驗(yàn)證譯碼模塊的正確性,便讓其進(jìn)行最簡(jiǎn)模式運(yùn)行,為此,臨時(shí)設(shè)計(jì)一個(gè)簡(jiǎn)化信號(hào)系統(tǒng),關(guān)閉信道噪聲,不進(jìn)行二進(jìn)制相位的調(diào)制與解調(diào),去掉誤比特率統(tǒng)計(jì)模塊。為了能看到輸入二進(jìn)制碼和譯碼輸出二進(jìn)制碼,增加了兩個(gè)ToWorkspace結(jié)果輸入到工作區(qū)模塊,整個(gè)系統(tǒng)模塊框圖如圖5.3.5所示。圖5.3.5簡(jiǎn)化譯碼模塊框圖同時(shí),為了便于觀察,將BernoulliBinaryGenerator貝努利二進(jìn)制序列產(chǎn)生器的參數(shù)設(shè)置為如表5.7所示,以產(chǎn)生簡(jiǎn)單的15位二進(jìn)制隨機(jī)碼,也將ViterbiDecoder的Trcebackdepth值改為5。將ToWorkspace1模塊和ToWorkspace模塊的變量名分別設(shè)置為pdata和data。表5.7簡(jiǎn)化譯碼模塊的BernoulliBinaryGenerator的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型BernoulliBinaryGeneratorProbabilityofzero0.5Initialseed5Sampletime10Frame-basedoutputCheckedSamplesperframe5運(yùn)行仿真,在matlab的命令窗口中輸入pdata和data分別得到相應(yīng)的二進(jìn)制序列。對(duì)所得序列分別截圖,可得如下所示結(jié)果。可見,譯碼器能夠正確進(jìn)行譯碼,所設(shè)計(jì)簡(jiǎn)化譯碼器正確,因而,從理論上可推導(dǎo),原設(shè)計(jì)正確。datadata11011pdatapdata110115.3.3卷積碼譯碼器的誤碼率分析編制M文件convolutionh.m,使convh.mdl在不同的信噪比條件下重復(fù)執(zhí)行前面建立的項(xiàng)目convh.mdl。然后繪制信道的信噪比與編碼信號(hào)誤比特率之間的關(guān)系曲線圖。M文件代碼如下:%x表示信噪比x-10:5;%y表示信號(hào)的誤比特率yx;%準(zhǔn)備一個(gè)空白圖形holdoff;%重復(fù)運(yùn)行convh.mdl,檢驗(yàn)不同條件下硬判決譯碼的性能fori1:lengthx%信道的信噪比依次取x中的元素SNRxi;%運(yùn)行仿真程序,得到的誤比特率保存在工作區(qū)變量BitErrorRate中sim'convh';%計(jì)算BitErrorRate的均值作為本次仿真的誤比特率yimeanBitErrorRate;end%繪制x和y的關(guān)系曲線圖,縱坐標(biāo)采用對(duì)數(shù)坐標(biāo)semilogyx,y;%保持已經(jīng)繪制的圖形holdon執(zhí)行此M文件,得到如下圖5.3.4所示的關(guān)系曲線圖,由此圖可見,隨著信道信噪比的提升,維特比譯碼所得結(jié)果的誤比特率越低,信道的可信度越高,信噪比在大于-2時(shí)信道的誤碼率開始明顯降低。圖5.3.3viterbi譯碼器對(duì)高斯白噪聲信道的誤碼率曲線圖5.4卷積編碼器在二進(jìn)制對(duì)稱信道(BSC)中的性能二進(jìn)制對(duì)稱信道模塊的一個(gè)主要用途是用于檢驗(yàn)編碼的糾鍺和檢錯(cuò)性能,因?yàn)樗軌蚍奖愕亟⑿诺勒`比特率與編碼信號(hào)的誤比特率之間的關(guān)系。本節(jié)以卷積編碼為例介紹卷積編碼器在二進(jìn)制信道中的傳輸性能。卷積編碼器以其優(yōu)良的糾鍺性能在移動(dòng)通信系統(tǒng)中得到了廣泛的應(yīng)用。Is-95的前向信道和反向信道都采用了卷積編碼器,這些卷積編碼器的約束長(zhǎng)度都是9,碼率等于1/2或1/3。對(duì)于反向業(yè)務(wù)信道即從移動(dòng)臺(tái)到基站方向的信道,速率集1RateSet1采用碼率為1/3的卷積編碼器3個(gè)碼生成多項(xiàng)式分別等于八進(jìn)制數(shù)557、663和711,速率集2Rateset2則采用碼率為1/2的卷積編碼器碼生成多項(xiàng)式分別等于八進(jìn)制數(shù)753和561。在本實(shí)例中我們將使用反向全速業(yè)務(wù)倍道數(shù)據(jù)傳輸速率等于9600bit/s速率集1的卷積編碼器。圖5.4.1所示是本實(shí)例的系統(tǒng)組成框圖。圖5.4.1仿真系統(tǒng)各個(gè)模塊的參數(shù)設(shè)置如下各表:表5.4.1BernoulliBinaryGenerator貝努利二進(jìn)制序列產(chǎn)生器的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型BernoulliBinaryGeneratorProbabilityofzero0.5Initialseed61Sampletime1/9600Frame-basedoutputCheckedSamplesperframe9600表5.4.2ConvolutionalEncoder卷積碼編碼器的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型ConvolutionalEncoderTrellisPoly2trellis9,557,663,711[]ResetOneachframe表5.4.3BinarySymmetricChannel(二進(jìn)制對(duì)稱信道)的參數(shù)設(shè)置參數(shù)名稱參數(shù)值模塊類型BinaryS

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論