




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊基于MATLAB的卷積碼編譯碼器設(shè)計(jì)基于MATLAB的卷積碼編譯碼器設(shè)計(jì)第第頁(yè)第一章緒論1.1引言1.1.1卷積碼發(fā)展背景概述卷積碼又稱連環(huán)碼,最早于1955年由Elias等人提出。而后1957年Wozencraft提出了一種有效的譯碼方法即序列譯碼。1963年Messey提出了一種性能稍差但比較實(shí)用的大數(shù)邏輯譯碼即門限譯碼,使卷積碼開始應(yīng)用與實(shí)際。1967年Viterbi提出了最大似然譯碼算法,被稱為Viterbi譯碼。Viterbi譯碼作為最優(yōu)譯碼算法,有如下特點(diǎn):(1)維特比算法是最大似然的序列譯碼算法(2)譯碼復(fù)雜度與信道質(zhì)量無關(guān)(3)運(yùn)算量與碼長(zhǎng)呈線性關(guān)系(4)存貯量與碼長(zhǎng)呈線性關(guān)系(5)運(yùn)算量和存貯量都與狀態(tài)數(shù)呈線性關(guān)系(6)狀態(tài)數(shù)隨分組大小k及編碼深度m呈指數(shù)關(guān)系卷積碼在現(xiàn)代通信中已被廣泛應(yīng)用。1.1.2本課題意義在移動(dòng)通信系統(tǒng)中,數(shù)字信號(hào)在無線信道中傳輸時(shí),由于信道自身?xiàng)l件特性的不理想,會(huì)受到諸多噪聲干擾的影響,因而產(chǎn)生誤碼。為了在已知信噪比的情況下達(dá)到一定的誤碼率指標(biāo),除在合理設(shè)計(jì)基帶信號(hào),選擇調(diào)制解調(diào)方式,并采用信道均衡,分集等措施的基礎(chǔ)上,還應(yīng)使用信道編碼與交織,使誤碼率進(jìn)一步的降低。差錯(cuò)控制編碼已經(jīng)十分成熟的應(yīng)用于信道編碼技術(shù)之中。卷積碼和分組碼是差錯(cuò)控制編碼的兩種主要形式,在編碼器復(fù)雜度相同的情況下,卷積碼的性能優(yōu)于分組碼,因此卷積碼幾乎被應(yīng)用在所有無線通信的標(biāo)準(zhǔn)之中。如:(1)低碼率卷積碼應(yīng)用于擴(kuò)頻通信系統(tǒng)(2)VD及VLSI的實(shí)現(xiàn)(3)卷積碼UEP方案用于分等級(jí)傳輸(4)語(yǔ)音壓縮(5)卷積碼糾錯(cuò)用于多媒體廣播系統(tǒng)1.2本課題主要研究?jī)?nèi)容熟練掌握卷積碼的編碼及Viterbi譯碼原理:編碼原理:卷積碼在編碼時(shí)將k比特的信息段編成n個(gè)比特的碼組,監(jiān)督碼元不僅和當(dāng)前的k比特信息段有關(guān),而且還同前面m=(N-1)個(gè)信息段有關(guān)。通常將N稱為編碼約束長(zhǎng)度,表示編碼過程中相互約束的碼段個(gè)數(shù)。編碼過程中相互關(guān)聯(lián)的碼元有n*N個(gè)。R=k/n為編碼效率。約束長(zhǎng)度和編碼效率是衡量卷積碼的兩個(gè)重要參數(shù)。一般來說,卷積碼中k和n的值是比較小的整數(shù),而N可取較大。將卷積碼記作(n,k,N)。維特比譯碼算法基本原理是:將接收到的信號(hào)序列和所有可能的發(fā)送信號(hào)序列比較,選擇其中漢明距離最小的序列認(rèn)為是當(dāng)前發(fā)送序列。在此基礎(chǔ)上運(yùn)用MATLAB對(duì)卷積碼的編譯碼進(jìn)行仿真并分析其性能。卷積碼的相關(guān)概念2.1信道編碼2.1.1信道編碼的原理信道編碼是為了與信道的統(tǒng)計(jì)特性相匹配,并區(qū)分通路和提高通信的可靠性,而在信源編碼的基礎(chǔ)上,按一定規(guī)律加入一些新的監(jiān)督碼元,以實(shí)現(xiàn)糾錯(cuò)的編碼。信道編碼大致分為兩類:①信道編碼定理,從理論上解決理想編碼器、譯碼器的存在性問題,也就是解決信道能傳送的最大信息率的可能性和超過這個(gè)最大值時(shí)的傳輸問題。②構(gòu)造性的編碼方法以及這些方法能達(dá)到的性能界限。編碼定理的證明,從離散信道發(fā)展到連續(xù)信道,從無記憶信道到有記憶信道,從單用戶信道到多用戶信道,從證明差錯(cuò)概率可接近于零到以指數(shù)規(guī)律逼近于零,正在不斷完善。編碼方法,在離散信道中一般用代數(shù)碼形式,其類型有較大發(fā)展,各種界限也不斷有人提出,但尚未達(dá)到編碼定理所啟示的限度,尤其是關(guān)于多用戶信道,更顯得不足。在連續(xù)信道中常采用正交函數(shù)系來代表消息,這在極限情況下可達(dá)到編碼定理的限度。不是所有信道的編碼定理都已被證明。只有無記憶單用戶信道和多用戶信道中的特殊情況的編碼定理已有嚴(yán)格的證明;其他信道也有一些結(jié)果,但尚不完善。信道編碼還有以下幾類方式:按字碼的功能分為糾錯(cuò)碼和檢錯(cuò)碼;按監(jiān)督碼元與信息碼元分為線性碼和非線性碼;按照對(duì)信息碼元和監(jiān)督碼元的約束關(guān)系的不同又分為分組碼和卷積碼,按照信息碼元在編碼后是否保持原來的形式分類,有系統(tǒng)碼和非系統(tǒng)碼。線性分組碼是差錯(cuò)控制碼,由于認(rèn)識(shí)此種碼的思路與概念直觀而條理清晰,并對(duì)編碼中的一些重要參量和糾錯(cuò)能力提供一系列明確的概念,從而也為介紹其它差控碼奠定有力基礎(chǔ)。分組碼是一組固定長(zhǎng)度的碼組,可表示為(n,k),通常它用于前向糾錯(cuò)。在分組碼中,監(jiān)督位被加到信息位之后,形成新的碼。在編碼時(shí),k個(gè)信息位被編為n位碼組長(zhǎng)度,而n-k個(gè)監(jiān)督位的作用就是實(shí)現(xiàn)檢錯(cuò)與糾錯(cuò)。當(dāng)分組碼的信息碼元與監(jiān)督碼元之間的關(guān)系為線性關(guān)系時(shí),這種分組碼就稱為線性分組碼。對(duì)于長(zhǎng)度為n的二進(jìn)制線性分組碼,它有種可能的碼組,從種碼組中,可以選擇M=個(gè)碼組(k<n)組成一種碼。這樣,一個(gè)k比特信息的線性分組碼可以映射到一個(gè)長(zhǎng)度為n碼組上,該碼組是從M=個(gè)碼組構(gòu)成的碼集中選出來的,這樣剩下的碼組就可以對(duì)這個(gè)分組碼進(jìn)行檢錯(cuò)或糾錯(cuò)。線性分組碼是建立在代數(shù)群論基礎(chǔ)之上的,各許用碼的集合構(gòu)成了代數(shù)學(xué)中的群,它們的主要性質(zhì)如下:(1)任意兩許用碼之和(對(duì)于二進(jìn)制碼這個(gè)和的含義是模二和)仍為一許用碼,也就是說,線性分組碼具有封閉性;(2)碼組間的最小碼距等于非零碼的最小碼重。RS碼即里德-所羅門碼,它是能夠糾正多個(gè)錯(cuò)誤的糾錯(cuò)碼。前向糾錯(cuò)碼(FEC)的碼字是具有一定糾錯(cuò)能力的碼型,它在接收端解碼后,不僅可以發(fā)現(xiàn)錯(cuò)誤,而且能夠判斷錯(cuò)誤碼元所在的位置,并自動(dòng)糾錯(cuò)。這種糾錯(cuò)碼信息不需要儲(chǔ)存,不需要反饋,實(shí)時(shí)性好。所以在廣播系統(tǒng)(單向傳輸系統(tǒng))都采用這種信道編碼方式。RS碼為(204,188,t=8),其中t是可抗長(zhǎng)度字節(jié)數(shù),對(duì)應(yīng)的188符號(hào),監(jiān)督段為16字節(jié)(開銷字節(jié)段)。實(shí)際中實(shí)施(255,239,t=8)的RS編碼,即在204字節(jié)(包括同步字節(jié))前添加51個(gè)全“0”字節(jié),產(chǎn)生RS碼后丟棄前面51個(gè)空字節(jié),形成截短的(204,188)RS碼。RS的編碼效率是:188/204。卷積碼非常適用于糾正隨機(jī)錯(cuò)誤,但是,解碼算法本身的特性卻是:如果在解碼過程中發(fā)生錯(cuò)誤,解碼器可能會(huì)導(dǎo)致突發(fā)性錯(cuò)誤。為此在卷積碼的上部采用RS碼塊,RS碼適用于檢測(cè)和校正那些由解碼器產(chǎn)生的突發(fā)性錯(cuò)誤。所以卷積碼和RS碼結(jié)合在一起可以起到相互補(bǔ)償?shù)淖饔谩>矸e碼分為兩種:(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ò)能力越減弱。1993年誕生的Turbo碼,單片Turbo碼的編碼/解碼器,運(yùn)行速率達(dá)40Mb/s。該芯片集成了一個(gè)32×32交織器,其性能和傳統(tǒng)的RS外碼和卷積內(nèi)碼的級(jí)聯(lián)一樣好。所以Turbo碼是一種先進(jìn)的信道編碼技術(shù),由于其不需要進(jìn)行兩次編碼,所以其編碼效率比傳統(tǒng)的RS+卷積碼要好。2.1.2信道編碼的分類信道編碼有多種分類方式,主要有按照關(guān)系、范圍及用途三種。(1)根據(jù)糾錯(cuò)碼各碼組信息元和監(jiān)督元的函數(shù)關(guān)系,可分為線性碼和非線性碼。如果函數(shù)關(guān)系是線性的,即滿足一組線性方程式,則稱為線性碼,否則為非線性碼。(2)根據(jù)上述關(guān)系涉及的范圍,可分為分組碼和卷積碼。分組碼的各碼元僅與本組的信息元有關(guān);卷積碼中的碼元不僅與本組的信息元有關(guān),而且還與前面若干組的信息元有關(guān)。(3)根據(jù)碼的用途,可分為檢錯(cuò)碼和糾錯(cuò)碼。檢錯(cuò)碼以檢錯(cuò)為目的,不一定能糾錯(cuò);而糾錯(cuò)碼以糾錯(cuò)為目的,一定能檢錯(cuò)。2.2差錯(cuò)控制編碼2.2.1差錯(cuò)控制碼的基本概念和分類在實(shí)際信道上傳輸數(shù)字信號(hào)時(shí),由于信道傳輸特性不理想和噪聲的影響,所收到的數(shù)字信號(hào)不可避免地會(huì)發(fā)生錯(cuò)誤??梢酝ㄟ^合理設(shè)計(jì)基帶信號(hào)、加大發(fā)送功率、選擇合適的調(diào)制解調(diào)方式、采用均衡等措施,來降低碼元的誤碼率。若仍難以滿足要求,則需考慮采用差錯(cuò)控制編碼技術(shù)。差錯(cuò)控制編碼屬于信道編碼,其目的是用信道編碼的方法檢測(cè)和糾正誤碼,降低誤碼率。從差錯(cuò)控制角度來看,根據(jù)加性干擾引起的錯(cuò)碼分布規(guī)律的不同,信道可以分為隨機(jī)信道、突發(fā)信道和混合信道三類。隨機(jī)信道:信道中錯(cuò)碼的出現(xiàn)是隨機(jī)的,且錯(cuò)碼之間是統(tǒng)計(jì)獨(dú)立的。突發(fā)信道:信道中錯(cuò)碼是成串集中出現(xiàn)的?;旌闲诺溃盒诺乐屑却嬖陔S機(jī)錯(cuò)碼、又存在突發(fā)錯(cuò)碼。對(duì)于不同類型的信道,應(yīng)采用不同的差錯(cuò)控制技術(shù)。常用的差錯(cuò)控制方式:1、檢錯(cuò)重發(fā)(ARQ)接收端按一定規(guī)則對(duì)收到的碼組進(jìn)行有無錯(cuò)誤的判別。若發(fā)現(xiàn)有錯(cuò),則通知發(fā)送端重發(fā),直到正確收到為止。2、前向糾錯(cuò)(FEC)發(fā)送端將信息序列編碼成能夠糾正錯(cuò)誤的碼,接收端根據(jù)編碼規(guī)則進(jìn)行檢查,如果有錯(cuò)自動(dòng)糾正。3、混合糾錯(cuò)檢錯(cuò)(HEC)是檢錯(cuò)重發(fā)和前向糾錯(cuò)的結(jié)合。發(fā)端發(fā)出同時(shí)具有檢錯(cuò)和糾錯(cuò)能力的碼,收端收到后,檢查錯(cuò)誤情況:如果錯(cuò)誤在糾錯(cuò)能力之內(nèi),則自動(dòng)糾正;若超出糾錯(cuò)能力,但在檢錯(cuò)能力之內(nèi),則經(jīng)反向信道要求重發(fā)。4、信息反饋(IRQ)又叫反饋校驗(yàn)方式。收端把收到的數(shù)據(jù)序列全部經(jīng)反向信道送回發(fā)端,發(fā)端比較發(fā)出和送回的數(shù)據(jù)序列,從而發(fā)現(xiàn)有否錯(cuò)誤,并把有錯(cuò)誤的數(shù)據(jù)序列再次傳送,直到發(fā)端沒有發(fā)現(xiàn)錯(cuò)誤。差錯(cuò)控制編碼分類:根據(jù)分類依據(jù)的不同,差錯(cuò)控制編碼可劃分如下:按監(jiān)督碼元和信息碼元關(guān)系:線性碼、非線性碼按監(jiān)督碼元和信息碼元之間的約束關(guān)系:分組碼、卷積碼按差錯(cuò)控制編碼的功能:檢錯(cuò)碼、糾錯(cuò)碼、糾刪碼按糾正錯(cuò)誤的類型:糾隨機(jī)錯(cuò)誤的碼、糾突發(fā)錯(cuò)誤的碼按編碼的數(shù)學(xué)方式不同:代數(shù)碼、幾何碼、算術(shù)碼2.2.2線性分組碼及循環(huán)碼的簡(jiǎn)單介紹線性分組碼線性分組碼中的線性是指碼組中碼元間的約束關(guān)系是線性的,而分組則是對(duì)編碼方法而言,即編碼時(shí)將每k個(gè)信息位分為一組進(jìn)行獨(dú)立處理,變換成長(zhǎng)度為n(n>k)的二進(jìn)制碼組。線性分組碼的編碼過程可以簡(jiǎn)單描述成一個(gè)矢量和一個(gè)矩陣相乘的結(jié)果,即C=mG,其中C是經(jīng)過編碼后得到的n維編碼輸出{c0,c1,…,cn-1},m是信息序列分組{m0,m1,…,mk-1},G是由k個(gè)n維矢量{g0,g1,…,gk-1}構(gòu)成的矩陣。線性分組碼編碼問題的核心就是如何在n維線性空間Vn中找出滿足一定要求的、由2k個(gè)矢量組成的k維線性子空間,也就是說,在滿足給定碼字最小距離或編碼速率的前提下,如何根據(jù)已知的k個(gè)信息比特求得r=n-k個(gè)校驗(yàn)比特。通過對(duì)碼字生成矩陣G的初等變換,可以得到惟一的行簡(jiǎn)化梯形矩陣,再經(jīng)過列交換可以得到如下形式的生成矩陣。(2.1)其中P是k×(n-k)的矩陣。這種形式的生成矩陣G稱為標(biāo)準(zhǔn)生成矩陣,按照標(biāo)準(zhǔn)矩陣生成的碼字為(2.2)其中前n-k-1個(gè)比特為校驗(yàn)比特,其值為(2.3)后面k個(gè)比特就是信息比特。這種在生成碼字中包含信息序列的編碼碼字稱為線性系統(tǒng)分組碼,簡(jiǎn)稱為系統(tǒng)碼。系統(tǒng)碼的編碼結(jié)構(gòu)相當(dāng)簡(jiǎn)單,以系統(tǒng)(7,4)為例,其生成矩陣為:(2.4)系統(tǒng)碼的編碼結(jié)構(gòu)非常簡(jiǎn)單,比如對(duì)系統(tǒng)(7,4)碼,根據(jù)上面的生成矩陣G,只要在輸入編碼器的每組k個(gè)數(shù)字的后面,附加上(n-k)個(gè)監(jiān)督碼元就可得到所編出的n個(gè)碼字。系統(tǒng)(7,4)碼對(duì)應(yīng)的監(jiān)督矩陣為(2.5)假如發(fā)送的碼字為c=(1001011),而接收到的碼字為Y=(1001001),信道傳輸中產(chǎn)生的錯(cuò)誤為e=(0000010)。由S=y·HT可求出S=(1,1,1)。循環(huán)碼循環(huán)碼是線性分組碼中最重要的一類,循環(huán)碼是指碼集合中的任一碼字經(jīng)過循環(huán)移位后得到的碼字仍然是碼集合中的碼字。循環(huán)碼的碼字可以用矢量的形式表示,即:(2.6)也可用碼多項(xiàng)式表示,即:(2.7)循環(huán)碼c向右移一位的碼字可由下式得出(2.8)循環(huán)碼可由它的生成多項(xiàng)式(2.9)唯一確定。信息序列也可以表示成多項(xiàng)式(2.10)那么生成碼字可表示成(2.11)由于多項(xiàng)式乘法等價(jià)于多項(xiàng)式系數(shù)的卷積,故(2.12)循環(huán)碼編碼則可以通過移位寄存器組成的乘法電路結(jié)構(gòu)實(shí)現(xiàn)。由數(shù)論知識(shí)可知,(n,k)循環(huán)碼的生成多項(xiàng)式g(x)一定是xn-1的n-k次因式:(2.13)反之,若g(x)為n-k次多項(xiàng)式,且xn-1能被g(x)整除,則g(x)一定能生成一個(gè)(n,k)循環(huán)碼。以g(x)為生成多項(xiàng)式所構(gòu)成的(n,k)循環(huán)碼中g(shù)(x),xg(x),…,xk-1g(x)(2.14)等七個(gè)多項(xiàng)式必定是線性無關(guān),則循環(huán)碼的生成矩陣G為(2.15)循環(huán)碼的編碼也可以通過移位寄存器組成的除法電路結(jié)構(gòu)實(shí)現(xiàn)。以(7,4)循環(huán)碼為例,選(7,4)碼生成矩陣g(x)=g3(x)=1+x+x3(2.16)它除盡1+x7,若輸入信息碼元為m(x)=1+x3則由(2.17)因此,碼多項(xiàng)式為(2.18)對(duì)應(yīng)的碼字為C=(0111001)其中最右邊的4位是信息元,詳細(xì)的編碼過程如下:三級(jí)移位寄存器初始狀態(tài)為000,此時(shí)門打開,信息組以(2.19)即1001次序分兩路進(jìn)入編碼器:一路直接輸出;另一路送入g(x)除法電路。經(jīng)4次移位后,信息組1001全部輸出,它就是系統(tǒng)碼的4個(gè)信息元;另一路則將全部信息元送入g(x)除法電路,并完成除法運(yùn)算,這時(shí)移位寄存器中的狀態(tài)就是余式r(x)系數(shù),即為碼的監(jiān)督元(c0c1c2)。輸出開關(guān)倒向上面2,經(jīng)3次移位,移位器由監(jiān)督元(c0c1c2),跟在信息元(c3c4c5c6)后面依次輸出為C=(c0c1c2c3c4c5c6)=(0111001)。送入第二組信息元,重復(fù)上述過程。該碼最小距離為3,它能糾正7個(gè)碼元一組中任何單個(gè)錯(cuò)誤,這7種錯(cuò)誤圖樣和全零矢量一起組成譯碼表的陪集首,它組成了所有可能糾正的圖樣?,F(xiàn)假設(shè)接收的多項(xiàng)式為(2.20)即Y=(1111001)。譯碼器工作步驟如下:將移位寄存器清零。(2)輸入Y分兩路進(jìn)入譯碼器:一路進(jìn)入緩存器;另一路經(jīng)門1進(jìn)入伴隨式計(jì)算電路與寄存器,并分別計(jì)算S0、S1、S2值。(3)在輸出Y的同時(shí),S0、S1、S2依次循環(huán)移位。無錯(cuò)誤時(shí),錯(cuò)誤檢測(cè)電路無輸出,最后輸出的碼字C的碼元與Y相對(duì)應(yīng)碼元一致,有錯(cuò)誤時(shí),S0=S2=1,S1=0,錯(cuò)誤檢測(cè)電路輸出為“1”,它正好與Y中錯(cuò)誤位在輸出端的模2加中相遇,并予以糾正后再輸出。2.3卷積碼2.3.1卷積碼的基本概念卷積碼(convolutionalcode)是由伊利亞斯(P·Elias)發(fā)明的一種非分組碼。它與前面一節(jié)所討論的分組碼不同,是一種非分組碼。通常它更適用于前向糾錯(cuò),因?yàn)閷?duì)于許多實(shí)際情況它的性能優(yōu)于分組碼,而且運(yùn)算簡(jiǎn)單。在分組碼中,編譯器產(chǎn)生的n個(gè)碼元的一個(gè)碼組,完全取決于這段時(shí)間中k比特輸入信息。這個(gè)碼組中的監(jiān)督位僅監(jiān)督本碼組中的k個(gè)信息位。卷積碼則不同。卷積碼在編碼時(shí)雖然也是把k個(gè)比特的信息段編成n個(gè)比特的碼組,但是監(jiān)督碼元不僅和當(dāng)前的k比特信息段有關(guān),還與前面m=(N-1)個(gè)信息段有關(guān)。所以一個(gè)碼組中的監(jiān)督碼元監(jiān)督著N個(gè)信息段。通常將N稱為編碼約束度,并將nN稱為編碼約束長(zhǎng)度。一般說來,對(duì)于卷積碼,k和n的值是比較小的整數(shù)。我們將卷積碼記作(n,k,N)。碼率則仍定義為k/n。卷積碼是一種性能優(yōu)越的信道編碼,它的編碼器和解碼器都比較易于實(shí)現(xiàn),同時(shí)還具有較強(qiáng)的糾錯(cuò)能力,這使得它的使用越來越廣泛。我們?cè)谝恍┵Y料上可以找到關(guān)于分組碼的一些介紹,分組碼的實(shí)現(xiàn)是將編碼信息分組單獨(dú)進(jìn)行編碼,因此無論是在編碼還是譯碼的過程中不同碼組之間的碼元無關(guān)。卷積碼和分組碼的根本區(qū)別在于,它不是把信息序列分組后再進(jìn)行單獨(dú)編碼,而是由連續(xù)輸入的信息序列得到連續(xù)輸出的已編碼序列。即進(jìn)行分組編碼時(shí),其本組中的n-k個(gè)校驗(yàn)元僅與本組的k個(gè)信息元有關(guān),而與其它各組信息無關(guān);但在卷積碼中,其編碼器將k個(gè)信息碼元編為n個(gè)碼元時(shí),這n個(gè)碼元不僅與當(dāng)前段的k個(gè)信息有關(guān),而且與前面的(N-1)段信息有關(guān)(N為編碼的約束長(zhǎng)度)。同樣,在卷積碼譯碼過程中,不僅從此時(shí)刻收到的碼組中提取譯碼信息,而且還要利用以前或以后各時(shí)刻收到的碼組中提取有關(guān)信息。而且卷積碼的糾錯(cuò)能力隨約束長(zhǎng)度的增加而增強(qiáng),差錯(cuò)率則隨著約束長(zhǎng)度增加而呈指數(shù)下降。卷積碼(n,k,N)主要用來糾隨機(jī)錯(cuò)誤,它的碼元與前后碼元有一定的約束關(guān)系,編碼復(fù)雜度可用編碼約束長(zhǎng)度N*n來表示。一般地,最小距離d表明了卷積碼在連續(xù)N段以內(nèi)的距離特性,該碼可以在N個(gè)連續(xù)碼流內(nèi)糾正(d-1)/2個(gè)錯(cuò)誤。卷積碼的糾錯(cuò)能力不僅與約束長(zhǎng)度有關(guān),還與采用的譯碼方式有關(guān)。總之,由于n,k較小,且利用了各組之間的相關(guān)性,在同樣的碼率和設(shè)備的復(fù)雜性條件下,無論理論上還是實(shí)踐上都證明:卷積碼的性能至少不比分組碼差。以二元碼為例,輸入信息序列為u=(u0,u1,…),其多項(xiàng)式表示為u(x)=u0+u1x+…+ulxl+…。編碼器的連接可用多項(xiàng)式表示為g(1,1)(x)=1+x+x2和g(1,2)(x)=1+x2,稱為碼的子生成多項(xiàng)式。它們的系數(shù)矢量g(1,1)=(111)和g(1,2)=(101)稱作碼的子生成元。以子生成多項(xiàng)式為陣元構(gòu)成的多項(xiàng)式矩陣G(x)=[g(1,1)(x),g(1,2)(x)],稱為碼的生成多項(xiàng)式矩陣。由生成元構(gòu)成的半無限矩陣稱為碼的生成矩陣。其中(11,10,11)是由g(1,1)和g(1,2)交叉連接構(gòu)成。編碼器輸出序列為c=u·G,稱為碼序列,其多項(xiàng)式表示為c(x),它可看作是兩個(gè)子碼序列c(1)(x)和c(2)(x)經(jīng)過合路開關(guān)S合成的,其中c(1)(x)=u(x)g(1,1)(x)和c(2)(x)=u(x)g(1,2)(x),它們分別是信息序列和相應(yīng)子生成元的卷積,卷積碼由此得名。在一般情況下,輸入信息序列經(jīng)過一個(gè)時(shí)分開關(guān)被分成k0個(gè)子序列,分別以u(píng)(x)表示,其中i=1,2,…k0,即u(x)=[u(x),…,u(x)]。編碼器的結(jié)構(gòu)由k0×n0階生成多項(xiàng)式矩陣給定。輸出碼序列由n0個(gè)子序列組成,即c(x)=[c(x),c(x),…,c(x)],且c(x)=u(x)·G(x)。若m是所有子生成多項(xiàng)式g(x)中最高次式的次數(shù),稱這種碼為(n0,k0,N)卷積碼。卷積碼中編碼后的n個(gè)碼元不僅與當(dāng)前段的k個(gè)信息有關(guān),而且也與前面(N-1)段的信息有關(guān),編碼過程中相互關(guān)聯(lián)的碼元為nN個(gè)。因此,這N時(shí)間內(nèi)的碼元數(shù)目nN通常被稱為這種碼的約束長(zhǎng)度。卷積碼的糾錯(cuò)能力隨著N的增加而增大,在編碼器復(fù)雜程度相同的情況下,卷段積碼的性能優(yōu)于分組碼。卷積碼也是分組的,但它的監(jiān)督元不僅與本組的信息元有關(guān),而且還與前若干組的信息元有關(guān)。卷積碼根據(jù)需要,有不同的結(jié)構(gòu)及相應(yīng)的糾錯(cuò)能力,但都有類似的編碼規(guī)律。值得指出的是一種(2,1,N)卷積碼,其碼率為1/2,它的監(jiān)督位只有1位,編碼效率較高,也比較簡(jiǎn)單。如使用較長(zhǎng)的約束長(zhǎng)度,則既可以糾正突發(fā)差錯(cuò),也可以糾正隨機(jī)差錯(cuò)。2.3.2卷積碼的基本原理卷積碼的圖形描述圖2-1卷積碼編碼器以圖2-1的(3,1,3)卷積碼編碼器為例說明卷積碼編碼器的工作過程:圖2-1卷積碼編碼器S輸出序列m1,m2,…mj,…y1,jy2,j輸入序列y3,j3觸點(diǎn)轉(zhuǎn)換開關(guān)和一組3位移存器及模2加法器組成每輸入一個(gè)信息比特,經(jīng)該編碼器后產(chǎn)生3個(gè)輸出比特。為方便起見,先假設(shè)該移位寄存器的起始狀態(tài)全為零,當(dāng)?shù)谝粋€(gè)輸人比特為”0”時(shí),輸出比特為OO0;若第一個(gè)輸人比特為I時(shí),則輸出比特為111當(dāng)輸人第二比特時(shí),第一比特右移一位。此時(shí)的輸出比特顯然與“當(dāng)前輸人比特和前一輸人比特”有關(guān)當(dāng)輸人第成比特時(shí),第一和第二比特皆右移一位,可看到此時(shí)的輸出比特與“當(dāng)前輸入比特和前二位愉人比特”有關(guān)。當(dāng)?shù)谒谋忍剌斎藭r(shí),原第一輸人比特已移出移位寄存器而消失,即第一輸人比特已不再影響當(dāng)前的輸人比特,如圖2-2所示,以上編碼器在移位過程中可能產(chǎn)生的各種序列,可用樹狀圖、網(wǎng)格圖或狀態(tài)圖來描述。tt輸出輸入t圖2-2編碼器輸入-輸出關(guān)系碼樹圖圖2-3給出了(3,1,3)卷積碼的樹狀圖。按照習(xí)慣的做法。碼樹的起始節(jié)點(diǎn)位于左邊;移位寄存器的初始狀態(tài)取00,取M1M2=00,用a來表示,并把該a標(biāo)注于起始節(jié)點(diǎn)處。當(dāng)輸人碼元是0時(shí),則由節(jié)點(diǎn)出發(fā)走上支路;當(dāng)輸人碼元是1時(shí).則由節(jié)點(diǎn)出發(fā)走下支路。例如,當(dāng)該編碼器第一輸入比特為0時(shí),則走上支路,此時(shí)移存器的輸出碼“000”就寫在上支杈ddcbbaa000a011110001110001000111000111111000100101010ababccddadcbbaa111a01111010110001001110000111100011100101010ababccdd圖2-3(3,1,3)卷積碼的樹狀圖的上方;當(dāng)該編碼器第一輸人比特為1時(shí),則走下支路,此時(shí)移存器的輸出碼“111”就寫在圖中下支杈的上方。在輸人第二比特時(shí),移位寄存器右移一位,此時(shí)上支路情況下的移位寄存器的狀態(tài)為00,即a,并標(biāo)注于上支路節(jié)點(diǎn)處;此時(shí)下支路情況下的移位寄存器狀態(tài)為O1,即b,并標(biāo)注于下支路節(jié)點(diǎn)處;同時(shí)上下支路都將分兩杈。以后每一個(gè)新輸人比特都會(huì)使上下支路各分兩杈。經(jīng)過4個(gè)輸人比特后,得到的該編碼器的樹狀圖如圖2-3所示。樹狀圖中,節(jié)點(diǎn)上標(biāo)注的a表示M1M2=00,b表示M1M2=O1,。C表示M1M2=10,d表示M1M2=11。狀態(tài)圖當(dāng)網(wǎng)格圖達(dá)到穩(wěn)定狀態(tài)后,取出兩個(gè)節(jié)點(diǎn)間的一段網(wǎng)格圖,即得到圖2-4(a)的狀態(tài)轉(zhuǎn)移圖。此后,再把目前狀態(tài)與下一節(jié)拍狀態(tài)合并起來,即可得到圖2-4(b)的最簡(jiǎn)的狀態(tài)轉(zhuǎn)移圖,稱之為卷積碼狀態(tài)圖。bbdcabdca100011110001010101111000a000adcb111100011010110110101b圖2-4(3,1,3)卷積碼狀態(tài)圖3)網(wǎng)格圖由樹狀圖看到,對(duì)于第j個(gè)輸人信息比特,相應(yīng)出現(xiàn)有條支路,且在時(shí)樹狀圖出現(xiàn)節(jié)點(diǎn),自上而下重復(fù)取4種狀態(tài)。又看到,當(dāng)j變大時(shí),圖的縱向尺寸越來越大。于是提出一種網(wǎng)格圖,注意到碼樹狀態(tài)的重復(fù)性,使圖形變得緊湊。上例(3,1,3)碼的網(wǎng)格圖示于圖2-5。網(wǎng)格圖中,把碼樹中具有相同狀態(tài)的節(jié)點(diǎn)合并在一起;碼樹中的上支路用實(shí)線表示,下支路用虛線表示;支路上標(biāo)注的碼元為輸出比特;自上而下的4行節(jié)點(diǎn)分別表示a,b,c,d的四種狀態(tài)。網(wǎng)格圖中的狀態(tài),通常有種狀態(tài)。從第N個(gè)節(jié)點(diǎn)開始.圖形開始重復(fù),且完全相同。aabcd000000000000000111111111111111011001001110010010010010010010110110110011011011011100圖2-5(3,1,3)卷積碼網(wǎng)格圖卷積碼的解析表述一個(gè)二元(2,1,4)卷積碼的編碼器,它是由k=1,即一個(gè)輸入位(端),n=2,即兩個(gè)輸出位(端),K=4,m=3即三級(jí)移位寄存器所組成的有限狀態(tài)的有記憶系統(tǒng)。(1)離散卷積若輸入信息序列為(這里的卷積碼是u0首先輸入)(2.21)則對(duì)應(yīng)輸出為兩個(gè)碼字序列(2.22)其相應(yīng)編碼方程可寫為(2.23)其中“*”表示卷積運(yùn)算,g①、g②表示編碼器的兩個(gè)脈沖沖擊響應(yīng),即編碼可由輸入信息序列u和編碼器的兩個(gè)沖擊響應(yīng)的卷積得到,故稱為卷積碼[7]。這里的脈沖沖擊響應(yīng)是指,當(dāng)輸入信息為u=(100…)時(shí),所觀察到的兩個(gè)輸出序列值。由于編碼器有m=3級(jí)寄存器,故沖激響應(yīng)至多可持續(xù)到K=m+1=3+1=4位,且可寫成:(2.24)在一般情況下有:(2.25)經(jīng)編碼器后,兩個(gè)輸出序列合并為一個(gè)輸出碼字序列為:(2.26)若輸入信息序列為:(2.27)則有:(2.28)(2.29)最后輸出的碼字為:(2.30)(2)生成矩陣上述沖激響應(yīng)g①g②又稱為生成序列,若將該生成序列g(shù)①g②按如下方法排列,構(gòu)成如下生成矩陣(當(dāng)K=4,m=3時(shí)):(2.31)上述矩陣中,其中空白部分均為0。則上述編碼方程可改為矩陣形式(2.32)G為卷積碼的生成矩陣,若輸入信息序列為一無限序列時(shí),即u=(10111…),生成矩陣則為一個(gè)半無限矩陣,即有起點(diǎn)無終點(diǎn),因此稱它為半無限。若:(2.33)則:(2.34)(3)碼多項(xiàng)式若將生成序列表達(dá)成多項(xiàng)式形式,有(2.35)輸入信息序列也可表達(dá)為多項(xiàng)式形式(2.36)則卷積碼可以用下列碼多項(xiàng)式形式表達(dá)(2.37)(2.38)2.3.3卷積碼的譯碼卷積碼的譯碼方式可以分為兩類:代數(shù)譯碼和概率譯碼。代數(shù)譯碼是利用編碼本身的代數(shù)結(jié)構(gòu)進(jìn)行譯碼,不考慮信道的統(tǒng)計(jì)特性。大數(shù)邏輯譯碼,又稱門限譯碼,是卷積碼代數(shù)譯碼的最主要一種方法,也可以應(yīng)用于循環(huán)碼的譯碼。大數(shù)邏輯譯碼對(duì)于約束長(zhǎng)度較短的卷積碼最為有效,而且設(shè)備較簡(jiǎn)單。概率譯碼(又稱最大似然譯碼)則是基于信道的統(tǒng)計(jì)特性和卷積碼的特點(diǎn)進(jìn)行計(jì)算。首先由沃曾克拉夫特針對(duì)無記憶信道提出的序貫譯碼就是概率譯碼方法之一;另一種概率譯碼方法是維特比(Viterbi)算法。當(dāng)碼的約束長(zhǎng)度較短時(shí),它比序貫譯碼算法的效率更高、速度更快,目前得到廣泛的應(yīng)用。維特比譯碼算法是維特比于1967年提出的。這種算法的基本原理是將接收到的信號(hào)序列和所有可能的發(fā)送信號(hào)序列比較,選擇其中漢明距離最小的序列認(rèn)為是當(dāng)前發(fā)送信號(hào)序列。若發(fā)送一個(gè)k位序列,則有2k種可能的發(fā)送序列。當(dāng)K較大時(shí),存儲(chǔ)量太大,使實(shí)用受到限制。維特比算法對(duì)此作了簡(jiǎn)化,使之能夠?qū)嵱?。設(shè)發(fā)送信息位為:1101,為了使圖2-1中移存器的信息位全部移出,需要在信息位后面加入三個(gè)“0”,故經(jīng)過編碼后的發(fā)送序列為111110010100001011000,并且假設(shè)接收序列為111010010110001011000,其中第4和第11個(gè)碼元為錯(cuò)碼。由于這是一個(gè)(n,k,N)=(3,1,3)卷積碼,發(fā)送序列的約束度N=3,所以首先需要考察nN=9。第一步考察接收序列前9位“111010010”。由此碼的網(wǎng)格圖2-6可見,沿路徑每一級(jí)有4種狀態(tài)a,b,c,d。每種狀態(tài)只有兩條路徑可以到達(dá)。故4種狀態(tài)有8條到達(dá)路徑?,F(xiàn)在比較網(wǎng)格圖中的這8條路徑和接收序列之間的漢明距離。例如,由出發(fā)點(diǎn)狀態(tài)a經(jīng)過三級(jí)路徑后到達(dá)狀態(tài)a的兩條路徑中上面一條為“000000000”。它和接收序列“111010010”的漢明距離等于5;下面一條為“111001011”,它和接收序列的漢明距離等于3。同樣,由出發(fā)點(diǎn)狀態(tài)a經(jīng)過三級(jí)路徑后到達(dá)狀態(tài)b,c,d的路徑分別都有兩條,故總共有8條路徑。在表2.1中列出了這8條路徑和漢明距離。a111a111001100b110c010d圖2-6(3,1,3)卷積碼編碼路徑舉例序號(hào)路徑對(duì)應(yīng)序列漢明距離幸存否1aaaa0000000005否2abca1110010113是3aaab0000001116否4abcb1110011004是5aabc0001110017否6abdc1111100101是7aabd0001111106否8abdd1111101014是表2.1現(xiàn)在將到達(dá)每個(gè)狀態(tài)的兩條路徑的漢明距離作比較,將距離小的一條路徑保留,稱為幸存路徑。若兩條路徑的漢明距離相同,則可以任意保存一條。這樣就剩下4條路徑了,即表中第2,4,6和8條路徑。第二步將繼續(xù)考察接收序列中的后繼3位“110”。現(xiàn)在計(jì)算4條幸存路徑上增加一級(jí)后的8條可能路徑的漢明距離。計(jì)算結(jié)果列于表2.2中。序號(hào)路徑原幸存路徑的距離新增路徑段新增距離總距離幸存否1abca+a3aa25否2abdc+a1ca23是3abca+b3ab14否4abdc+b1cb12是5abcb+c4bc37否6abdd+c4dc15是7abcb+d4bd04是8abdd+d4dd26否表2.2維特比算法解碼第二步計(jì)算結(jié)果表2.2中最小的總距離等于2,其路徑是abdc+b,相應(yīng)序列為111110010100。它和發(fā)送序列相同,故對(duì)應(yīng)發(fā)送信息位1101。按照表2.2中的幸存路徑畫出的網(wǎng)格圖示于圖2-7中。圖中粗線路徑是漢明距離最小(等于2)的路徑。aa111b100011100001c110010110d010101010圖2-7對(duì)應(yīng)信息位“1101”的幸存路徑網(wǎng)格圖為了使輸入的信息位全部通過編碼器的移存器,使移存器回到初始狀態(tài),在信息位1101后面加了三個(gè)“0”。若把這三個(gè)“0”仍看作是信息位,則可以按照上述算法繼續(xù)解碼。這樣得到的幸存路徑網(wǎng)格圖示于圖2-8中,圖中的粗線仍然是漢明距離最小的路徑,但是,若已知這三個(gè)碼元是(為結(jié)尾而補(bǔ)充的)“0”。則在解碼計(jì)算時(shí)就預(yù)先知道在接收這三個(gè)“0”碼元后,路徑必然應(yīng)該回到狀態(tài)a。而由圖可見,只有兩條路徑可以回到a狀態(tài)。所以,這時(shí)圖2-8可以簡(jiǎn)化成圖2-9。aa000000111011011011001100100001001110010010101101101b000000111011011011001100100001001110010010101101101bccdd圖2-8對(duì)應(yīng)信息位“1101000”的幸存路徑網(wǎng)格圖000000000000111011011011001100100001001110010010101101abcd圖2-9對(duì)應(yīng)信息位“1101”及以“000”結(jié)束的幸存路徑網(wǎng)格圖MATLAB基礎(chǔ)與其在通信系統(tǒng)中的應(yīng)用3.1MATLAB簡(jiǎn)介MATLAB是matrix&laboratory兩個(gè)詞的組合,意為矩陣工廠(矩陣實(shí)驗(yàn)室)。MATLAB工作界面是由美國(guó)mathworks公司發(fā)布的主要面對(duì)科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語(yǔ)言(如C、Fortran)的編輯模式,代表了當(dāng)今國(guó)際科學(xué)計(jì)算軟件的先進(jìn)水平。MATLAB和Mathematica、Maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語(yǔ)言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等領(lǐng)域。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語(yǔ)言完成相同的事情簡(jiǎn)捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點(diǎn),使MATLAB成為一個(gè)強(qiáng)大的數(shù)學(xué)軟件。在新的版本中也加入了對(duì)C,F(xiàn)ORTRAN,C++,JAVA的支持??梢灾苯诱{(diào)用,用戶也可以將自己編寫的實(shí)用程序?qū)氲組ATLAB函數(shù)庫(kù)中方便自己以后調(diào)用,此外許多的MATLAB愛好者都編寫了一些經(jīng)典的程序,用戶直接進(jìn)行下載就可以用。MATLAB主要功能有:數(shù)值分析、數(shù)值和符號(hào)計(jì)算、工程與科學(xué)繪圖、控制系統(tǒng)的設(shè)計(jì)與仿真、數(shù)字圖像處理、數(shù)字信號(hào)處理、通訊系統(tǒng)設(shè)計(jì)與仿真、財(cái)務(wù)與金融工程等。3.2MATLAB程序設(shè)計(jì)隨機(jī)計(jì)算技術(shù)的發(fā)展,各種各樣的應(yīng)用軟件越來越多,比如能夠支持?jǐn)?shù)學(xué)計(jì)算的軟件就有多種:MATLAB、Mathmatica、Scilab等。MATLAB以其強(qiáng)大的矩陣計(jì)算能力使它在科學(xué)計(jì)算與工程設(shè)計(jì)中更具備競(jìng)爭(zhēng)力,MATLAB集成了眾多基本的數(shù)據(jù)處理功能,可以完美支持?jǐn)?shù)值與非數(shù)值運(yùn)算,本小節(jié)學(xué)習(xí)基于MATLAB的基本編程語(yǔ)法。由MATLAB語(yǔ)句構(gòu)成的程序通常作為文件保存在后綴為.m的文件中,稱為M文件,可以使用任何一種文本編輯器來編寫M文件。M文件的文件名不能用漢字,也不能用數(shù)字開頭,只能用英文字符開頭,后綴數(shù)字等,長(zhǎng)度可達(dá)255個(gè)字符。M文件一般有兩種類型:script文件(稱為正本文件)與function文件(稱為函數(shù)文件)。正本文件: 正本文件是由用戶編寫的一個(gè)包含一系列MATLAB正本的文本文件,在MATLAB工作空間的命令行提示符“>>”后敲入這個(gè)M文件的文件名就可以依次執(zhí)行這個(gè)M文件中的每條語(yǔ)句。當(dāng)需要從命令行中執(zhí)行多條命令時(shí)可以使用script文件,為此你只需要將希望執(zhí)行的命令逐行寫入script文件中,并保存在MATLAB工作目錄下。概括起來正本文件有如下特點(diǎn):不需要任何實(shí)參代入,也不能返回任何輸出參數(shù);其中的變量作用于整個(gè)工作空間;使用工作空間中的數(shù)據(jù);不需要用到任何MATLAB關(guān)鍵字,直接在其中寫可以執(zhí)行的MATLAB語(yǔ)句;可以利用百分號(hào)作注釋。不能包含任何自定義函數(shù)。函數(shù)文件 可以利用MATLAB系統(tǒng)中的關(guān)鍵字與內(nèi)部函數(shù)來構(gòu)造用戶自己的函數(shù)即自定義函數(shù),并將這個(gè)函數(shù)保存在一個(gè)function文件中,它也以.m為擴(kuò)展名,但要求文件名與函數(shù)名相同。概括起來function文件有如下特點(diǎn):(1)文件第一行必須由關(guān)鍵字function開頭,后面緊跟函數(shù)原型:function[返回變量表]=函數(shù)名(形式參數(shù)表)比如二分法求非線性方程根,函數(shù)定義語(yǔ)句為function[x,abx]=cbisectionrule(f,interval,epsilon,N)其中function是關(guān)鍵字,返回變量多于兩個(gè)時(shí)要用方括號(hào),這里有兩個(gè)返回變量x,abx;函數(shù)名為cbisection_rule;形式參數(shù)為:f,interval,epsilon,N共四個(gè)。(2)函數(shù)體可以由任何MATLAB語(yǔ)句構(gòu)成;(3)被包括在函數(shù)文件中的變量只能作用在這個(gè)函數(shù)文件內(nèi)部,不能被外部訪問,在MATLAB工作空間中用whos命令無法顯示函數(shù)文件中的變量,這與scripts文件不同。(4)同一個(gè)function文件中可以定義多個(gè)自定義函數(shù),第一個(gè)function定義的函數(shù)稱為主函數(shù),它的名字應(yīng)當(dāng)和文件同名,第二個(gè)function及以后各個(gè)function定義的函數(shù)稱為子函數(shù),它們只能被主函數(shù)調(diào)用,不能從文件外部訪問,但主函數(shù)可以被外部訪問。(5)有些函數(shù)文件可以直接在MATLAB命令行中通過敲入文件名來直接執(zhí)行;但是一些只包含形式參數(shù)的函數(shù)文件只能被其它函數(shù)文件調(diào)用。變量 MATLAB編程過程中必然要用到變量,使用MATLAB變量時(shí)要注意如下特點(diǎn):(1)使用時(shí)不必預(yù)先聲明它的類型,而是直接對(duì)它進(jìn)行賦值,這與C語(yǔ)言不同。變量的類型由表達(dá)式運(yùn)算結(jié)果類型決定。(2)變量名必須以字母開頭,后綴任何字母、數(shù)字、下畫線,長(zhǎng)度最多可達(dá)63個(gè)字符。(3)變量名中大小寫是有區(qū)別的,比如:Ab、aB,AB,ab是完全不同的四個(gè)變量。(4)用戶可以使用函數(shù)isvarname()來確定用戶給出的變量名是否合法,如果合法就返回1否則返回0。比如:8th_column就不是一個(gè)合法的函數(shù)名。(5)不要用MATLAB內(nèi)部的名字來命名自定義變量,比如MATLAB的缺省變量名、內(nèi)部函數(shù)名、關(guān)鍵字等。(6)每一個(gè)變量都有自己的作用域范圍,因此就有局部變量與全局變量之分,但是要盡量少用或不用全局變量,將每個(gè)變量的作用域限制在較小范圍之內(nèi),變量之間的數(shù)據(jù)交換使用子函數(shù)來進(jìn)行,這樣也使得程序的模塊性更強(qiáng),便于閱讀與分析。(7)MATLAB中的幾個(gè)特殊變量可以返回幾個(gè)重要特殊數(shù)值,可以直接在MATLAB語(yǔ)句中調(diào)用它們。3.3通信系統(tǒng)仿真3.3.1通信仿真的概念現(xiàn)代的通信系統(tǒng)越來越復(fù)雜,對(duì)這個(gè)系統(tǒng)做出的任何改變,如改變某個(gè)參數(shù)的設(shè)置或系統(tǒng)結(jié)構(gòu)等都可能影響整個(gè)系統(tǒng)的性能和穩(wěn)定。因此,在對(duì)原有的通信系統(tǒng)做出改進(jìn)或建立一個(gè)新系統(tǒng)前,通常需要對(duì)這個(gè)系統(tǒng)進(jìn)行建模和仿真,通過仿真結(jié)果衡量方案的可行性,從中選擇最合理的系統(tǒng)配置和參數(shù)設(shè)置,然后再應(yīng)用于實(shí)際系統(tǒng)中。這個(gè)過程就是通信仿真。通信系統(tǒng)的仿真往往涉及較多的研究領(lǐng)域,包括通信原理、數(shù)字信號(hào)處理、概率論、信號(hào)檢測(cè)與估計(jì)、隨機(jī)過程理論、信號(hào)系統(tǒng)理論等等。掌握通信原理是通信系統(tǒng)仿真的關(guān)鍵,而數(shù)字信號(hào)處理是用于開發(fā)構(gòu)成通信系統(tǒng)仿真模型的算法,現(xiàn)代通信系統(tǒng)的許多新技術(shù)都涉及算法,如多天線系統(tǒng)中波束成形算法、信道均衡中的算法等。通信系統(tǒng)的性能指標(biāo)通常以概率形式表示,如比特差錯(cuò)概率。在許多情況下,仿真要處理的信號(hào)和噪聲均是隨機(jī)過程的一個(gè)樣本,而且,對(duì)于無線信道的描述也需要隨機(jī)過程理論。3.3.2通信仿真的基本方法從本質(zhì)上講,仿真方法論是很難系統(tǒng)化的,但除了最簡(jiǎn)單的情況外,所有仿真問題都要涉及一些基本步驟:將給定問題映射為仿真模型;把整個(gè)問題分解為一組子問題;選擇合適的建模、仿真和估計(jì)方法,并將其用于解決這些子問題;綜合各子問題的解決結(jié)果以提供對(duì)整個(gè)問題的解決方案。對(duì)整個(gè)通信系統(tǒng)的仿真是一個(gè)復(fù)雜的問題,往往需要把問題進(jìn)行分層,不同層次的仿真,其方法與目的不同??梢园逊抡娣譃樗膫€(gè)層次:系統(tǒng)級(jí)仿真、子系統(tǒng)級(jí)仿真、原件級(jí)仿真和電路級(jí)仿真。越高層次的仿真,抽象越多,涉及的模型細(xì)節(jié)越少;越低層次的仿真,越與實(shí)際硬件相近,涉及的硬件細(xì)節(jié)和參數(shù)越多。對(duì)于電路級(jí)仿真,人們更多的使用硬件原型來進(jìn)行驗(yàn)證和測(cè)試,在通信系統(tǒng)波形級(jí)仿真,很少涉及這一層次。通常情況下,人們盡可能高的抽象程度來仿真。因?yàn)樵礁叩某橄笠馕吨缴俚膮?shù)和越高效的仿真。3.3.3仿真通信系統(tǒng)模型為了模擬實(shí)際通信系統(tǒng),需要建立通信系統(tǒng)模型,仿真通信系統(tǒng)框圖如圖3-1所示,其中序列為隨機(jī)輸入的二進(jìn)制碼元,卷積編碼即是通過MATLAB仿真的部分。信道為簡(jiǎn)單的加性高斯白噪聲信道,即產(chǎn)生誤碼的原因。調(diào)制方式為BPSK調(diào)制,譯碼方式采用了Viterbi算法的卷積碼譯碼,也是通過MATLAB仿真的部分。最終的信息輸出即為接收端。序列序列產(chǎn)生信道編碼BPSK
調(diào)制AWGN信道傳輸BPSK
解調(diào)Viterbi譯碼信息輸出圖3-1仿真通信系統(tǒng)框圖模型第四章卷積碼編譯碼的MATLAB仿真4.1卷積碼的編碼仿真在程序設(shè)計(jì)中,我們沒有采用MATLAB自帶的編碼函數(shù)而是采用了自己的編碼函數(shù)codec對(duì)(2,1,3)卷積碼編碼,其參數(shù)m為輸入信息序列,g1,g2為兩個(gè)輸出端口的沖激響應(yīng)序列。編碼程序如下:functioncod=codec(m,g1,g2)%g1,g2為兩輸出端口的沖激響應(yīng)序列。m1=conv(m,g1);%端口一輸出 m2=conv(m,g2);%端口二輸出l=length(m1);fori=1:l;cod([2*i-1])=rem(m1([i]),2);%將端口一編碼輸出賦給cod奇數(shù)位置cod([2*i])=rem(m2([i]),2);%將端口二編碼輸出賦給cod偶數(shù)位置end試運(yùn)行編碼:clearallg1=[111];g2=[101];msg=[1101];cod=codec(msg,g1,g2)輸出為:cod=[110101001011]仿真結(jié)果如圖4-1圖4-1(2,1,3)卷積碼編碼4.2卷積碼的譯碼仿真Viterbi算法是通過加-比較-選擇來實(shí)現(xiàn)的,狀態(tài)量度的計(jì)算方法如下:將前兩個(gè)狀態(tài)點(diǎn)上的狀態(tài)量度和相應(yīng)分支量度相加,得到的兩個(gè)可能路徑量度作為新的狀態(tài)量度的候選項(xiàng),送入邏輯單元中進(jìn)行比較,將其中似然性最大(距離最小)的一個(gè)作為狀態(tài)的新狀態(tài)量度存儲(chǔ),同時(shí)存儲(chǔ)的還有狀態(tài)新的路徑記錄,主要算法步驟為:(1)將接收到的序列分成每段長(zhǎng)為n0的m組子序列。(2)對(duì)所研究的碼畫出深度為m級(jí)的網(wǎng)格圖。對(duì)該網(wǎng)格圖的最后(L-1)級(jí)僅畫出對(duì)應(yīng)于全0輸入序列的路徑。(3)置s=1,并置初始全0狀態(tài)的度量等于0。(4)對(duì)網(wǎng)格圖中全部連接第s級(jí)狀態(tài)到(s+1)級(jí)狀態(tài)的支路求出該接收序列中的第s個(gè)子序列的距離。(5)將這些距離加到第s級(jí)各狀態(tài)的度量上去,得到對(duì)第(s+1)級(jí)狀態(tài)的度量候選者。對(duì)于第(s+1)級(jí)的每一狀態(tài),有QUOTE個(gè)候選度量,其中每一個(gè)都對(duì)應(yīng)終止在那個(gè)狀態(tài)的一條支路。(6)對(duì)在第(s+1)級(jí)的每一狀態(tài),挑選出最小的候選度量,并將對(duì)應(yīng)于這個(gè)最小值的支路標(biāo)以留存支路,同時(shí)指定之歌候選度量的最小值作為第(s+1)級(jí)狀態(tài)的度量值。(7)若s=m,轉(zhuǎn)到下一步;否則將s增加1并轉(zhuǎn)到第4步。(8)在第(m+1)級(jí)以全0狀態(tài)開始,沿著留存支路通過網(wǎng)格圖往會(huì)到達(dá)初始全0狀態(tài),這條路徑就是最佳路徑,并且對(duì)應(yīng)于這條路徑的輸入比特序列是最大似然解碼序列。為了得到有關(guān)這個(gè)輸入比特序列最好的推測(cè),將最后(L-1)k0個(gè)0從該序列中除掉。根據(jù)算法繪出程序流程圖如圖4-2示:程序初始化,將路徑信息和當(dāng)前累計(jì)度量值清零,統(tǒng)計(jì)碼長(zhǎng)程序初始化,將路徑信息和當(dāng)前累計(jì)度量值清零,統(tǒng)計(jì)碼長(zhǎng)對(duì)前兩步進(jìn)行漢明距度量并保存路徑信息是否解碼完成計(jì)算能到達(dá)當(dāng)前狀態(tài)的兩條路徑將兩條路徑a,b輸出與輸入比較漢明距,并累加到路徑度量a路徑累計(jì)度量是否小于b選a為當(dāng)前點(diǎn)的最優(yōu)到達(dá)路徑選b為當(dāng)前點(diǎn)的最優(yōu)到達(dá)路徑選取度量值最小路徑輸出是否否是圖4-2Viterbi譯碼流程圖從Viterbi算法中可以看到,對(duì)于一個(gè)長(zhǎng)信息序列解碼時(shí),解碼延時(shí)和所需要的存儲(chǔ)量都是無法接受的。直到整個(gè)序列全被接收,解碼才能開始,而且還不得不將總的留存路徑存儲(chǔ)起來。實(shí)際上,不會(huì)引起這些問題的次優(yōu)解倒是很希望的。一種稱為路徑存儲(chǔ)截?cái)嗟霓k法是:在每一級(jí)編碼器在網(wǎng)格圖中僅往會(huì)搜索w級(jí),而不回到網(wǎng)格圖的出發(fā)點(diǎn)。用這種辦法在第(w+1)級(jí)解碼器對(duì)相應(yīng)于網(wǎng)格圖第1級(jí)的輸入比特作出判決,并且未來的接收比特不改變這個(gè)判決。這意味著解碼延時(shí)是k0w比特,需要保存的路徑只相應(yīng)于最后W級(jí)的路徑。計(jì)算機(jī)仿真已經(jīng)表明,如果W>5n,由于路徑存儲(chǔ)截?cái)嘣斐傻男阅芟陆悼珊雎圆挥?jì)。Viterbi譯碼主程序如下:forj=0:number_of_states-1form=0:M-1[next_state,memory_contents]=nxt_stat(j,m,N,k);%調(diào)用nxt_stat函數(shù)input(j+1,next_state+1)=m;branch_output=rem(memory_contents*G',2);% nextstate數(shù)組記錄了當(dāng)前狀態(tài)j下輸入l時(shí)的下一個(gè)狀態(tài)nextstate(j+1,m+1)=next_state;% output數(shù)組記錄了當(dāng)前狀態(tài)j下輸入l時(shí)的輸出(十進(jìn)制)output(j+1,m+1)=bin2deci(branch_output);endendstate_metric=zeros(number_of_states,2);depth_of_trellis=length(channel_output)/n;channel_output_matrix=reshape(channel_output,n,depth_of_trellis);survivor_state=zeros(number_of_states,depth_of_trellis+1);fori=1:depth_of_trellis-N+1flag=zeros(1,number_of_states);if(i<=N)step=2^(k*(N-i));elsestep=1;endforj=0:step:number_of_states-1form=0:M-1branch_metric=0;binary_output=deci2bin(output(j+1,m+1),n);forll=1:nbranch_metric=branch_metric+metric(channel_output_matrix(ll,i),binary_output(ll));end%選擇碼間距較小的路徑,即當(dāng)下一個(gè)狀態(tài)沒有被訪問時(shí)就直接賦值,否則,用比它小的將其覆蓋if((state_metric(nextstate(j+1,m+1)+1,2)>state_metric(j+1,1)+branch_metric)|flag(nextstate(j+1,m+1)+1)==0)state_metric(nextstate(j+1,m+1)+1,2)=state_metric(j+1,1)+branch_metric;survivor_state(nextstate(j+1,m+1)+1,i+1)=j;flag(nextstate(j+1,m+1)+1)=1;endendendstate_metric=state_metric(:,2:-1:1);endfori=depth_of_trellis-N+2:depth_of_trellisflag=zeros(1,number_of_states);last_stop=number_of_states/(2^(k*(i-depth_of_trellis+N-2)));forj=0:last_stop-1branch_metric=0;binary_output=deci2bin(output(j+1,1),n);forll=1:nbranch_metric=branch_metric+metric(channel_output_matrix(ll,i),binary_output(ll));endif((state_metric(nextstate(j+1,1)+1,2)>state_metric(j+1,1)+branch_metric)|flag(nextstate(j+1,1)+1)==0)state_metric(nextstate(j+1,1)+1,2)=state_metric(j+1,1)+branch_metric;survivor_state(nextstate(j+1,1)+1,i+1)=j;flag(nextstate(j+1,1)+1)=1;endendstate_metric=state_metric(:,2:-1:1);end%從最佳路徑中產(chǎn)生解碼,譯碼過程可從數(shù)組survivor_state的最后一個(gè)位置向前逐級(jí)譯碼state_sequence=zeros(1,depth_of_trellis+1);state_sequence(1,depth_of_trellis)=survivor_state(1,depth_of_trellis+1);fori=1:depth_of_trellisstate_sequence(1,depth_of_trellis-i+1)=survivor_state((state_sequence(1,depth_of_trellis+2-i)+1),depth_of_trellis-i+2);enddecoder_output_matrix=zeros(k,depth_of_trellis-N+1);fori=1:depth_of_trellis-N+1dec_output_deci=input(state_sequence(1,i)+1,state_sequence(1,i+1)+1);dec_output_bin=deci2bin(dec_output_deci,k);%將一次譯碼存入譯碼輸出矩陣decoder_output_matrix相應(yīng)的位置decoder_output_matrix(:,i)=dec_output_bin(k:-1:1)';enddecoder_output=reshape(decoder_output_matrix,1,k*(depth_of_trellis-N+1));cumulated_metric=state_metric(1,1);將程序在matlab中進(jìn)行仿真,對(duì)于(2,1,3)譯碼,G=[111;101],channel_output=recv,此時(shí)令信噪比snr_db=12,得到仿真圖形如圖4-3所示:圖4-3viterbi譯碼輸出的是正確結(jié)果[1101],由理論分析知,信道編碼經(jīng)過bpsk調(diào)制,由于信道噪聲的干擾,在信號(hào)解調(diào)后會(huì)產(chǎn)生一定的差錯(cuò),維特比譯碼雖然有具有糾錯(cuò)功能,但是畢竟是有限的,所以信噪比對(duì)viterbi譯碼性能將產(chǎn)生影響,且信噪比越大,維特比譯碼越準(zhǔn)確。為了驗(yàn)證上述推論,將信噪比減小,令SNR=6。MATLAB仿真結(jié)果如圖4-4所示:當(dāng)信噪比降低到SNR=6時(shí),譯碼輸出變?yōu)閇0111],產(chǎn)生了差錯(cuò)。驗(yàn)證了上述推論。圖4-4調(diào)整信噪比后的譯碼結(jié)果卷積碼的性能分析5.1信噪比對(duì)卷積碼譯碼性能的影響上述過程只是可以看出信噪比會(huì)影響維特比譯碼的性能,為了進(jìn)一步得到兩者更加直觀的聯(lián)系,我們可以通過編程得到信噪比與誤碼率之間的函數(shù)關(guān)系,同時(shí)將沒有進(jìn)行卷積碼的信號(hào)也計(jì)算其誤碼率。代碼如下:clearall;clc;snr_db=0:10;%信息源msg=randint(1,1e3);ber0=zeros(1,length(snr_db));ber1=zeros(1,length(snr_db));%Trellisestrel=poly2trellis(3,[75]);%Definetrellisforrate1/2code.forn=1:length(msg)/2;forx=1:length(snr_db)%Codewordscode=convenc(msg,trel);%Encode.state=20;inter=randintrlv(code,state);%BPSK調(diào)制s0=sign(msg-0.5);s1=sign(inter-0.5);%AWGNChanneladd_noise0=awgn(s0,snr_db(x),'measured');add_noise1=awgn(s1,snr_db(x),'measured');%Deinterleaverwithnoiseforsoftdecodingdeinter_noise=randdeintrlv(add_noise1,state);%解調(diào)r_0=0.5*sign(add_noise0)+0.5;r_1=0.5*sign(add_noise1)+0.5;%Deinterleaverdeinter_1=randdeintrlv(r_1,state);%Tracebacklengthtblen=5;%vitdec判決decoded1=vitdec(deinter_1,trel,tblen,'cont','hard');%vitdec判決%比較誤碼率[num0,rat0]=biterr(r_0,msg);[num1,rat1]=biterr(double(decoded1(tblen+1:end)),msg(1:end-tblen));ber0(n,x)=rat0;ber1(n,x)=rat1;endendber0=mean(ber0);ber1=mean(ber1);程序在matlab中運(yùn)行,得到仿真圖如圖5-1所示,該圖直觀的反映了經(jīng)過卷積碼編碼和沒有經(jīng)過卷積碼編碼的誤碼率之間的區(qū)別。從圖中可以看出,當(dāng)信噪比較小時(shí),未編碼的誤碼率反而比采用編碼的誤碼率低,這是因?yàn)檎`比特太多導(dǎo)致接收到的信息幾乎無效。但是當(dāng)信噪比稍高后卷積碼編碼譯碼的誤碼率就大大降低了。圖5-1信噪比對(duì)誤碼率的影響5.2碼率對(duì)卷積碼譯碼性能的影響卷積碼的碼率R=k/n,它是卷積碼的一個(gè)重要參數(shù),當(dāng)改變卷積碼的碼率時(shí),系統(tǒng)的誤碼性能也將隨之發(fā)生變化,為了研究碼率對(duì)卷積碼誤碼性能的影響,我們以碼率為1/2的(2,1,3)卷積碼和碼率為1/3的(3,1,3)卷積碼作為仿真碼字。(2,1,3)卷積碼的trellis結(jié)構(gòu)為poly2trellis(3,[75]),(3,1,3)卷積碼的trellis結(jié)構(gòu)為poly2trellis(3,[165])。從圖5-2中的誤比特率曲線可以看出,當(dāng)碼率一定時(shí),隨著信道噪聲的逐漸減小,系統(tǒng)的誤比特率也逐漸減小,對(duì)比兩條曲線可清楚地得出(3,1,3)卷積碼的性能要比(2,1,3)卷積碼要好。于是可以得出如下結(jié)論:當(dāng)改變系統(tǒng)碼率時(shí),隨著卷積碼碼率的逐漸提高,系統(tǒng)的誤比特率也呈現(xiàn)出增大的趨勢(shì),也就是說,碼率越低,系統(tǒng)的誤比特率就越小,誤碼性能就越好。圖5-2碼率對(duì)卷積碼性能的影響5.3約束長(zhǎng)度對(duì)卷積碼性能的影響對(duì)于碼率一定的卷積碼,當(dāng)約束長(zhǎng)度N發(fā)生變化時(shí),系統(tǒng)的誤碼性能也會(huì)隨之發(fā)生變化,我們以碼率R=1/2的(2,1,3)和(2,1,7)卷積碼為例展開分析。(2,1,7)卷積碼只需將trellis結(jié)構(gòu)改成poly2trellis(7,[171133])即可。從下圖5-3中的誤比特率曲線可以清楚地看到,在低信噪比時(shí),(2,1,3)卷積碼的的性能要好于(2,1,7)卷積碼的性能。然而當(dāng)信噪比高于一定值后,(2,1,7)卷積碼的的性能要好于(2,1,3)卷積碼的性能,隨著約束長(zhǎng)度的逐漸增加,系統(tǒng)的誤比特率明顯降低,所以說當(dāng)碼率一定,信噪比高于一定值時(shí),增加約束長(zhǎng)度可以降低系統(tǒng)的誤比特率,但是隨著約束長(zhǎng)度的增加,譯碼設(shè)備的復(fù)雜性也會(huì)隨之增加,所以對(duì)于碼率為1/2的卷積碼,我們?cè)谶x取約束長(zhǎng)度時(shí)一般為3~9。圖5-3約束長(zhǎng)度對(duì)卷積碼性能的影響5.4回溯長(zhǎng)度對(duì)卷積碼性能的影響回溯長(zhǎng)度是在Viterbi譯碼過程中一個(gè)很重要的參數(shù),它決定了維特比譯碼的精度,同時(shí)也影響著譯碼延遲(即在輸出第一個(gè)解碼數(shù)據(jù)之前輸出的0的個(gè)數(shù)),隨著它的不斷變化誤碼性能也隨之改變。這里采用(2,1,3)卷積碼為例,將反饋深度分別取值為5,15和35。仿真結(jié)果如圖5-4。圖5-4回溯長(zhǎng)度對(duì)卷積碼性能的影響從圖中的誤比特率曲線可以清楚地看到,當(dāng)回溯長(zhǎng)度一定時(shí),隨著信道噪聲的逐漸減小,系統(tǒng)的誤比特率逐漸降低;當(dāng)回溯長(zhǎng)度逐漸增加,系統(tǒng)的誤比特率隨之逐漸降低,但是當(dāng)回溯程度增加到5N時(shí)(N為編碼的約束長(zhǎng)度),誤比特率數(shù)值趨于穩(wěn)定,這里的(2,1,3)卷積碼在回溯長(zhǎng)度達(dá)到15左右基本趨于穩(wěn)定。因此在確定回溯長(zhǎng)度時(shí)既要考慮到隨著信噪比增加誤比特率隨之降低的趨勢(shì),也要考慮到譯碼延遲會(huì)變大,在選取回溯長(zhǎng)度時(shí),通常取回溯長(zhǎng)度為5N。5.5判決方式對(duì)卷積碼性能的影響采用軟判決即將信道輸出的編碼先不立即判決,而是進(jìn)行量化,量化程序如下:functiono=quantization(s,l);o=0;ifs>1;o=2^l;elseifs<-1;o=-2^l;elsec=abs(s);fori=1:2^l;ifc>1/2^(l+1)+(i-1)/2^l;o=o+1;endendifs<0;o=-o;endendo=(o+2^l)/2^(l+1);再進(jìn)行維特比軟判決譯碼。從圖5-5可知,采用軟判決的誤碼率明顯低于硬判決,實(shí)際上軟判決譯碼算法的路徑度量采用“軟距離”而不是漢明距離。最常采用的是歐幾里德距離,也就是接收波形與可能的發(fā)送波形之間的幾何距離。在采用軟距離的情況下,路徑度量的值是模擬量,需要經(jīng)過一些處理以便于相加和比較。因此,使計(jì)算復(fù)雜度有所提高。除了路徑度量以外,軟判決算法與硬判決算法在結(jié)構(gòu)和過程上完全相同。一般而言,由于硬判決譯碼的判決過程損失了信道信息,軟判決譯碼比硬判決譯碼性能上要好約2dB。圖5-5判決方式對(duì)卷積碼性能的影響結(jié)論卷積碼是一種糾錯(cuò)編碼,糾錯(cuò)編碼己有五十幾年歷史,早在1948年,香農(nóng)(Shannon)在他的開創(chuàng)性論文“通信的數(shù)學(xué)理論”中,首次闡明了在有擾信道中實(shí)現(xiàn)可靠通信的方法,提出了著名的有擾信道編碼定理,奠定了糾錯(cuò)碼的基石。以后,糾錯(cuò)碼受到了越來越多的通信和數(shù)學(xué)工作者,特別是數(shù)學(xué)家的重視,使糾錯(cuò)碼無論在理論上還是在實(shí)際中都得到了飛速發(fā)展。本文首先從數(shù)字通信的一些基本概念和差錯(cuò)控制編碼理論出發(fā),引入卷積碼的一些基本理論,接著討論了卷積碼的編譯碼基本原理,對(duì)卷積碼的表示方法和編譯碼算法做了簡(jiǎn)單的介紹,再通過編寫卷積碼的編碼和解碼程序,并且用MATLAB仿真軟件進(jìn)行仿真和糾錯(cuò)驗(yàn)證,并通過對(duì)不同碼率、不同約束長(zhǎng)度、不同回溯長(zhǎng)度,以及不同判決方式情況下誤碼率的分析,得出以下結(jié)論:(1)當(dāng)編碼約束長(zhǎng)度不大,當(dāng)碼率一定時(shí),隨著信道噪聲的逐漸減小,系統(tǒng)的誤比特率也逐漸減小。(2)當(dāng)改變系統(tǒng)碼率時(shí),隨著卷積碼碼率的逐漸提高,系統(tǒng)的誤比特率也呈現(xiàn)出增大的趨勢(shì),也就是說碼率越低,系統(tǒng)的誤比特率就越小,誤碼性能就越好。對(duì)于二進(jìn)制對(duì)稱信道,當(dāng)采用BPSK調(diào)制方式時(shí),通常選取的碼率為1/2。(3)對(duì)于碼率一定的卷積碼,當(dāng)約束長(zhǎng)度N發(fā)生變化時(shí),系統(tǒng)的誤碼性能也會(huì)隨之發(fā)生變化,隨著約束長(zhǎng)度的逐漸增加,系統(tǒng)的誤比特率明顯降低,所以說當(dāng)碼率一定時(shí),增加約束長(zhǎng)度可以降低系統(tǒng)的誤比特率,但是,隨著約束長(zhǎng)度的增加,譯碼設(shè)備的復(fù)雜性也會(huì)隨之增加。所以對(duì)于碼率為1/2的卷積碼,在選取約束長(zhǎng)度時(shí)一般為3~9。(4)對(duì)于碼率一定的卷積碼,當(dāng)反饋深度發(fā)生變化時(shí),系統(tǒng)的誤碼率也會(huì)發(fā)生一定的變化,隨著反饋深度的增加,系統(tǒng)的誤碼率呈下降趨勢(shì),但是通常在反饋深度大于或者等于約束長(zhǎng)度的五倍時(shí),誤碼率幾乎不再發(fā)生變化,故常常取回溯長(zhǎng)度為5N。(5)對(duì)于碼率一定的卷積碼,采用的譯碼判決方式不同,也會(huì)對(duì)系統(tǒng)的誤碼率產(chǎn)生影響,一般來說,軟判決譯碼性能要優(yōu)于硬判決譯碼性能,但這是以提高設(shè)備復(fù)雜性為代價(jià)的。在本次卷積碼編譯碼算法研究過程中,我學(xué)到了許多關(guān)于卷積碼的知識(shí),對(duì)卷積碼的糾錯(cuò)性能有了較為深刻的認(rèn)識(shí)。但是由于時(shí)間和個(gè)人能力等方面的不足,課題研究中還有些地方做的不到位,也有些領(lǐng)域沒有研究,值得進(jìn)一步完善。如在信道傳輸過程中,本文只是考慮了BPSK信道編碼,而沒有采用較為復(fù)雜的QPSK編碼,所以沒能研究不同的信道編碼方式對(duì)卷積碼誤碼性能的影響。卷積碼的譯碼方法眾多,本文只對(duì)Viterbi譯碼算法做了初步的研究,對(duì)其它的譯碼方式,如代數(shù)譯碼和序貫譯碼,沒有進(jìn)行詳細(xì)的研究和比較,所以沒能研究不同譯碼方式對(duì)卷積碼誤碼性能的影響。卷積碼自提出以來就受到人們的重視,并顯現(xiàn)出了巨大的優(yōu)越性,隨著通信技術(shù)的進(jìn)步,卷積碼也將得到更大的發(fā)展,將提出更多形式的新型卷積碼,進(jìn)一步優(yōu)化通信系統(tǒng)的性能。致謝時(shí)間如梭,轉(zhuǎn)眼畢業(yè)在即?;叵朐诖髮W(xué)求學(xué)的四年,心中充滿無限感激和留戀之情。感謝母校為我們提供的良好學(xué)習(xí)環(huán)境,使我們能夠在此專心學(xué)習(xí),陶冶情操。謹(jǐn)向我的論文指導(dǎo)老師王副教授致以最誠(chéng)摯的謝意!王老師不僅在學(xué)業(yè)上言傳身教,而且以其高尚的品格給我以情操上的熏陶。本文的寫作更是直接得益于他的悉心指點(diǎn),從論文的選題到體系的安排,從觀點(diǎn)推敲到字句斟酌,無不凝聚著他的心血。滴水之恩,當(dāng)以涌泉相報(bào),師恩重于山,師恩難報(bào)。我只有在今后的學(xué)習(xí)、工作中,以鍥而不舍的精神,努力做出點(diǎn)成績(jī),以博恩師一笑。
另外,我必須感謝我的父母。焉得諼草,言樹之背,養(yǎng)育之恩,無以回報(bào)。作為他們的孩子,我秉承了他們樸實(shí)、堅(jiān)韌的性格,也因此我有足夠的信心和能力戰(zhàn)勝前進(jìn)路上的艱難險(xiǎn)阻;也因?yàn)樗麄兊娜找剐羷冢也庞袡C(jī)會(huì)如愿完成自己的大學(xué)學(xué)業(yè),進(jìn)而取得進(jìn)一步發(fā)展的機(jī)會(huì)。
最后,我必須感謝我的朋友們,四年時(shí)光有如白駒過隙,剛?cè)雽W(xué)時(shí)的情景仿佛發(fā)生在昨天,歷歷在目。感謝四年中有他們的陪伴,并且在學(xué)習(xí)與生活中幫助我,與我分享喜悅,承擔(dān)痛苦。參考書目[1]郝建軍,桑林,劉丹譜,羅濤編著,《數(shù)字通信(第2版)》.北京郵電大學(xué)出版社.2010[2]張忠培,史治平,王傳丹編著.《現(xiàn)代編碼理論與應(yīng)用》.北京:人民郵電出版社.2007[3]傅祖蕓,趙建中編著,《信息論與編碼》,電子工業(yè)出版社,2010[4]樊昌信,曹麗娜編著,《通信原理(第6版)》,國(guó)防工業(yè)出版社,2011[5]鄧華.Matlab通信仿真及應(yīng)用[M].北京:人民郵電出版社,2000.[6]王新梅,肖國(guó)鎮(zhèn).糾錯(cuò)碼一原理與方法.西安,西安電子科技大學(xué)出版社,2001,4[7]孟夏,申敏,王飛.TD-SCDMA中(2,1,9)卷積編碼及其VITERBI譯碼算法的SIMULINKS-FUNCTION實(shí)現(xiàn)[J].通信技術(shù),2008,41(8):26-30.[8]徐文燕.通信原理[M].北京:北京郵電學(xué)院出版社,2008[9]張忠培,史治平,王傳丹編著.現(xiàn)代編碼理論與應(yīng)用.北京:人民郵電出版社.2007[10](美)S.LinandD.J.Costello著.晏堅(jiān),何元智,潘亞漢等譯.差錯(cuò)控制編碼.[11]張忠培,史治平,王傳丹編著.現(xiàn)代編碼理論與應(yīng)用.北京:人民郵電出版社.2007[12]仇佩亮.《信息論與編碼》高等教育出版社.[13]徐文燕.通信原理[M].北京:北京郵電學(xué)院出版社,2008[14]C.E.Shannon.“Amathematicaltheoryofcommunication”.BellSystemsTechnicalJournal,vol.27,pp.379-423,July1948.[15]C.Berrou,A.Glavieux,andP.Thitimajshima.“Nearshannonlimiterr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 深度復(fù)習(xí):消防設(shè)施考試試題及答案路徑
- 實(shí)施化妝品容器形態(tài)創(chuàng)新設(shè)計(jì)指南
- 描寫手法與人物性格塑造試題及答案
- 家裝建材行業(yè)家居智能化設(shè)計(jì)與實(shí)施方案
- 解決具體業(yè)務(wù)問題的行動(dòng)方案
- 2025年河南省建筑安全員-B證考試題庫(kù)附答案
- 信息化物流師重要法規(guī)試題及答案
- 2025年滴定儀項(xiàng)目建議書
- 《語(yǔ)文園地六》第一課時(shí) 教學(xué)設(shè)計(jì)-2024-2025學(xué)年語(yǔ)文三年級(jí)下冊(cè)統(tǒng)編版
- 人工智能算法應(yīng)用與實(shí)現(xiàn)試題集
- 路基土石方路基開挖開工申請(qǐng)報(bào)告
- PLC控制輪式機(jī)器人操作手畢業(yè)論文
- 普通教育學(xué)第八章德育課件
- 政治經(jīng)濟(jì)學(xué)1政治經(jīng)濟(jì)學(xué)-導(dǎo)論課件
- 痙攣康復(fù)及肉毒素的應(yīng)用培訓(xùn)課件
- 江埡中學(xué)學(xué)生會(huì)章程
- 秋 輕合金 鋁合金相圖及合金相課件
- 安全安全檢查表分析(SCL)記錄表(設(shè)備、設(shè)施)
- 清明節(jié)主題班會(huì)PPT模板
- 北師大版小學(xué)數(shù)學(xué)三年級(jí)下冊(cè)第三單元《乘法》教材分析
- 小學(xué)巡課記錄表
評(píng)論
0/150
提交評(píng)論