matlab實(shí)現(xiàn)turbo編譯碼畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  Matla實(shí)現(xiàn)turbo編譯碼</p><p>  本科畢業(yè)設(shè)計(jì)(論文)</p><p>  題 目 </p><p><b>  學(xué)生姓名 </b></p><p><b>  專業(yè)班級(jí) </b></p><p><b&g

2、t;  學(xué) 號(hào) </b></p><p><b>  院 (系)</b></p><p><b>  指導(dǎo)教師(職稱)</b></p><p><b>  完成時(shí)間 </b></p><p><b>  目 錄</b></p

3、><p><b>  摘 要I</b></p><p>  ABSTRACTII</p><p><b>  1 信道編碼1</b></p><p>  1.1 信道編碼及信道編碼的提出1</p><p>  1.2 信道編碼的發(fā)展歷程1</p><

4、p>  1.3 信道編碼的分類4</p><p>  2 相關(guān)基本概念和常識(shí)5</p><p>  2.1 關(guān)于糾錯(cuò)碼的基本概念5</p><p>  2.2 卷積碼初步6</p><p>  3 Turbo碼的產(chǎn)生及研究現(xiàn)狀7</p><p>  3.1 Turbo碼的產(chǎn)生背景7</p>

5、<p>  3.2 Turbo碼的研究現(xiàn)狀8</p><p>  4 Turbo碼編碼10</p><p>  4.1 編碼器各部分介紹10</p><p>  4.2 編碼原理及算法11</p><p>  5 Turbo碼譯碼15</p><p>  5.1 譯碼器結(jié)構(gòu)15</p&g

6、t;<p>  5.2 Turbo碼迭代譯碼基本原理16</p><p>  5.3 MAP(maximum a posteriori)算法17</p><p>  6 Matlab介紹及仿真結(jié)果21</p><p>  6.1 Matlab程序設(shè)計(jì)語(yǔ)言概述21</p><p>  6.2 程序仿真結(jié)果23</p

7、><p><b>  7 結(jié)束語(yǔ)28</b></p><p><b>  致 謝29</b></p><p><b>  參考文獻(xiàn)30</b></p><p>  Matlab實(shí)現(xiàn)turbo編譯碼</p><p><b>  摘 要<

8、/b></p><p>  本文是對(duì)一種新型卷積碼——Turbo碼的編譯碼算法進(jìn)行研究及其Matlab仿真,著重討論的是Turbo碼譯碼算法的改進(jìn)及性能分析。Turbo碼由于在比特誤碼率方面的性能可以接近香農(nóng)極限,成為當(dāng)今的研究熱點(diǎn)。它的編碼器是將兩個(gè)遞歸系統(tǒng)卷積碼并行級(jí)聯(lián),而其相應(yīng)的譯碼器采用迭代譯碼方法。</p><p>  第一章解釋了信道編碼及其相關(guān)知識(shí),包括信道編碼的分類和

9、發(fā)展過(guò)程;第二章介紹了編碼中常用的基本概念和卷積碼的初步知識(shí);第三章介紹了Turbo碼的提出以及研究現(xiàn)狀;第四章主要講了Turbo碼編碼方法、編碼器的結(jié)構(gòu),并給出了具體的編碼算法;第五章是本文的核心,重點(diǎn)闡述了Turbo碼的譯碼原理、譯碼算法。第六章對(duì)Matlab做了簡(jiǎn)要的介紹,并利用它對(duì)Turbo碼的編碼、譯碼的整個(gè)過(guò)程做了仿真。第七章列舉了Turbo碼的不足,然后對(duì)本畢業(yè)設(shè)計(jì)做了簡(jiǎn)要總結(jié)及致謝。</p><p&g

10、t;  關(guān)鍵詞 信道編碼/Turbo碼/維特比譯碼</p><p>  MATLAB SIMULATION OF TURBO-CODE ENCODING AND DECODING</p><p><b>  ABSTRACT</b></p><p>  This paper deals with the study of encoding &

11、amp; decoding algorithm and Matlab simulation of a new convolutional code which called Turbo-code, Specially dicusses the improvement of decoding algorithm and analyszes their performances. Because of its performances in

12、 terms of Bit Error Rate (BER) are close to the SHANNON limit, it be hotspot. Turbo-code encoder uses a parallel concatenation of two Recursive Systematic Convolutional codes and the associated decoder uses iterative dec

13、oding methods. </p><p>  Chapter Ⅰ explains what channel coding is and some knowledge pertinent to it. Chapter Ⅱ gives us some basic concepts about encoding and decoding, then explains convolutional codes an

14、d how to generate them. Chapter Ⅲ comes to contact with Turbo codes and generalizes what aspects we are studying of Turbo codes. Chapter Ⅳ makes eyes on encoder’s structure and how to encode the information bits to Turbo

15、 codes. At the end of this part we give a idiographic encoding algorithm. Chapter Ⅴ is the core of</p><p>  KEY WORDS channel-coding, Turbo-code, viterbi-decoding</p><p><b>  1 信道編碼</b

16、></p><p>  1.1 信道編碼及信道編碼的提出</p><p>  所謂信道編碼,就是按照一定的規(guī)則給待傳送的數(shù)字序列bjehhhx增加一些多余的碼元,稱之為監(jiān)督碼元,使不具有規(guī)律性的數(shù)字序列yxmyjze變換為具有某種規(guī)律性的數(shù)字序列{c},又稱為碼序列。經(jīng)變換后得到的碼序列中,信息序列的諸碼元與多余碼元之間是相關(guān)的,接收端的譯碼器則根據(jù)這種相關(guān)性來(lái)檢測(cè)和糾正傳輸過(guò)程中產(chǎn)生的差錯(cuò)。<

17、;/p><p>  長(zhǎng)期以來(lái),人們一直在努力探索著如何安全可靠的進(jìn)行信息傳輸?shù)耐緩健?948年,香農(nóng)(C.Shannon)在他的開創(chuàng)性論文《通信的數(shù)學(xué)理論》(A mathematical theory of communication)中,首次闡明了在有擾信道中實(shí)現(xiàn)可靠通信的方法,提出了著名的“有擾信道編碼定理”,奠定了信道編碼(即糾錯(cuò)碼)的基石。定理指出:在有噪聲的信道環(huán)境下,只要信源的信息速率不超過(guò)信道容量,就可

18、以找到一種編碼方法,使信息的傳輸速率任意逼近信道容量,而傳輸?shù)腻e(cuò)誤概率任意逼近于零,或者傳輸?shù)氖д娑饶軌蛉我獾谋平o定的要求,即實(shí)現(xiàn)可靠通信。在這里,香農(nóng)定理指出了信道編碼在實(shí)現(xiàn)有效、可靠通信方面的重要地位和作用,并從理論上為信道編碼的發(fā)展指出來(lái)努力的方向。由此,人們還認(rèn)識(shí)到,沒(méi)有必要建立性能特別好的耗費(fèi)特別高的信道去保證通信的可靠性,只需應(yīng)用適當(dāng)?shù)木幋a技術(shù)便可以達(dá)到目的,而且更為經(jīng)濟(jì)。自此以后,漢明(Hamming)、斯列賓(Slep

19、ian)、普蘭奇(Prange)等人在50年代初,根據(jù)香農(nóng)的思想,給出了一系列設(shè)計(jì)好碼和有效譯碼的方法。</p><p>  1.2 信道編碼的發(fā)展歷程</p><p>  迄今為止,信道編碼已有50多年的歷史,其發(fā)展過(guò)程可分為以下幾個(gè)階段:</p><p>  50年代和60年代里,人們主要致力于尋找能保證差錯(cuò)概率為任意小的碼及譯碼算法。首先得到重視的是分組碼。人

20、們利用代數(shù)方法逐步認(rèn)識(shí)了Hamming碼、BCH碼、RS碼等分組碼,并發(fā)現(xiàn)了一些有效的譯碼算法。后來(lái),人們又著重用概率方法對(duì)卷積碼的結(jié)構(gòu)進(jìn)行研究,提出來(lái)Viterbi算法之類的譯碼算法方法。同時(shí),還提出了一些結(jié)構(gòu)特殊或功能特殊的碼,如錯(cuò)誤定位碼、級(jí)聯(lián)碼(concatenated code)、收縮碼、不等錯(cuò)誤保護(hù)碼等等。G.D.Forney在1966年提出了一種由短碼構(gòu)造長(zhǎng)碼的方案:串行級(jí)聯(lián)碼方案。如下圖所示。級(jí)聯(lián)碼的性能良好,譯碼技術(shù)簡(jiǎn)

21、單,具有實(shí)用潛力。</p><p>  圖1-1 串行級(jí)連碼編碼器框圖</p><p>  圖1-2 串行級(jí)連碼譯碼器框圖</p><p>  在70年代和80年代,人們不僅對(duì)分組碼、卷積碼分別進(jìn)行了更深入的研究,而且將代數(shù)方法和概率方法結(jié)合起來(lái),設(shè)計(jì)出了幾種碼字很長(zhǎng)、性能較好的碼族,使得信道編碼理論向著C.Shannon指出的方向進(jìn)一步推進(jìn)。這時(shí),人們開始

22、將注意力轉(zhuǎn)向差錯(cuò)控制碼在實(shí)際通信系統(tǒng)中的應(yīng)用,設(shè)計(jì)出來(lái)很多適用的差錯(cuò)控制方案。這期間,人們對(duì)級(jí)聯(lián)碼也進(jìn)行了初步考察。這些研究為今后信道編碼的廣泛應(yīng)用打下了理論基礎(chǔ)。</p><p>  80年代以來(lái),信道編碼無(wú)論在理論上或是在應(yīng)用方面都得到空前的發(fā)展。</p><p>  在理論上,人們不僅從碼的未檢出錯(cuò)誤概率、重量分布、覆蓋半徑、球半徑等各個(gè)方面綜合進(jìn)行研究,以期發(fā)現(xiàn)性能更好、譯碼方案更

23、簡(jiǎn)單的編碼方案、而且對(duì)級(jí)聯(lián)碼之類的特殊碼進(jìn)行深入分析。人們還將差錯(cuò)控制編碼與其他抗干擾技術(shù)如調(diào)制、擴(kuò)頻、保密等結(jié)合起來(lái),再用最優(yōu)化方法進(jìn)行討論分析,研究出一些適合于各種通信系統(tǒng)的最優(yōu)抗干擾方案。</p><p>  集成電路和計(jì)算機(jī)技術(shù)的發(fā)展使差錯(cuò)控制編碼在通信系統(tǒng)中得到廣泛應(yīng)用,為了適應(yīng)某些現(xiàn)代通信的要求,如深空通信、流星通信等,人們又設(shè)計(jì)出了許多新的編碼方案。</p><p>  19

24、93 年Berrou提出來(lái)當(dāng)前最熱門的一種接近香農(nóng)極限性能的Turbo碼(Turbo-codes),這種碼又名并行級(jí)聯(lián)反饋系統(tǒng)卷積碼。此碼的算法簡(jiǎn)單,卻可以很快達(dá)到香農(nóng)限。</p><p>  1.3 信道編碼的分類</p><p>  信道編碼方法有多種,一般可以按以下方式對(duì)其分類:</p><p>  按照信息碼元和監(jiān)督碼元之間約束方式的不同,可以分為分組碼和卷

25、積碼。若本碼組的監(jiān)督碼元僅與本碼組的信息碼元有關(guān),而與其他碼組的信息碼元無(wú)關(guān),則稱這列碼為分組碼;若本碼組的監(jiān)督碼元不僅與本碼組的信息碼元有關(guān)而且還和本碼組相鄰的前若干個(gè)碼組的信息碼元有關(guān),則這列碼成為卷積碼。</p><p>  按照信息碼元與監(jiān)督碼元之間的檢驗(yàn)關(guān)系又可以分為線性碼和非線性碼。若編碼規(guī)則可以用線性方程組來(lái)表示,則稱之為線性碼,反之,若兩者不存在線性關(guān)系,則稱為非線性碼。</p>&

26、lt;p>  按照編碼后每個(gè)碼字的結(jié)構(gòu)可分為系統(tǒng)碼和非系統(tǒng)碼。在系統(tǒng)碼中,編碼后的信息碼元保持原樣不變,而非系統(tǒng)碼中信息碼元?jiǎng)t改變了原有的信號(hào)形式。</p><p>  按照糾正錯(cuò)誤的類型的不同,可分為糾正隨機(jī)錯(cuò)誤和糾正突發(fā)錯(cuò)誤的碼。前者主要用于發(fā)生零星獨(dú)立錯(cuò)誤的信道,而后者則用于對(duì)付以突發(fā)錯(cuò)誤為主的信道。</p><p>  2 相關(guān)基本概念和常識(shí)</p><p

27、>  上一章,簡(jiǎn)單介紹了信道編碼相關(guān)的一些情況,在本章中,將介紹有關(guān)編碼的一些相關(guān)概念以及卷積碼的編碼方法。</p><p>  2.1 關(guān)于糾錯(cuò)碼的基本概念</p><p>  本節(jié)中,介紹了一些與信道編碼有關(guān)的重要的概念知識(shí),這些概念在編、譯碼理論中非常重要。</p><p><b>  1、錯(cuò)誤圖樣</b></p>&

28、lt;p>  設(shè)發(fā)送的是n個(gè)碼元長(zhǎng)的序列C:()通過(guò)信道傳輸?shù)竭_(dá)接收端(糾錯(cuò)碼譯碼器的輸入端)的序列為R:。由于信道中存在干擾,R序列中某些碼元可能與C序列中對(duì)應(yīng)的碼元的值不同。而在二進(jìn)制序列中的錯(cuò)誤只有0錯(cuò)成1或者1錯(cuò)成0,因此把信道中的干擾也用二進(jìn)制序列E:來(lái)表示,則相應(yīng)有錯(cuò)誤的位取值為“1”,無(wú)錯(cuò)的位取值為“0”,而R就是C與E序列模2加的結(jié)果,即:。我們稱E為信道的錯(cuò)誤圖樣或干擾矢量。</p><p&g

29、t;<b>  2、碼字和碼率</b></p><p>  分組碼是對(duì)每段k位長(zhǎng)的信息組,以一定的規(guī)則增加個(gè)校驗(yàn)元,組成長(zhǎng)為n的序列:(),這個(gè)序列就稱為碼字(碼組或碼矢)。碼率是指在一個(gè)碼字中信息位所占地比重,用R表示,R=k/n。R體現(xiàn)了傳輸信息的有效性。</p><p>  3、漢明距離和漢明重量</p><p>  漢明距離指兩個(gè)碼字之

30、間對(duì)應(yīng)位取不同值得個(gè)數(shù);漢明重量是指一個(gè)碼字中非零碼元的個(gè)數(shù);最小漢明距離指的是在各種有用碼組中漢明距離的最小值。</p><p>  4、碼的抗干擾能力與最小漢明距離之間的關(guān)系</p><p>  若碼集中碼字間的最小距離滿足,則該碼集中的碼字具有檢測(cè)e個(gè)錯(cuò)誤的能力;</p><p>  若碼集中碼字間的最小距離滿足,則該碼集中碼字具有糾正t個(gè)錯(cuò)誤的能力;<

31、/p><p>  若碼集中碼字間最小距離滿足(e>t),則該碼集中的碼字具有糾t個(gè)錯(cuò)誤同時(shí)檢出e個(gè)錯(cuò)誤的能力。</p><p><b>  2.2 卷積碼初步</b></p><p>  在當(dāng)今數(shù)字通信系統(tǒng)中大都使用信道編碼來(lái)提高系統(tǒng)性能。最常用的信道編碼是卷積碼。一個(gè)Turbo碼可以看成是二維或多維的卷積碼。因此在這里將對(duì)卷積碼作簡(jiǎn)單的介紹

32、。</p><p><b>  卷積碼的特點(diǎn)如下:</b></p><p>  當(dāng)n和k均較小,且要求糾錯(cuò)能力較強(qiáng),可使用卷積碼。</p><p>  1、卷積碼中一個(gè)碼字(n位)的校驗(yàn)元不僅取決于本碼字信息元(k位),而且取決于前m組的信息元。表示為。稱為編碼記憶,N=m+1(N為約束長(zhǎng)度);</p><p>  2、

33、譯碼也需要考慮若干碼組的影響方能譯出一個(gè)碼組信息元;</p><p>  3、由于各碼組間及碼組內(nèi)相關(guān)性較分組碼強(qiáng),卷積碼的n、k可用較小的數(shù)而獲得多位分組碼同樣的性能。</p><p>  3 Turbo碼的產(chǎn)生及研究現(xiàn)狀</p><p>  Turbo碼是一類新型的信道編碼。Turbo碼在編碼領(lǐng)域里有三大特點(diǎn),(1)使用遞歸系統(tǒng)卷積碼作為編碼器的編碼單元;(2)

34、使用隨機(jī)交織器;(3)在譯碼器中使用內(nèi)部信息和外部信息。</p><p>  3.1 Turbo碼的產(chǎn)生背景</p><p>  1948年香農(nóng)在《通信的數(shù)學(xué)理論》中提出了香農(nóng)第二定理(也稱信道編碼定理),具體表述為:設(shè)信道容量為,對(duì)于任何的信息傳輸速率,都存在長(zhǎng)為的分組碼可使錯(cuò)誤譯碼概率滿足下式:</p><p><b> ?。?-1)</b>

35、;</p><p>  式中的指數(shù)項(xiàng)是一個(gè)在下的的正函數(shù),并且該項(xiàng)只與信道的特性有關(guān)。上式說(shuō)明,對(duì)于任何低于的傳輸速率,可在碼率不變的前提下增加分組碼的長(zhǎng)度,使差錯(cuò)概率為任意小。對(duì)卷積碼也有類似的界限式,其中由碼的約束長(zhǎng)度代替。在極限情況下趨向無(wú)窮,要求帶寬趨向無(wú)窮。由信息論的基本知識(shí)可知,信道容量</p><p><b> ?。?-2)</b></p>

36、<p><b>  由于</b></p><p><b>  (3-3)</b></p><p>  由上式可知,當(dāng)信噪比大于-1.6dB,信道容量C大于信息速率R,此時(shí)就可實(shí)現(xiàn)高斯白噪聲信道下的無(wú)誤傳輸。這就是帶寬無(wú)限高斯白噪聲信道的極限傳輸能力,稱為香農(nóng)限。</p><p>  香農(nóng)在導(dǎo)出上式時(shí),是以隨機(jī)編

37、碼論證為基礎(chǔ)的。該界限是對(duì)隨機(jī)選取編碼總體上的差錯(cuò)概率取平均得到的。由于總體中肯定存在一些超過(guò)平均性能的碼,因此這個(gè)定理保證存在一些能達(dá)到上式界限的碼。</p><p>  但是需要考慮的實(shí)際問(wèn)題是一、編碼定理并未給出構(gòu)造有效碼的方法;二、當(dāng)要求的差錯(cuò)率很低時(shí),將迫使采用非常長(zhǎng)的碼,這導(dǎo)致譯碼算法非常復(fù)雜。因此在過(guò)去的幾十年內(nèi),編碼領(lǐng)域中的研究工作主要圍繞兩個(gè)關(guān)鍵問(wèn)題,即尋求不同長(zhǎng)度下具有良好性能的碼類,以及復(fù)雜

38、程度能夠接受下的能實(shí)現(xiàn)碼的固有性能的譯碼算法。香農(nóng)理論已經(jīng)指出,增加分組碼的長(zhǎng)度或卷積碼的約束長(zhǎng)度可以提高碼的糾錯(cuò)性能。但是由于最大似然譯碼的復(fù)雜度隨增加而增加,以至于物理不可實(shí)現(xiàn),這樣人們就試圖構(gòu)造出具有大的等效分組長(zhǎng)度,性能強(qiáng)大,同時(shí)譯碼算法又不至于過(guò)于復(fù)雜的碼。如乘積碼、級(jí)聯(lián)碼、大約束長(zhǎng)度的卷積碼等都是這方面嘗試,因此傳統(tǒng)的級(jí)聯(lián)碼等及其譯碼與信道的極限之間還有著很大差距。</p><p>  1993年,法

39、國(guó)的C.Berrou 等提出了一種新的糾錯(cuò)碼------Turbo碼。Turbo碼一經(jīng)提出,就以其優(yōu)異的性能被編碼界專家認(rèn)為是近幾年來(lái)最令人興奮和最具有潛力的重大發(fā)展。Turbo碼與以往所有的碼的不同之處在于它通過(guò)一個(gè)交織器的作用,達(dá)到接近隨機(jī)編碼的目的,并且使等效分組長(zhǎng)度很大。香農(nóng)指出“隨機(jī)碼”是一種好碼,因此Turbo碼也必然是一種好碼。此外它所采用的迭代譯碼策略,使得譯碼復(fù)雜性大大降低。它采用兩個(gè)子譯碼器通過(guò)交換稱為邊信息(或外部

40、信息)的輔助信息,相互支持,從而提高譯碼性能。邊信息的交換是在迭代譯碼的過(guò)程中實(shí)現(xiàn)的,前一次迭代產(chǎn)生的邊信息經(jīng)交換后將作為下一次迭代的先驗(yàn)信息。</p><p>  3.2 Turbo碼的研究現(xiàn)狀</p><p>  自從Turbo碼提出以來(lái),Turbo碼很快就成為糾錯(cuò)編碼界研究的熱點(diǎn)。它的研究目前主要集中在以下幾個(gè)方面:</p><p><b>  1編

41、碼器的研究</b></p><p>  目前編碼器的研究著重于: ①子碼的選擇;②非二元Turbo碼,即子碼用元碼代替二元碼;③編碼器結(jié)構(gòu)的研究,如提出采用多子編碼器結(jié)構(gòu);④為適應(yīng)語(yǔ)音、圖象等的傳輸,提出不等能力糾錯(cuò)的Turbo編碼,即對(duì)信息比特和校驗(yàn)比特的功率分配進(jìn)行優(yōu)化。</p><p>  2迭代譯碼算法的研究</p><p>  目前的一些譯碼算

42、法存在以下幾個(gè)主要問(wèn)題。①雖然由于Turbo碼采用了迭代譯碼的思想,每個(gè)迭代單元的譯碼并不是非常復(fù)雜,但是要使誤碼率達(dá)到一定要求,迭代次數(shù)必須較多,從而使譯碼時(shí)延增大。如果要將Turbo碼用于語(yǔ)音傳輸,時(shí)延將不可忍受;②譯碼復(fù)雜性隨卷積碼的約束長(zhǎng)度或分組碼的碼字長(zhǎng)度增加而呈指數(shù)增加。因此迭代譯碼算法的研究主要是在保證一定算法性能的前提下,尋找譯碼復(fù)雜性與約束長(zhǎng)度無(wú)關(guān)的算法,并且簡(jiǎn)化算法,使其便于用硬件實(shí)現(xiàn)。同時(shí)減少時(shí)延,以能用于實(shí)時(shí)語(yǔ)音

43、通信中。目前的改進(jìn)集中在以下幾方面:</p><p>  (1)通過(guò)減少非線性運(yùn)算減少算法計(jì)算量,如提出對(duì)數(shù)域的MAP算法,使得性能優(yōu)異的MAP算法便于硬件實(shí)現(xiàn);</p><p>  (2)改進(jìn)SOVA算法,尤其是減少SOVA算法在短交織長(zhǎng)度下和MAP算法的性能差距,使得短交織長(zhǎng)度下SOVA算法能以可接受的性能取代MAP算法;</p><p>  (3)采用對(duì)偶碼的

44、概念譯碼,避免譯碼復(fù)雜性與約束長(zhǎng)度或分組碼碼字長(zhǎng)度成指數(shù)關(guān)系。</p><p>  (4)改進(jìn)迭代過(guò)程中信息傳遞的方式,提出了并發(fā)(concurrent)算法、雙向Viterbi譯碼方法等,從而加速譯碼過(guò)程; </p><p>  (5)尋找判決迭代收斂的規(guī)則,及時(shí)結(jié)束譯碼迭代;</p><p>  (6)將神經(jīng)網(wǎng)絡(luò)計(jì)算器用于Turbo碼譯碼。</p>

45、<p>  4 Turbo碼編碼</p><p>  由于編碼方式的不同將直接影響譯碼的方式、方法,所以,在本章里,將詳細(xì)介紹有關(guān)Turbo碼編碼器的結(jié)構(gòu)及具體編碼方法的算法。</p><p>  Turbo碼的基本思想是利用短碼構(gòu)造等效長(zhǎng)度意義上的長(zhǎng)碼。一個(gè)典型的Turbo碼編碼器如圖4-1所示。</p><p>  圖4-1 Turbo碼編碼器基本結(jié)

46、構(gòu)</p><p>  編碼是通過(guò)兩個(gè)相同的編碼器和一個(gè)交織器組成。第一個(gè)編碼器直接對(duì)信源信息序列進(jìn)行編碼,第二個(gè)編碼器則對(duì)經(jīng)過(guò)交織器后的信息序列進(jìn)行編碼,交織器對(duì)輸入的原信息序列進(jìn)行隨機(jī)交織后輸出。在編碼時(shí),為使編碼器初始狀態(tài)置于全零狀態(tài),需要在信息序列之后加m個(gè)比特尾信息(tail bits),而要使兩個(gè)編碼器同步歸零,必須設(shè)計(jì)合適的交織器。(實(shí)際上,在本文中后邊對(duì)SOVA具體實(shí)現(xiàn)時(shí),使得第一個(gè)編碼器最終的狀

47、態(tài)歸零了,而第二個(gè)未歸零,但仍可以用類似的方法譯碼)。</p><p>  4.1 編碼器各部分介紹</p><p>  1成員編碼器(component encoder)</p><p>  成員編碼器(component encoder)也叫子編碼器。一般一個(gè)Turbo碼編碼器由兩個(gè)(可以多個(gè))子編碼器和通過(guò)交織器的作用并行級(jí)聯(lián)組成.子編碼器的結(jié)構(gòu)可以不同,但一

48、般取相同結(jié)構(gòu),以簡(jiǎn)化譯碼.子碼可以是卷積碼或者是分組碼。</p><p>  2交織器(interleaver)</p><p>  Turbo碼中交織器的主要作用是減少校驗(yàn)比特間的相關(guān)性, 進(jìn)而在迭代譯碼過(guò)程中降低誤比特。其基本的原則是: 通過(guò)增加交織器的長(zhǎng)度, 可使譯碼性能得到提高交織器應(yīng)該使輸入序列盡能地隨機(jī)化, 從而避免編碼生成碼字的信息序列交織后, 編碼仍舊生成低重碼字, 導(dǎo)致T

49、urbo碼的自由距離減少。</p><p>  交織器一般有這樣幾種:分塊交織、偽隨機(jī)交織以及兩者結(jié)合的交織方式。</p><p>  分塊交織分為兩種:Ⅰ型,采用行順序?qū)懭?、列順序讀出方式;Ⅱ型寫入順序與Ⅰ型交織器的寫入順序一致,但讀出順序是以列的倒序來(lái)完成的。即從最后一列向第一列讀出,而每一列則是從最后一行向第一行的順序來(lái)讀出。</p><p>  偽隨機(jī)交織器

50、。本文中實(shí)現(xiàn)的算法就是采用的這種方式,所以在這里詳細(xì)的介紹一下。偽隨機(jī)交織器反映的實(shí)際上是一種映射關(guān)系。其工作過(guò)程是:對(duì)于長(zhǎng)為n的信息序列,首先標(biāo)記每個(gè)比特的位置,然后生成n個(gè)[0,1]之間的隨機(jī)數(shù),按產(chǎn)生的順序排列成序列X,每個(gè)隨機(jī)數(shù)都對(duì)應(yīng)于信息序列中的信息比特。然后把X中元素按一定的規(guī)則重新排列得到新的序列Y,并按Y中元素的順序讀出相應(yīng)的信息比特,這樣就完成了交織。比如偽隨機(jī)序列[0.7621 0.4565 0.0185 0.

51、8214 0.4447],它對(duì)應(yīng)信息序列X為[ ]。將隨機(jī)序列按升序排列得到[0.0185 0.4447 0.4565 0.7621 0.8214],則現(xiàn)在對(duì)應(yīng)的信息序列Y為[ ]。這樣,就完成了交織。</p><p>  4.2 編碼原理及算法</p><p><b>  1編碼原理</b></p><p>  如果一個(gè)

52、碼率為的卷積碼的生成矩陣為:</p><p><b>  (4-1)</b></p><p>  則其對(duì)應(yīng)的遞歸系統(tǒng)卷積碼的生成矩陣為:</p><p><b>  (4-2)</b></p><p>  如以生成矩陣為(也可以表示為g=[1 1 0 1;1 1 1 1])的遞歸系統(tǒng)卷積碼作為子碼,

53、它對(duì)應(yīng)的Turbo碼結(jié)構(gòu)如圖4-2所示。</p><p>  圖4-2 [15,17]遞歸卷積碼編碼結(jié)構(gòu)圖</p><p>  輸入編碼器的信息序列為,它一方面直接輸入到進(jìn)行編碼,生成系統(tǒng)序列和校驗(yàn)序列,另一方面,U經(jīng)過(guò)交織器后,輸入到中進(jìn)行編碼,產(chǎn)生另一個(gè)校驗(yàn)序列,這三個(gè)序列經(jīng)復(fù)用單元復(fù)用后完成編碼,得到發(fā)送序列。復(fù)用單元的作用是調(diào)整編碼速率,并將并行數(shù)據(jù)變換為串行數(shù)據(jù)流。通常系統(tǒng)序列

54、全部傳送,校驗(yàn)序列按照收縮矩陣收縮。圖示Turbo碼編碼器可以采用收縮矩陣將編碼速率調(diào)整到1/2,矩陣的每行對(duì)應(yīng)一個(gè)子編碼器,第一列和第二列分別對(duì)應(yīng)子編碼器輸出的第偶數(shù)個(gè)碼元和第奇數(shù)個(gè)碼元。1表示該碼元需要傳送,0表示不需傳送。</p><p>  如果稱對(duì)原始信息序列編碼為水平方向的編碼,稱對(duì)經(jīng)過(guò)交織器后的信息序列編碼為垂直方向的編碼。在每個(gè)方向上,個(gè)信息比特經(jīng)過(guò)編碼器輸出為</p><p&

55、gt;<b>  (4-3)</b></p><p><b>  其中,或 </b></p><p>  表示信息比特,表示與該信息比特對(duì)應(yīng)的校驗(yàn)比特,校驗(yàn)比特?cái)?shù)取決于系統(tǒng)卷積碼的生成多項(xiàng)式。顯然</p><p><b>  (4-4)</b></p><p>  傳輸前經(jīng)過(guò)

56、收縮,有一部分校驗(yàn)比特將不予傳送,在接收端未被傳送的比特位用零填充。</p><p>  從上面的介紹我們可以看到,Turbo碼編碼部分級(jí)聯(lián)結(jié)構(gòu)和交織器的共同作用,使Turbo編碼接近隨機(jī)編碼,從而保證了Turbo碼必定是一種好碼。</p><p><b>  2編碼算法</b></p><p>  1、首先談一下對(duì)生成多項(xiàng)式g的理解。<

57、/p><p>  圖4-3 遞歸系統(tǒng)碼</p><p>  對(duì)照遞歸系統(tǒng)卷積碼的一般的編碼結(jié)構(gòu)圖4-3。如前所述,其中[1,m+1](其中m是寄存器的數(shù)目)。是矩陣g的第一行,可以看成是對(duì)應(yīng)的圖5中的反饋環(huán)支路;是矩陣g的第二行,可以看成對(duì)應(yīng)的是輸出的支路。和分別對(duì)應(yīng)兩點(diǎn)的信息。無(wú)論還是中的后m個(gè)信息位的每一位都分別對(duì)應(yīng)一個(gè)寄存器。它們可以看成是標(biāo)志著一種狀態(tài)。第一行中的后m位表示產(chǎn)生反饋

58、信息所用到的寄存器,比如說(shuō)第j+1位,它對(duì)應(yīng)于第j個(gè)寄存器,該位為1表示用到了該寄存器內(nèi)的信息,即該寄存器有反饋到輸出信息的那個(gè)加法器,為零則表示沒(méi)有反饋回去。同理,中的后m位表示產(chǎn)生信息所用到的寄存器。</p><p><b>  2、編碼算法</b></p><p> ?。?) 對(duì)于encoder1:</p><p><b>  

59、d=input ;</b></p><p>  L_info=length(d) ;</p><p>  L_total=L_info + m ;</p><p>  goto (3) ;</p><p>  Y(1,:)=X ;</p><p>  Y (2,:) =Y(jié) ;</p><

60、p>  對(duì)于encoder2:</p><p>  d=Y(jié)(1,:)(alpha) ;%alpha為偽隨機(jī)交織圖樣</p><p>  %(是L_total列行向量)</p><p>  L_total=length(d) ;</p><p>  L_info=L_total ;</p><p>  goto (

61、3) ;</p><p>  Y (3,:) =Y(jié) ;</p><p><b>  Goto (4)。</b></p><p>  (3) ① state為一m列行向量。初始化為零</p><p> ?、?if L_info,</p><p><b> ?。剑?lt;/b><

62、;/p><p>  elseif L_info<L_total </p><p> ?。絒2:m+1] state ;</p><p><b> ?。剑?lt;/b></p><p><b>  endif</b></p><p> ?、?=[ state] ;</p

63、><p>  =[ state] ;</p><p>  state=[ state(1:m-1)] ;</p><p><b>  k=k+1 ;</b></p><p>  if k L_total goto② ;</p><p>  (4) 令Y=2Y-1 (把0和1信號(hào)調(diào)制成-1和1信號(hào)

64、);然后進(jìn)行并/串變換:如果沒(méi)有刪余,則對(duì)矩陣Y按列的順序取,取完第一列,取第二列,直到最后一列(第L_total列);如果有刪余,則對(duì)于Y的第一行系統(tǒng)碼,當(dāng)取第奇數(shù)個(gè)系統(tǒng)碼時(shí),取對(duì)應(yīng)列第二行的校驗(yàn)碼,當(dāng)取第偶數(shù)個(gè)系統(tǒng)碼時(shí),取對(duì)應(yīng)列第三行的校驗(yàn)碼。</p><p>  5 Turbo碼譯碼</p><p>  譯碼算法的研究是Turbo碼研究的一個(gè)主要方面,因?yàn)樗鼪Q定整個(gè)系統(tǒng)能否充分發(fā)揮T

65、urbo碼的固有性能。選擇算法的基本原則是在一定的復(fù)雜性和時(shí)延要求下保持一定的性能,并且利于硬件實(shí)現(xiàn)。選擇合適的譯碼算法,對(duì)于使Turbo碼能在實(shí)用系統(tǒng)中充分發(fā)揮其性能優(yōu)勢(shì)是非常重要的。</p><p>  迭代(iterative)譯碼思想是Turbo碼的一大特色。它采用兩個(gè)子譯碼器,通過(guò)交換稱為邊信息(外部信息)的輔助信息相互支持,從而提高譯碼性能。邊信息的交換在迭代的過(guò)程中實(shí)現(xiàn),前一次迭代產(chǎn)生的邊信息經(jīng)交換

66、后將作為下一次迭代的先驗(yàn)信息。</p><p><b>  5.1 譯碼器結(jié)構(gòu)</b></p><p>  接收端將串行的數(shù)據(jù)流轉(zhuǎn)換成適合譯碼的并行數(shù)據(jù)流,如果經(jīng)過(guò)了刪余(puncture),則對(duì)未傳送的校驗(yàn)比特以零填充。譯碼器由DEC1和DEC2兩個(gè)子譯碼器組成,分別對(duì)應(yīng)編碼器和。</p><p>  圖5-1 Turbo碼譯碼器結(jié)構(gòu)&l

67、t;/p><p>  圖5-1所示的是Turbo碼譯碼器結(jié)構(gòu),其輸入分別是和。每個(gè)子譯碼器將從本身的譯碼過(guò)程中得到的外部信息(Extrinsic Information)提供給另一個(gè)子譯碼器,作為其譯碼的輔助信息,從而提高整體譯碼性能。圖示譯碼器只是一種概念上的結(jié)構(gòu),實(shí)際實(shí)現(xiàn)采用迭代譯碼方式如圖5-2所示,這也是Turbo碼的重要特色。在執(zhí)行軟輸入/軟輸出的迭代譯碼過(guò)程中,子譯碼器之間相互配合,從而達(dá)到一種全局譯碼的

68、效果,充分挖掘了碼的固有糾錯(cuò)性能。</p><p>  Turbo碼的譯碼策略,在于使用簡(jiǎn)單的譯碼單元的迭代來(lái)替代復(fù)雜的一次性譯碼,相對(duì)于長(zhǎng)約束長(zhǎng)度的卷積碼來(lái)說(shuō),Turbo碼每個(gè)譯碼單元的狀態(tài)數(shù)要少得多,因而譯碼復(fù)雜性減少,其缺點(diǎn)是迭代過(guò)程帶來(lái)的不可避免的時(shí)延,因?yàn)閺臅r(shí)間的角度看,它相當(dāng)于n級(jí)(n等于迭代次數(shù))具有相同結(jié)構(gòu)得譯碼單元相連,如圖5-2。</p><p>  為了產(chǎn)生和利用邊信

69、息(外部信息),子譯碼單元必須具有軟輸入/軟輸出的能力。適合于這種譯碼思想的算法以Bahl的算法最具有代表性,應(yīng)用也最廣。這是一種對(duì)具有有限狀態(tài)馬爾可夫特性的碼及離散無(wú)記憶特性的信道提供逐符號(hào)或逐比特似然值的最優(yōu)算法。</p><p>  圖5-2 Turbo碼迭代譯碼形式</p><p>  這種算法的缺點(diǎn)是復(fù)雜性高,涉及對(duì)數(shù)及乘法等運(yùn)算,不利于硬件實(shí)現(xiàn)。在維特比譯碼算法上改進(jìn)的軟輸出

70、維特比算法,簡(jiǎn)稱SOVA譯碼,復(fù)雜性較低,比較利于硬件實(shí)現(xiàn),但是相應(yīng)地性能也有所下降。根據(jù)要達(dá)到同樣的誤碼率,SOVA算法所需要的信噪比要比MAP算法大0.8dB左右。</p><p>  5.2 Turbo碼迭代譯碼基本原理</p><p>  為了下文介紹的方便,首先介紹一下迭代譯碼中常用的一些概念,然后介紹迭代譯碼的基本原理。</p><p><b>

71、;  1、似然函數(shù)</b></p><p>  設(shè)是元素為{+1,-1}的GF(2)即二元伽羅華域的元素,在模2加下,+1表示零元。隨機(jī)變量的對(duì)數(shù)似然函數(shù)定義為</p><p><b>  (5-1)</b></p><p>  其中表示隨機(jī)變量取值為的概率。似然函數(shù)稱為隨機(jī)變量的軟值。的符號(hào)代表硬判決值,的絕對(duì)值表示該判決的可靠性

72、。沒(méi)有特殊說(shuō)明,對(duì)數(shù)取自然對(duì)數(shù)。</p><p>  在已知另一隨機(jī)變量的條件下,條件似然函數(shù)比定義為</p><p><b>  (5-2)</b></p><p><b>  2、軟信道值</b></p><p>  對(duì)一個(gè)軟值為的二進(jìn)制變量進(jìn)行編碼,可得到一個(gè)軟值為的碼元。對(duì)于一個(gè)系統(tǒng)碼,前個(gè)

73、碼元和信息比特相等。經(jīng)過(guò)一個(gè)二進(jìn)制對(duì)稱信道或高斯/衰落信道,在接收端匹配濾波器輸出為的條件下,有:</p><p><b>  (5-3)</b></p><p><b>  運(yùn)用前面定義,有</b></p><p><b>  (5-4)</b></p><p>  其中稱為

74、信道可靠性能。表示衰落因子,在高斯信道中,我們令。是信號(hào)能量,是高斯白噪聲的單邊帶功率密度譜。在通常情況下,如衰落信道,是時(shí)變的,而在高斯信道中是恒定不變的。以下部分我們假定信道是高斯信道。軟信道值中包含了關(guān)于信道的信息。</p><p>  下一節(jié)分別介紹MAP算法和SOVA算法,并且以SOVA算法為主,并給出具體比較實(shí)用的算法。</p><p>  5.3 MAP(maximum a

75、posteriori)算法</p><p>  MAP算法是由Bahl,Cocke,Jelinek,和Raviv等人提出的,所以也稱為BCJR算法。 </p><p>  編碼器的輸出碼字序列為: ,在經(jīng)過(guò)離散無(wú)記憶高斯信道的傳輸后,碼字變?yōu)?其中, 。設(shè)為時(shí)刻編碼器所處的狀態(tài),是時(shí)刻到時(shí)刻轉(zhuǎn)移時(shí)的輸入比特,時(shí)刻和時(shí)的狀態(tài)分別用m和表示。</p><p>  譯碼的

76、數(shù)據(jù)比特的后驗(yàn)概率可以從聯(lián)合概率得到,其中,由下式定義:</p><p><b> ?。?-5)</b></p><p>  這樣,譯碼的數(shù)據(jù)比特的后驗(yàn)概率則等于:</p><p><b> ?。?-6)</b></p><p>  由(11),與解碼比特相聯(lián)系的對(duì)數(shù)似然比可寫成:</p>

77、;<p><b>  (5-7)</b></p><p>  最后,解碼器通過(guò)對(duì)和一個(gè)等于0的門限值比較后,作出以下判決:</p><p>  若 </p><p>  若 (5-8)</p&g

78、t;<p>  為了計(jì)算概率,我們引入概率函數(shù), 和: </p><p><b>  (5-9)</b></p><p><b> ?。?-10)</b></p><p><b> ?。?lt;/b></p><p><b> ?。?-11)</b>

79、;</p><p>  這里,表示從格柵起始時(shí)刻到時(shí)刻收到的符號(hào)序列,表示從時(shí)刻到格柵終止收到的符號(hào)序列。其中中得q(·|·)取值為“0”或“1”,最后一項(xiàng)(·|·)為譯碼器的狀態(tài)轉(zhuǎn)移概率,由于編碼比特以等概率1/2取“0”和“1”,所以這一項(xiàng)就等于1/2。則聯(lián)合概率可用貝葉斯定理重寫為: </p><p><b>

80、; ?。?-12)</b></p><p>  這樣,我們得到 </p><p><b> ?。?-13)</b></p><p>  考慮到如果狀態(tài)已知,時(shí)刻k后的事件不受觀察值和比特的影響,則概率等于:</p><p><b> ?。?-14)</b></p>

81、<p>  MAP算法從概率采用前、后向遞推的方式來(lái)計(jì)算和。最后我們可得: </p><p><b> ?。?-15)</b></p><p><b>  及 </b></p><p><b> ?。?-16)</b></p><p> 

82、 顯然在的遞推過(guò)程中,要知道格柵最后時(shí)刻所處的狀態(tài),我們通常假設(shè)格柵的起始和終止?fàn)顟B(tài)都為零。這樣和可初始化為:</p><p><b>  (5-17)</b></p><p><b>  (5-18)</b></p><p>  運(yùn)用(5-6)式所定義的對(duì)數(shù)似然比公式及(5-14)、(5-15)和(5-16)式, 為:

83、</p><p><b> ?。?-19)</b></p><p>  由于編碼器是系統(tǒng)碼(),表達(dá)式中的轉(zhuǎn)移概率是與狀態(tài)值和無(wú)關(guān)的。因此,將這個(gè)條件代入(5-19)式的分子和分母,則有:</p><p><b> ?。?-20)</b></p><p>  根據(jù)條件(或,變量是均值為1(或-1)和

84、方差為的高斯變量,因此對(duì)數(shù)似然比依然是等于:</p><p><b> ?。?-21)</b></p><p><b>  其中,</b></p><p><b> ?。?-22)</b></p><p>  是一個(gè)由編碼器引入的冗余信息函數(shù),一般情況下和的符號(hào)一樣,因此可以改

85、進(jìn)每一個(gè)解碼器數(shù)據(jù)比特的對(duì)數(shù)似然比。這個(gè)數(shù)值代表了解碼器提供的外在信息,但它并不依賴于解碼器的輸入,這個(gè)性質(zhì)可以用來(lái)對(duì)兩個(gè)并行級(jí)連編碼器進(jìn)行解碼。</p><p>  6 Matlab介紹及仿真結(jié)果</p><p>  本章重點(diǎn)講述了利用Matlab這個(gè)工具對(duì)Turbo的編、譯碼過(guò)程進(jìn)行仿真。譯碼算法采用的是SOVA算法以及改進(jìn)的雙向SOVA算法,并總結(jié)了這兩種算法的譯碼性能以及它們之間的

86、性能比較。</p><p>  6.1 Matlab程序設(shè)計(jì)語(yǔ)言概述</p><p>  計(jì)算機(jī)對(duì)科學(xué)技術(shù)的幾乎一切領(lǐng)域產(chǎn)成了極其深遠(yuǎn)的影響。熟練掌握并利用計(jì)算機(jī)進(jìn)行科學(xué)計(jì)算研究及工程應(yīng)用已是廣大科研設(shè)計(jì)人員所必備的基本技能之一。</p><p>  從事科學(xué)研究和工程應(yīng)用時(shí)候所遇到的最大的困擾大抵是我們?cè)谟?jì)算涉及矩陣運(yùn)算或畫圖時(shí),采用Fortran、C及C++等計(jì)

87、算機(jī)語(yǔ)言進(jìn)行程序設(shè)計(jì)是一項(xiàng)十分麻煩的工作,不僅需要對(duì)所利用的有關(guān)算法有深刻的了解,還需要掌握所用語(yǔ)言的語(yǔ)法及編程技巧。</p><p>  為了準(zhǔn)確的把一個(gè)控制系統(tǒng)的復(fù)雜模型輸入計(jì)算機(jī),然后對(duì)之進(jìn)行進(jìn)一步的分析與仿真,1990年Mathworks公司為Matlab提供了新的控制系統(tǒng)模型圖形輸入與仿真工具Simulab,該工具很快在控制界得到了廣泛的使用。但因其名字與著名的軟件公司Simula相似,所以在1992年

88、正式改名為Simulink,此軟件有兩個(gè)明顯的功能:仿真與連接,亦即利用鼠標(biāo)在模型窗口上畫出所需的控制系統(tǒng)模型,然后利用該軟件提供的功能對(duì)系統(tǒng)直接進(jìn)行仿真處理。很明顯,這種做法使得一個(gè)很復(fù)雜的系統(tǒng)的輸入相當(dāng)容易。Simulink的出現(xiàn),使得Matlab為控制系統(tǒng)的仿真及其在CAD等中的應(yīng)用打開了嶄新的局面。</p><p>  1、Matlab的特點(diǎn)</p><p>  Matlab作為一

89、種數(shù)值計(jì)算和與圖形處理工具軟件,其特點(diǎn)是語(yǔ)法結(jié)構(gòu)簡(jiǎn)明、數(shù)值計(jì)算高效、圖形處理完備、易學(xué)易用,它在矩陣代數(shù)數(shù)值計(jì)算、數(shù)字信號(hào)處理、震動(dòng)理論、神經(jīng)網(wǎng)絡(luò)控制、動(dòng)態(tài)仿真等領(lǐng)域都有廣泛的應(yīng)用。與C、C++、Fortran等高級(jí)語(yǔ)言相比,Matlab不但在數(shù)學(xué)語(yǔ)言的表達(dá)與解釋方面表現(xiàn)出人機(jī)交互的高度一致,而且具有優(yōu)秀高技術(shù)計(jì)算環(huán)境所不可缺少的如下特征:</p><p>  高質(zhì)量、高可靠的數(shù)值計(jì)算能力;</p>

90、<p>  基于向量、數(shù)組和矩陣的高維設(shè)計(jì)語(yǔ)言;</p><p>  高級(jí)圖形和可視化數(shù)據(jù)處理的能力;</p><p>  廣泛解決各學(xué)科各專業(yè)領(lǐng)域內(nèi)復(fù)雜問(wèn)題的能力;</p><p>  擁有一個(gè)強(qiáng)大的非線性系統(tǒng)仿真工具箱——Silmulink;</p><p>  支持科學(xué)和工程計(jì)算標(biāo)準(zhǔn)的開放式、可交互結(jié)構(gòu);</p>

91、<p><b>  跨平臺(tái)兼容。</b></p><p>  2、Matlab工具箱和內(nèi)容</p><p>  目前Matlab已經(jīng)成為國(guó)際上最流行的軟件之一,它除了傳統(tǒng)的交互式編程外,還提供了豐富可靠的矩陣運(yùn)算。圖形繪制、數(shù)據(jù)處理、圖象處理、方便的Windows編程等便利工具。出現(xiàn)了各種以Matlab為基礎(chǔ)的使用工具箱,廣泛的應(yīng)用于自動(dòng)控制、圖象信號(hào)處

92、理、生物醫(yī)學(xué)工程、語(yǔ)言處理、雷達(dá)工程、信號(hào)分析、震動(dòng)理論、時(shí)序分析與建模、化學(xué)統(tǒng)計(jì)學(xué)、優(yōu)化設(shè)計(jì)等領(lǐng)域,并表現(xiàn)出一般高級(jí)語(yǔ)言難以比擬的優(yōu)勢(shì)。較為常見的工具箱主要包括:</p><p>  控制系統(tǒng)工具箱(Contorl systems toolbox)</p><p>  系統(tǒng)識(shí)別工具箱(Systems identification toolbox)</p><p>

93、  多變量頻率設(shè)計(jì)工具箱(Multivariable freguency design toolbox)</p><p>  魯棒控制工具箱(Robust control toolbox)</p><p>  分析與綜合工具箱(analysis and synthesis toolbox)</p><p>  神經(jīng)網(wǎng)絡(luò)工具箱(Neural network toolb

94、ox)</p><p>  最優(yōu)化工具箱(Optimization toolbox)</p><p>  信號(hào)處理工具箱(Signal processing toolbox)</p><p>  模糊推理數(shù)據(jù)工具箱(Fuzzy inference system toolbox)</p><p>  小波分析工具箱(Wavelet toolbo

95、x)</p><p>  通信工具箱(Communications toolbox)</p><p>  3、Simulink簡(jiǎn)介</p><p>  Simulink是實(shí)現(xiàn)動(dòng)態(tài)系統(tǒng)模型仿真的一個(gè)集成環(huán)境,她的存在使Matlab的功能得到進(jìn)一步的擴(kuò)展。這種擴(kuò)展的意義表現(xiàn)在:(1)實(shí)現(xiàn)可視化建模。在Windews環(huán)境下,用戶通過(guò)簡(jiǎn)單的鼠標(biāo)操作就可以建立直觀的系統(tǒng)模型,

96、并進(jìn)行仿真;(2)實(shí)現(xiàn)多工作環(huán)境內(nèi)文件互用和數(shù)據(jù)交換,如Sinulink與Matlab,Simulink與Fortran、C和C++,Simulink與實(shí)時(shí)硬件工作環(huán)境的信息交換都可以方便的實(shí)現(xiàn);(3)把理論研究和工程實(shí)現(xiàn)有利地結(jié)合在一起。</p><p>  Simulink為用戶提供了用方框圖進(jìn)行建模的圖形接口,采用這種結(jié)構(gòu)化模型就像紙和筆一樣容易,它與系統(tǒng)仿真軟件包用微分方程和差分方程建模相比具有更直觀、方

97、便、靈活的優(yōu)點(diǎn)。由于Matlab與Simulink是集成在一起的,因此用戶可以在這兩種環(huán)境下對(duì)自己的模型進(jìn)行仿真。</p><p>  6.2 程序仿真結(jié)果</p><p>  本節(jié)對(duì)Turbo碼的整個(gè)編碼、譯碼過(guò)程做了仿真。譯碼部分采用經(jīng)典SOVA算法以及改進(jìn)的雙向SOVA算法。而后對(duì)兩者的仿真結(jié)果作了簡(jiǎn)要的性能分析、比較和總結(jié)。</p><p>  仿真過(guò)程中,

98、由Matlab的偽隨機(jī)函數(shù)“rand”自動(dòng)產(chǎn)生要求長(zhǎng)度的信息碼,然后對(duì)其進(jìn)行Turbo編碼。然后用Matlab的另一個(gè)偽隨機(jī)高斯隨機(jī)函數(shù)“randn”產(chǎn)生與Turob碼碼字長(zhǎng)度相同的一個(gè)偽隨機(jī)序列,把它與Turbo碼對(duì)應(yīng)位相加來(lái)模擬信道中的加性干擾噪聲。交織和解交織部分如前所述采用了偽隨機(jī)交織方案,因?yàn)檫@種方案只用一條簡(jiǎn)單的Matlab語(yǔ)句就可實(shí)現(xiàn),所以,不再細(xì)說(shuō)。</p><p>  1、經(jīng)典 SOVA算法譯碼

99、性能仿真結(jié)果</p><p>  仿真時(shí),比特誤碼率(BER)是在不同信噪比下對(duì)幀長(zhǎng)為50、碼率R為1/2、g=[1 1 1;1 0 1]的200幀的平均結(jié)果。BER采用矩陣得方式輸出,其中第i行、第j列的元素對(duì)應(yīng)的是第i個(gè)信噪比在第j次迭代后譯碼的BER。迭代次數(shù)為3次。信噪比從0dB間隔為0.5dB取值到6dB共13個(gè)值,即EbN0db=[0 0.5 1 1.5 2 2.5 3 3.5 4

100、4.5 5 5.5 6](dB)。</p><p>  ber 1= 0.6885 0.6664 0.6396 0.6391 0.6365</p><p>  0.5125 0.4763 0.4767 0.4706 0.4200</p><p>  0.3604 0.3219 0.2958 0.

101、2766 0.2682</p><p>  0.2437 0.2047 0.1833 0.1734 0.1729</p><p>  0.1604 0.1240 0.0932 0.0943 0.0802</p><p>  0.0792 0.0505 0.0365 0.0359 0.035

102、4</p><p>  0.0410 0.0210 0.0158 0.0105 0.0074</p><p>  0.0198 0.0099 0.0021 0.0031 0.0031</p><p>  0.0073 0.0047 0.0021 0.0047 0.0031</p>

103、<p>  0.0005 0 0 0 0</p><p>  0.0005 0.0005 0.0010 0.0010 0.0010</p><p>  0 0 0 0 0</p><p>  0

104、0 0 0 0</p><p>  從圖中很明了的可以看出,幀長(zhǎng)為200的碼比幀長(zhǎng)為50的碼的誤比特率性能要好的多,這符合前邊提到的信道編碼定理,碼長(zhǎng)越長(zhǎng),在保持碼率不變得情況下,誤比特率越小。并且,曲線也變得比較平滑了,抖動(dòng)減小,這說(shuō)明了較長(zhǎng)碼的譯碼性能比較短碼的譯碼性能穩(wěn)定。</p><p>  總結(jié)上述幾種參數(shù)下的仿真結(jié)果,最終可以看出,

105、可以通過(guò)改變參數(shù)改善Turbo碼的性能,比如改變生成矩陣和幀長(zhǎng)。由具體仿真結(jié)果比較可以看出,分別改變生成矩陣和幀長(zhǎng)得到的譯碼性能改善是有較大差異的。其中改變幀長(zhǎng)對(duì)提高Turbo的譯碼性能更為有效。</p><p>  值得提醒的是:仿真結(jié)果所示的譯碼性能沒(méi)有前面章節(jié)所介紹的接近香農(nóng)限,這是因?yàn)橄戕r(nóng)的信道編碼定理指出的是錯(cuò)譯率隨碼長(zhǎng)的無(wú)限增長(zhǎng)而無(wú)限下降,注意這里用的是無(wú)限長(zhǎng)碼字,而本文仿真時(shí)turbo碼碼長(zhǎng)最長(zhǎng)只有

106、200位。另一個(gè)原因是迭代次數(shù)不夠多。之所以這樣取值,也是考慮到仿真程序運(yùn)行時(shí)間比較長(zhǎng)。即使按照本文所述取值,運(yùn)行時(shí)間仍然很長(zhǎng)。這里的仿真只能用于測(cè)試該Turbo碼的性能,并不是實(shí)際應(yīng)用。仿真和實(shí)際運(yùn)用是不同的。</p><p><b>  7 結(jié)束語(yǔ)</b></p><p>  Turbo碼的出現(xiàn)為信道編碼理論和實(shí)踐帶來(lái)了一場(chǎng)革命,在理論上,它有著不同于以往的結(jié)構(gòu),

107、使通過(guò)可譯碼編碼逼近信道容量成為可能;在實(shí)踐上,只要時(shí)延和復(fù)雜度允許,Turbo碼可在各種惡劣條件下提供接近極限的通信能力。Turbo碼在中高噪聲的應(yīng)用環(huán)境中的性能比以往其他的信道編碼要好很多,這是它的一大優(yōu)點(diǎn)。但是,Turbo碼也有自己的不足: </p><p>  (1)計(jì)算量大,要得到高碼率,往往需要很大的交織器,這就增加了譯碼的復(fù)雜性,而較短的交織器不可能達(dá)到高碼率,因此往往要根據(jù)實(shí)際需要來(lái)確定碼率和計(jì)算

108、復(fù)雜性之間的平衡來(lái)設(shè)計(jì)相應(yīng)的Turbo碼。</p><p> ?。?)由交織和迭代譯碼造成的時(shí)延使Turbo碼在某些對(duì)時(shí)延要求高的通信系統(tǒng)(如數(shù)字電話、數(shù)字音像廣播、數(shù)據(jù)包通信、太空通信等)中的應(yīng)用受到限制。</p><p> ?。?)對(duì)相位敏感性高。</p><p> ?。?)有所謂的地板(floor)效應(yīng),即錯(cuò)譯率下降到一定程度(即稱為地板)再下降就很慢了。

109、 </p><p> ?。?)理論分析困難,至今尚未有對(duì)Turbo碼譯碼復(fù)雜性,比特誤碼率完整的理論分析和估計(jì)。一般是通過(guò)數(shù)值模擬與單個(gè)卷積碼、乘積碼、級(jí)聯(lián)碼比較或不同譯碼方法之間的性能比較。</p><p><b>  致 謝</b></p><p>  本次畢業(yè)設(shè)計(jì)中,我綜合運(yùn)用了所學(xué)過(guò)的很多知識(shí),對(duì)以前很多單一的、片面的、分散的知識(shí)作

110、了系統(tǒng)的總結(jié)、歸納,使我對(duì)通信系統(tǒng)有了更深刻的認(rèn)識(shí)和理解。為了做好這個(gè)設(shè)計(jì)工作,我看了很多與課題相關(guān)的通信方面的書籍,從而鍛煉并提高了我的自學(xué)能力。</p><p>  在整個(gè)過(guò)程中我的指導(dǎo)老師xx老師和其他同學(xué)給了我極大的幫助,特別是老師對(duì)我的無(wú)私幫助和指導(dǎo)使我順利完成此論文,在此,我深表謝意!</p><p><b>  參考文獻(xiàn)</b></p>&

111、lt;p>  Zhang Zhongpei, Liu Weixin. Impact on Performances with Different Constraints for Turbo Equalization Receiver. Chinese of Journal Electronics, 2006, 15 (3): 510-515.</p><p>  Liu Xingcheng, Hu Yan,

112、 Zhang Lin. Design of a Deterministic Interleaver for Turbo Codes and Its Applications in Self-Similar Traffic Streams. Chinese of Journal Electronics, 2004, 13 (2): 342-345.</p><p>  O.TakeshiaandD.Costello

113、.Newdeterministicinterleaverdesignsforturbocodes.IEEE Transaction Information Theory, 2000, Vol.46:1988-2006.</p><p>  X. Liu, G. Zhang, The design of a new interleaver for turbo codes. Journal of SunYat-Sen

114、 University (Natural Science Edition), 2000, 39 (6):39-43.</p><p>  汪漢新,陳少平,朱翠濤.Turbo碼的迭代譯碼方法的優(yōu)化設(shè)計(jì).計(jì)算機(jī)工程與應(yīng)用,2007,43 (3): 99-101.</p><p>  鄭銀香,張秀軍,趙明,周世東.一種適合于并行譯碼的Turbo交織器的設(shè)計(jì).微計(jì)算機(jī)信息,2006 (11Z):

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論