

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p> 題目:基于Matlab的差錯(cuò)控制技術(shù)仿真</p><p> 系 別: 電子信息系 </p><p> 專(zhuān) 業(yè): 通信工程 </p><p> 班 級(jí): </p><p> 學(xué)
2、生: </p><p> 學(xué) 號(hào): </p><p> 指導(dǎo)教師: </p><p><b> 2012年06月</b></p><p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p> 題目:基于Matlab的差錯(cuò)控制技術(shù)仿真
3、</p><p><b> 2012年06月</b></p><p> 畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)</p><p> 1.畢業(yè)設(shè)計(jì)(論文)題目: 基于Matlab的差錯(cuò)控制技術(shù)仿真 </p><p> 2.題目背景和意義: 差錯(cuò)控制是在數(shù)據(jù)通信過(guò)程中能發(fā)現(xiàn)或糾正差錯(cuò)
4、,把差錯(cuò)限制在盡可能小的允許范圍內(nèi)的技術(shù)和方法。信號(hào)在物理信道中傳輸時(shí),線路本身電器特性造成的隨機(jī)噪聲、信號(hào)幅度的衰減、頻率和相位的畸變、電器信號(hào)在線路上產(chǎn)生反射造成的回音效應(yīng),相鄰線路間的串?dāng)_,這些現(xiàn)象以及各種外界因素(如大氣中的閃電、開(kāi)關(guān)的跳火、外界強(qiáng)電流磁場(chǎng)的變化、電源的波動(dòng)等) 都會(huì)造成信號(hào)的失真。 </p><p> 3.設(shè)計(jì)(論文)的主要內(nèi)容(理工科
5、含技術(shù)指標(biāo)): (1). 應(yīng)用Matlab語(yǔ)言編制相應(yīng)模塊的函數(shù);(2).應(yīng)用Simulink建立仿真框架;(3). 進(jìn)行相關(guān)參數(shù)及模型調(diào)整,進(jìn)行仿真統(tǒng)計(jì)實(shí)驗(yàn),獲取實(shí)驗(yàn)數(shù)據(jù),進(jìn)行相關(guān)的實(shí)驗(yàn)分析;(4). 5000字英文翻譯;(5). 撰寫(xiě)畢業(yè)論文。 </p><p> 4.設(shè)計(jì)的基本要求及進(jìn)度安排(含起始時(shí)間、設(shè)計(jì)地點(diǎn)):(1)選題、收集資料、確定仿真工具、理解題目、開(kāi)題報(bào)告[3周,2011年
6、12月20日前]。(2)熟悉仿真軟件、仿真流程圖、確定詳細(xì)方案[2周,2012年2月20日前]。(3)仿真系統(tǒng)圖、初步仿真結(jié)果、中期報(bào)告、英文文獻(xiàn)翻譯[4周,2012年3月18日]。(4)處理仿真問(wèn)題,完成參數(shù)設(shè)置[5周,2012年4月26日前]。(5)仿真測(cè)試、數(shù)據(jù)分析,得出結(jié)論[2周,2012年5月12日前]。(6)導(dǎo)師驗(yàn)收[1周,2012年5月20日前]。(7)完成論文[10周,2010年5月28日前]。
7、 </p><p> 5.畢業(yè)設(shè)計(jì)(論文)的工作量要求 撰寫(xiě)15000字論文 </p><p> ?、?實(shí)驗(yàn)(時(shí)數(shù))*或?qū)嵙?xí)(天數(shù)): 100機(jī)時(shí) </p><p> ?、?圖紙(幅面和張數(shù))*: 不
8、少于20張 </p><p> ?、?其他要求: 查閱資料不少于10份 </p><p> 指導(dǎo)教師簽名: 年 月 日</p><p> 學(xué)生簽名:
9、 年 月 日</p><p> 系主任審批: 年 月 日</p><p> 說(shuō)明:1本表一式二份,一份由學(xué)生裝訂入冊(cè),一份教師自留。</p><p> 2 帶*項(xiàng)可根據(jù)學(xué)科特點(diǎn)選填。</p><p> 基于Matlab的差錯(cuò)控制技術(shù)仿真<
10、;/p><p><b> 摘 要</b></p><p> 近些年來(lái),通信增值業(yè)務(wù)得到迅速發(fā)展,保證通信中較低信噪比情況下的數(shù)據(jù)無(wú)誤傳輸,提高通信的有效性和可靠性顯得越來(lái)越重要,而差錯(cuò)控制技術(shù)對(duì)于提高通信系統(tǒng)的傳輸可靠性具有重要意義。</p><p> 在通信傳輸過(guò)程中,由于各種因素的影響數(shù)據(jù)可能變得紊亂或丟失,造成發(fā)送的數(shù)據(jù)和接收的數(shù)據(jù)不
11、一致而出現(xiàn)差錯(cuò)。差錯(cuò)控制是在數(shù)字通信中利用編碼方法對(duì)傳輸中產(chǎn)生的差錯(cuò)進(jìn)行控制,以提高數(shù)字消息傳輸?shù)臏?zhǔn)確性。而信道編碼是通信系統(tǒng)中采用的一種差錯(cuò)控制措施。</p><p> 在信道編碼過(guò)程中,發(fā)送端將會(huì)給被傳輸?shù)男畔⑸细郊右恍┍O(jiān)督碼元,進(jìn)行特定編碼,在監(jiān)督碼元與信息碼元之間以某種確定的規(guī)則相互關(guān)聯(lián)且約束。在接收端以既定之規(guī)則來(lái)校驗(yàn)信息碼元與監(jiān)督碼元之間的關(guān)系,一旦在傳輸過(guò)程中發(fā)生差錯(cuò),則信息碼元與監(jiān)督碼元的關(guān)系就
12、會(huì)受到破壞,從而在接收端可以發(fā)現(xiàn)錯(cuò)誤乃至糾正錯(cuò)誤。</p><p> 由此可見(jiàn)一種好的信道編碼即一種好的差錯(cuò)控制技術(shù)對(duì)于提高通信系統(tǒng)的傳輸可靠性具有重要意義。</p><p> 關(guān)鍵詞:差錯(cuò)控制;信道;Matlab;線性碼;循環(huán)碼</p><p> The error control simulation base on Matlab</p>&
13、lt;p><b> Abstract</b></p><p> In recent years, the communication value-added services have developed rapidly. To ensure that data is correctly trans missed in low SNR, it is important to imp
14、rove the effectiveness and reliability of communication. Indeed, error control techniques paly an major role in enhancing the reliability of the communication system.</p><p> Due to the influence of various
15、 factors, the data may become disordered or lost in the transmission process; and result to inconsistent data during dispatch and reception. Error control makes use of coding method to control the errors in the transmiss
16、ion in digital communication; in order to improve accuracy of transmission. Moreover, the channel coding is one of error control measures used in the communication system.</p><p> In the channel encoding p
17、rocess, the data will be attached several supervise code elements by sending terminal for specific coding; thus, establish certain rules and relevant constraints between supervise code element and information code elemen
18、t. The receiving terminal verify the supervise code element and information code element by certain rules. Once errors occur during transmission, the destroyed relationship between supervise code element and information
19、code element can be discovered and </p><p> In a word, a good channel coding that is, a good error control techniques have an important significance for improving the transmission reliability of the communi
20、cation system.</p><p> Key Words: Error control; Channel; Matlab; Linear coding; Cyclic code</p><p><b> 目 錄</b></p><p><b> 1緒論1</b></p><p>
21、<b> 1.1綜述1</b></p><p><b> 1.2題目背景1</b></p><p> 1.3課題研究意義1</p><p> 1.4國(guó)內(nèi)外相關(guān)研究情況2</p><p> 1.5本文主要研究工作2</p><p><b> 2相
22、關(guān)技術(shù)介紹3</b></p><p> 2.1差錯(cuò)控制技術(shù)3</p><p> 2.1.1差錯(cuò)控制的基本方式3</p><p> 2.1.2差錯(cuò)控制編碼4</p><p> 2.1.3差錯(cuò)控制編碼的分類(lèi)4</p><p> 2.1.4差錯(cuò)控制編碼的基本原理5</p>&l
23、t;p> 2.2線性分組碼5</p><p> 2.2.1線性分組碼基本概念5</p><p> 2.2.2線性分組碼編碼原理6</p><p> 2.2.3線性分組碼譯碼原理6</p><p><b> 2.3循環(huán)碼7</b></p><p> 2.3.1循環(huán)碼基本概
24、念7</p><p> 2.3.2循環(huán)碼的多項(xiàng)式表示及生成矩陣7</p><p> 2.3.3循環(huán)碼編碼原理8</p><p> 2.3.4循環(huán)碼譯碼原理9</p><p> 3 Matlab軟件與Simulink仿真平臺(tái)11</p><p> 3.1 Matlab11</p>&l
25、t;p> 3.1.1 Matlab發(fā)展史11</p><p> 3.1.2 M文件12</p><p> 3.1.3程控流語(yǔ)句13</p><p> 3.2 Matlab14</p><p> 3.2.1 Simulink簡(jiǎn)介14</p><p> 3.2.2 Simulink模塊14&l
26、t;/p><p> 4基于Matlab差錯(cuò)控制技術(shù)仿真及結(jié)果分析16</p><p> 4.1線性分組碼差錯(cuò)控制仿真16</p><p> 4.1.1線性分組碼仿真步驟16</p><p> 4.1.2線性分組碼差錯(cuò)控制仿真系統(tǒng)模型16</p><p> 4.1.3線性分組碼仿真流程及結(jié)果分析17<
27、;/p><p> 4.2循環(huán)碼差錯(cuò)控制仿真24</p><p> 4.2.1循環(huán)碼仿真步驟24</p><p> 4.2.2循環(huán)碼差錯(cuò)控制仿真系統(tǒng)模型25</p><p> 4.2.3循環(huán)碼仿真流程及結(jié)果分析25</p><p><b> 5結(jié)論32</b></p>
28、<p><b> 5.1結(jié)論32</b></p><p> 5.2心得體會(huì)32</p><p><b> 參考文獻(xiàn)33</b></p><p><b> 致 謝34</b></p><p> 畢業(yè)設(shè)計(jì)(論文)知識(shí)產(chǎn)權(quán)聲明35</p>
29、<p> 畢業(yè)設(shè)計(jì)(論文)獨(dú)創(chuàng)性聲明36</p><p> 附錄1 二進(jìn)制線性分組碼的差錯(cuò)控制仿真流程圖37</p><p> 附錄2 二進(jìn)制循環(huán)碼的差錯(cuò)控制仿真流程圖38</p><p> 附錄3 相關(guān)繪圖程序39</p><p><b> 1 緒論</b></p><
30、;p><b> 1.1綜述</b></p><p> 通信過(guò)程中,在實(shí)際信道上傳輸數(shù)字信號(hào)時(shí),由于信道傳輸特性不理想以及加性噪聲的影響,導(dǎo)致接收端所收到的數(shù)字信號(hào)不可避免地會(huì)發(fā)生一些隨機(jī)性的錯(cuò)誤。為了能夠在已知信噪比的情況下達(dá)到一定的比特誤碼率指標(biāo),首先應(yīng)該合理的設(shè)計(jì)基帶信號(hào),選擇調(diào)制解調(diào)方式,來(lái)使比特誤碼率盡可能降低。而實(shí)際上,在許多通信系統(tǒng)中的比特誤碼率并不能夠滿足實(shí)際的需求。
31、保證通信中較低信噪比情況下的數(shù)據(jù)無(wú)誤傳輸,提高通信的有效性和可靠性顯得越來(lái)越重要[1]。此時(shí)則必須采用有效的信道編碼,即差錯(cuò)控制編碼才能夠?qū)⒈忍卣`碼率進(jìn)一步的降低,以滿足系統(tǒng)的要求。</p><p><b> 1.2題目背景</b></p><p> 近些年來(lái),通信增值業(yè)務(wù)得到迅速發(fā)展,保證通信中較低信噪比情況下的數(shù)據(jù)無(wú)誤傳輸,提高通信的有效性和可靠性顯得越來(lái)越重
32、要。</p><p> 差錯(cuò)控制技術(shù)對(duì)于提高通信系統(tǒng)的傳輸可靠性,降低通信設(shè)備的發(fā)射功率和減小體積具有重要意義,隨著數(shù)字通信的發(fā)展與電子計(jì)算機(jī)的廣泛應(yīng)用,差錯(cuò)控制編碼日益受到人們的重視并取得迅速發(fā)展,因而在通信系統(tǒng)發(fā)達(dá)的今天,差錯(cuò)控制技術(shù)已經(jīng)廣泛的應(yīng)用于衛(wèi)星通信系統(tǒng),移動(dòng)通信系統(tǒng),數(shù)據(jù)存儲(chǔ)等各種數(shù)字通信方面,它對(duì)保證信息傳輸?shù)目煽窟\(yùn)行起著重要作用。以差錯(cuò)控制技術(shù),實(shí)現(xiàn)對(duì)信道傳輸數(shù)據(jù)進(jìn)行糾錯(cuò)編碼,在現(xiàn)有的通信系統(tǒng)
33、和將來(lái)的新型通信系統(tǒng)數(shù)據(jù)傳輸中進(jìn)行有效差錯(cuò)控制是一種必然的趨勢(shì),可以預(yù)見(jiàn),在尋求一種在較低信噪比情況下具有強(qiáng)大糾錯(cuò)能力的差錯(cuò)控制技術(shù)是我們急待解決的課題。</p><p><b> 1.3課題研究意義</b></p><p> 由于在信道傳輸中存在多種干擾因素,嚴(yán)重影響數(shù)據(jù)傳輸性能,因此,如何在信道中實(shí)現(xiàn)可靠有效的通信成為業(yè)界非常關(guān)注的問(wèn)題,而對(duì)差錯(cuò)控制技術(shù)的研究
34、正是實(shí)現(xiàn)更佳的可靠性,有效性的最佳方法之一。差錯(cuò)控制編碼技術(shù)廣泛應(yīng)用于通信系統(tǒng).在通信系統(tǒng)中應(yīng)用差錯(cuò)控制編碼不僅可給系統(tǒng)提供很高的可靠性和傳輸穩(wěn)定性,而且編碼增益的提高對(duì)于降低發(fā)射機(jī)功率和個(gè)人移動(dòng)終端的體積都具有重要意義,特別是對(duì)低功率受限的衛(wèi)星信道[2]。</p><p> 1.4國(guó)內(nèi)外相關(guān)研究情況</p><p> 目前,利用差錯(cuò)控制技術(shù)降低各類(lèi)數(shù)字通信系統(tǒng)以及計(jì)算機(jī)存儲(chǔ)和計(jì)算系統(tǒng)
35、中的誤碼率,提高通信質(zhì)量,在西方國(guó)家中已經(jīng)作為一門(mén)標(biāo)準(zhǔn)技術(shù)而廣泛應(yīng)用,而且差錯(cuò)控制技術(shù)還應(yīng)用于超大規(guī)模集成電路中,以提高集成電路芯片的成品率[3],不僅如此,差錯(cuò)控制技術(shù)中的許多譯碼思想和方法,可以解決神經(jīng)網(wǎng)絡(luò)[4]中的一些問(wèn)題,差錯(cuò)控制技術(shù)方興未艾,當(dāng)然差錯(cuò)控制技術(shù)還存在一些現(xiàn)實(shí)的問(wèn)題,以目前世界范圍內(nèi)研究最熱門(mén)的隨機(jī)碼為例,由于隨機(jī)碼的算法非常復(fù)雜,隨機(jī)性的可靠度不高,隨即交織器的實(shí)現(xiàn)難度大,使隨機(jī)碼在通信系統(tǒng)中應(yīng)用存在成本過(guò)高,穩(wěn)
36、定性不夠,無(wú)法大規(guī)模的普及等問(wèn)題,而此類(lèi)問(wèn)題正是國(guó)際研究的熱點(diǎn)方向,有待在今后的研究中進(jìn)一步加以解決。</p><p> 1.5本文主要研究工作</p><p> 差錯(cuò)控制編碼基本的實(shí)現(xiàn)方法是在發(fā)送端要被傳輸?shù)男畔⑸细郊由弦恍┍O(jiān)督碼元,這些多余的碼元與信息碼元之間以某種的確定規(guī)則相互關(guān)聯(lián)約束。在接收端按照既定之規(guī)則校驗(yàn)信息碼元和監(jiān)督碼元之間的關(guān)系,一旦傳輸途中發(fā)生差錯(cuò),會(huì)導(dǎo)致信息碼元與
37、監(jiān)督碼元之間的關(guān)系受到破壞,進(jìn)而接收端可以發(fā)現(xiàn)錯(cuò)誤乃至糾正錯(cuò)誤。因此,研究各種的編碼和譯碼的方法是差錯(cuò)控制編碼所需要解決的問(wèn)題。</p><p> 編碼涉及到的內(nèi)容也比較廣泛,前向糾錯(cuò)編碼(FEC)、普通線性碼、線性分組碼(漢明碼、循環(huán)碼)、理德-所羅門(mén)碼(RS碼)、BCH碼、FIRE碼、交織碼,卷積碼、TCM編碼、Turbo碼等都是差錯(cuò)控制常用編碼。本文只對(duì)其中的線性分組碼、線性循環(huán)碼做以介紹,并對(duì)相關(guān)內(nèi)容進(jìn)
38、行仿真。</p><p> 先分別進(jìn)行線性分組碼編碼與循環(huán)碼編碼的基于Matlab系統(tǒng)仿真,分別得到最終的誤碼率曲線圖,進(jìn)行單一變量的兩次對(duì)比,分別是未經(jīng)過(guò)差錯(cuò)控制編碼[5]的系統(tǒng)傳輸比特差錯(cuò)率與經(jīng)過(guò)差錯(cuò)控制編碼的系統(tǒng)傳輸比特差錯(cuò)率,經(jīng)過(guò)線性分組碼編碼的系統(tǒng)傳輸比特差錯(cuò)率與經(jīng)過(guò)線性循環(huán)碼編碼的系統(tǒng)傳輸比特差錯(cuò)率的數(shù)據(jù)比較,由此以來(lái)可以得出結(jié)果:在信號(hào)傳輸過(guò)程中經(jīng)過(guò)差錯(cuò)控制編碼后的信道比特差錯(cuò)率會(huì)有明顯的下降,即
39、差錯(cuò)控制編碼技術(shù)對(duì)于提高通信系統(tǒng)的傳輸可靠性具有重要意義;不同的差錯(cuò)控制編碼方式會(huì)產(chǎn)生不同的差錯(cuò)可控效果,選擇一種有效的編碼方式對(duì)于提高數(shù)通信系統(tǒng)的傳輸可靠性至關(guān)重要。</p><p><b> 2 相關(guān)技術(shù)介紹</b></p><p><b> 2.1差錯(cuò)控制技術(shù)</b></p><p> 2.1.1差錯(cuò)控制的基
40、本方式</p><p> a. 檢錯(cuò)重發(fā)方式(ARQ)。采用檢錯(cuò)重發(fā)方式,發(fā)端經(jīng)編碼后發(fā)出能夠發(fā)現(xiàn)錯(cuò)誤的碼,接收端收到后經(jīng)檢驗(yàn)如果發(fā)現(xiàn)傳輸中有錯(cuò)誤,則通過(guò)反向信道把這一判斷結(jié)果回饋給發(fā)送端。然后,發(fā)送端把信息重發(fā)一次,直到接收端確認(rèn)為止。采用這種差錯(cuò)控制方法需要具備雙向信道,一般在計(jì)算機(jī)數(shù)據(jù)通信中應(yīng)用。檢錯(cuò)重發(fā)方式分為三種類(lèi)型:</p><p> (1) 停發(fā)等待重發(fā),發(fā)對(duì)或發(fā)錯(cuò),發(fā)送
41、端均要等待接收端的回應(yīng)。特點(diǎn)是系統(tǒng)簡(jiǎn)單,時(shí)延長(zhǎng);</p><p> (2) 返回重發(fā),無(wú)ACK信號(hào),當(dāng)發(fā)送端收到NAK信號(hào)后,重發(fā)錯(cuò)誤碼組以后的所有碼組,特點(diǎn)是系統(tǒng)較為復(fù)雜,時(shí)延減??;</p><p> (3) 選擇重發(fā),無(wú)ACK信號(hào),當(dāng)發(fā)送端收到NAK信號(hào)后,重發(fā)錯(cuò)誤碼組,特點(diǎn)是系統(tǒng)復(fù)雜,時(shí)延最小。</p><p> b. 前向糾錯(cuò)方式(FEC)。發(fā)送端經(jīng)編
42、碼發(fā)出能糾正錯(cuò)誤的碼,接收端收到這些碼組后,通過(guò)解碼能發(fā)現(xiàn)并糾正誤碼。前向糾錯(cuò)方式不需要回饋通道,特別適合只能提供單向通道的場(chǎng)合,特點(diǎn)是時(shí)延小,實(shí)時(shí)性好,但系統(tǒng)復(fù)雜。但隨著編碼理論和微電子技術(shù)的發(fā)展,編譯碼設(shè)備成本下降,加之有單向通信和控制電路簡(jiǎn)單的優(yōu)點(diǎn),在實(shí)際應(yīng)用中日益增多。</p><p> c. 混合糾錯(cuò)檢錯(cuò)方式(HEC)?;旌霞m錯(cuò)檢錯(cuò)方式是前向糾錯(cuò)方式和檢錯(cuò)重發(fā)方式的結(jié)合,發(fā)送端發(fā)出的碼不但有一定的糾錯(cuò)
43、能力,對(duì)于超出糾錯(cuò)能力的錯(cuò)誤要具有檢錯(cuò)能力。這種方式在實(shí)時(shí)性和復(fù)雜性方面是前向糾錯(cuò)和檢錯(cuò)重發(fā)方式的折衷,因而在近年來(lái),在數(shù)據(jù)通信系統(tǒng)中采用較多。</p><p> d. 回饋校驗(yàn)方式(IRQ)?;仞佇r?yàn)方式(IRQ)又稱(chēng)回程校驗(yàn)。收端把收到的數(shù)據(jù)序列全部由反向信道送回發(fā)送端,發(fā)送端比較發(fā)送數(shù)據(jù)與回送數(shù)據(jù),從而發(fā)現(xiàn)是否有錯(cuò)誤,并把認(rèn)為錯(cuò)誤的資料重新發(fā)送,直到發(fā)送端沒(méi)有發(fā)現(xiàn)錯(cuò)誤為止。</p><
44、p> 優(yōu)點(diǎn):不需要糾錯(cuò)、檢錯(cuò)的編譯器,設(shè)備簡(jiǎn)單。</p><p> 缺點(diǎn):不僅需要反向信道;而且實(shí)時(shí)性會(huì)比較差;在發(fā)送端需要一定容量的內(nèi)存。(IRQ)方式僅適用于于傳輸速率較低、數(shù)據(jù)差錯(cuò)率較低的控制簡(jiǎn)單的系統(tǒng)中。</p><p> 2.1.2差錯(cuò)控制編碼</p><p> 通常差錯(cuò)控制技術(shù)包括兩個(gè)主要內(nèi)容:差錯(cuò)的檢查和差錯(cuò)的糾正。差錯(cuò)檢測(cè)通常是通過(guò)差錯(cuò)
45、控制編碼來(lái)實(shí)現(xiàn)的,而差錯(cuò)糾正是通過(guò)差錯(cuò)控制的方法來(lái)實(shí)現(xiàn)的。</p><p> 差錯(cuò)控制是指在數(shù)據(jù)通信過(guò)程中能發(fā)現(xiàn)或糾正錯(cuò)誤,將差錯(cuò)限制在盡可能小的允許范圍內(nèi)。</p><p> 差錯(cuò)控制的基本思想是在發(fā)送端根據(jù)要傳輸?shù)臄?shù)據(jù)序列,按一定的規(guī)律加入多余碼元,即附加一些監(jiān)督碼元,這些多余的碼元與信息碼元之間是以某種確定的規(guī)則相互關(guān)聯(lián)的,使原來(lái)不相關(guān)的數(shù)據(jù)序列變成相關(guān)的,即編碼[6]。傳輸時(shí)將
46、多余碼元和信息碼元一并傳送。接收端根據(jù)信息碼元和多余碼元(監(jiān)督碼元)之間的規(guī)則進(jìn)行檢驗(yàn),即譯碼,根據(jù)譯碼結(jié)果進(jìn)行錯(cuò)誤檢測(cè),一旦傳輸過(guò)程中發(fā)生錯(cuò)誤,信息碼元與監(jiān)督碼元之間的關(guān)系將受到破壞,從而發(fā)現(xiàn)錯(cuò)誤乃至糾正錯(cuò)誤。當(dāng)發(fā)現(xiàn)錯(cuò)誤時(shí),或者通過(guò)反饋信道要求發(fā)送方重發(fā)有錯(cuò)的數(shù)據(jù),或者由接收端的譯碼器自動(dòng)將錯(cuò)誤糾正。多余碼元為監(jiān)督碼元,根據(jù)信息碼元產(chǎn)生監(jiān)督碼元的方法叫差錯(cuò)控制編碼。</p><p> 2.1.3差錯(cuò)控制編碼的
47、分類(lèi)</p><p> a. 按照差錯(cuò)控制編碼的不同功能,可以分為檢錯(cuò)碼(僅能檢測(cè)誤碼)、糾錯(cuò)碼(僅可以糾正誤碼)和糾刪碼(兼有糾錯(cuò)和檢錯(cuò)功能)。</p><p> b. 按照信息碼元和附加的監(jiān)督碼元之間的檢驗(yàn)關(guān)系可以分為線性碼(信息碼元和監(jiān)督碼元滿足一組線性方程式)和非線性碼。</p><p> c. 按照信息碼元和監(jiān)督碼元之間的約束關(guān)系可以分為分組碼和卷積
48、碼。分組碼中,碼元序列每n位分成一組,其中k個(gè)是信息碼元,r=n-k個(gè)是監(jiān)督碼元,監(jiān)督碼元僅與本組的信息碼元有關(guān)。卷積碼中,編碼后序列也編為分組,但監(jiān)督碼元不僅與本組信息碼元有關(guān),還與前面碼組的信息碼元有關(guān)。</p><p> d. 按照糾正錯(cuò)誤的類(lèi)型不同,可以分為糾正隨機(jī)錯(cuò)誤的碼和糾正突發(fā)錯(cuò)誤的碼。</p><p> e. 按照構(gòu)成差錯(cuò)控制編碼的數(shù)學(xué)方法來(lái)分類(lèi),可以分為代數(shù)碼、幾何碼
49、和算術(shù)碼。其中代數(shù)碼建立在近代數(shù)學(xué)基礎(chǔ)上,是目前發(fā)展最為完善的編碼,其中線性碼是是代數(shù)碼的一個(gè)最重要的分支。</p><p> f. 按照每個(gè)碼元的取值不同,可以分為二進(jìn)制代碼和多進(jìn)制碼。</p><p> 2.1.4差錯(cuò)控制編碼的基本原理</p><p> 糾錯(cuò)編碼:對(duì)原來(lái)的信息代碼重新編寫(xiě),根據(jù)需要增加一些監(jiān)督碼,使在輸出端能夠識(shí)別出錯(cuò)碼。</p&g
50、t;<p> 分組碼的結(jié)構(gòu):將信息碼分組,為每組信息碼附加若干監(jiān)督碼的編碼稱(chēng)為分組碼。在分組碼中,監(jiān)督碼元僅監(jiān)督本碼組中的信息碼元。分組碼結(jié)構(gòu)圖如圖2.1中所示。</p><p> 圖2.1 分組碼的基本結(jié)構(gòu)</p><p> 分組碼的符號(hào):(n, k)碼中n表示碼組的總位數(shù),稱(chēng)為碼組長(zhǎng)度(碼長(zhǎng)),k表示碼組中信息碼元的數(shù)目,n-k=r表示碼組中的監(jiān)督碼元數(shù)目,或稱(chēng)監(jiān)督
51、位數(shù)目。</p><p><b> 2.2線性分組碼</b></p><p> 2.2.1線性分組碼基本概念</p><p> 所謂線性碼就是碼字集中的元(碼字)之間的任意線性組合仍然是合法的碼字,即是線性組合運(yùn)算封閉的碼字集。</p><p> 線性分組碼是一類(lèi)奇偶校驗(yàn)碼,它可以由(n,k)形式表示,編碼器將一
52、個(gè)k比特信息分組(信息矢量)轉(zhuǎn)變?yōu)橐粋€(gè)更長(zhǎng)的由給定元素符號(hào)集組成的n比特編碼分組,當(dāng)這個(gè)符號(hào)集包含兩個(gè)元素(0和1),與二進(jìn)制相對(duì),稱(chēng)為二進(jìn)制編碼。 </p><p> 分組碼是對(duì)每段k 位長(zhǎng)的信息組,以一定規(guī)則增加r = n - k個(gè)檢驗(yàn)元,組成長(zhǎng)為n的序列:,稱(chēng)這個(gè)序列為碼字。</p><p> 在二進(jìn)制情況下,信息組總共有個(gè)( q 進(jìn)制為個(gè)) ,因此通過(guò)編碼器后,相應(yīng)的碼字也有個(gè)
53、,稱(chēng)這個(gè)碼字集合為( n , k) 分組碼。n長(zhǎng)序列的可能排列總共有種。稱(chēng)被選取的個(gè) n重為許用碼組,其余個(gè)為禁用碼組。</p><p> 對(duì)于長(zhǎng)度為n的二進(jìn)制分組碼,可以表示成(n,k),通常用于前向糾錯(cuò)。在分組碼中,監(jiān)督位加到信息位之后,形成新碼,在編碼中,k個(gè)信息位,被編為n位長(zhǎng)度,(n-k)個(gè)監(jiān)督碼的作用是實(shí)現(xiàn)檢錯(cuò)和糾錯(cuò)。</p><p> 2.2.2線性分組碼編碼原理<
54、/p><p> 線性碼是一種分組碼,而線性分組碼的編碼過(guò)程可以分為以下兩個(gè)步驟:</p><p> 首先,把信息序列按照一定的長(zhǎng)度分割成為若干信息碼組,每組由k位組成;然后,編碼器按照既定的由線性方程組規(guī)定的線性規(guī)則,將信息碼組變換成為n(n>k)重碼字,其中r=n-k個(gè)附加碼元是線性運(yùn)算產(chǎn)生的。</p><p> 在編碼的過(guò)程中,首先將數(shù)據(jù)每k個(gè)比特分為一
55、組,記作m,成為信息組。然后將長(zhǎng)度為k的信息組進(jìn)行映射運(yùn)算,即編碼??梢缘玫揭粋€(gè)n比特構(gòu)成的碼字,這樣的分組碼成為(n,k)碼。分組碼的一個(gè)重要特性就是它的碼元僅與當(dāng)前編碼的信息序列相關(guān),而與過(guò)去的信息序列無(wú)關(guān),故此也可以說(shuō)分組編碼器是無(wú)記憶的[7]。</p><p> 如果中的n個(gè)元素都可以用m中的k個(gè)元素的線性組合形成,我們將它稱(chēng)為線性分組碼。線性分組碼的編碼過(guò)程可以描述成一個(gè)矢量和一個(gè)矩陣的成績(jī)的結(jié)果。即
56、:</p><p><b> (2.1)</b></p><p> 其中G是由k個(gè)n維矢量構(gòu)成的矩陣,m是信息序列分組,c是編碼得到的n維編碼輸出。</p><p> 根據(jù)公式(2.1)得碼字c可以表示為。而矩陣G稱(chēng)為編碼生成矩陣,形式為:</p><p><b> ?。?.2)</b><
57、;/p><p> 有了生成矩陣后,則可根據(jù)輸入的信息位和生成矩陣相乘得到編碼矩陣即:</p><p><b> ?。?.3)</b></p><p> 其中C為編碼后結(jié)果, I為信息矩陣,G為生成矩陣。</p><p> 2.2.3差線性分組碼譯碼原理</p><p> 監(jiān)督矩陣與(n, k)
58、碼的任何一個(gè)許用碼字進(jìn)行相乘的結(jié)果必等于0,即如果C=mG是任一(n, k)碼字,則必有C與H的轉(zhuǎn)置矩陣的乘機(jī)為0。若不屬于許用碼字,或有傳輸差錯(cuò),且差錯(cuò)位數(shù)在(n, k)碼糾錯(cuò)能力內(nèi),則運(yùn)算的結(jié)果將為非0值,此時(shí),可以糾錯(cuò)或檢錯(cuò)重發(fā)。</p><p> 當(dāng)編碼矩陣與生成矩陣的轉(zhuǎn)置矩陣相乘時(shí),若當(dāng)其中的一位編碼出現(xiàn)了差錯(cuò),則會(huì)有七種情況,則根據(jù)這些情況列出錯(cuò)碼矩陣如下:</p><p>
59、<b> ?。?.4)</b></p><p> 而這些情況正好是和校驗(yàn)子有某種對(duì)應(yīng)關(guān)系的,根據(jù)這些對(duì)應(yīng)關(guān)系可以進(jìn)行相關(guān)編程。若編程檢測(cè)到了那一位錯(cuò)誤可以根據(jù)下式:</p><p> A=B+E (2.5)</p><p> 對(duì)接收到的信息進(jìn)行改正求出正確的編碼,從而再提去更正后的接收序列的
60、前四位來(lái)提取信息位,以至獲得信息矩陣I。其中A為糾錯(cuò)輸出碼序列,E為錯(cuò)碼矩陣,B為信道輸出碼。</p><p><b> 2.3循環(huán)碼</b></p><p> 2.3.1循環(huán)碼基本概念</p><p> 循環(huán)碼是線性分組碼的一種,所以它具有線性分組碼的一般特性,除此之外還具有循環(huán)性。循環(huán)碼的編碼和解碼設(shè)備都不太復(fù)雜,且檢(糾)錯(cuò)能力強(qiáng)。
61、它不但可以檢測(cè)隨機(jī)的錯(cuò)誤,還可以檢錯(cuò)突發(fā)的錯(cuò)誤。(n,k)循環(huán)碼可以檢測(cè)長(zhǎng)為n-k或更短的任何突發(fā)錯(cuò)誤,包括首尾相接突發(fā)錯(cuò)誤。</p><p> 循環(huán)碼是屬于無(wú)權(quán)碼,循環(huán)碼的編排特點(diǎn)是在相鄰的兩個(gè)數(shù)碼之間符合卡諾圖中的鄰接條件,即相鄰兩個(gè)數(shù)碼之間只有一位碼元不同。由于數(shù)碼轉(zhuǎn)換的速度回有快有慢,中間會(huì)經(jīng)過(guò)一些其它的數(shù)碼形式,故稱(chēng)此為瞬時(shí)錯(cuò)誤。而循環(huán)碼的優(yōu)點(diǎn)就是沒(méi)有瞬時(shí)錯(cuò)誤,循環(huán)碼是相鄰的兩個(gè)數(shù)碼之間僅有一位碼元不
62、同的方式,這樣滿足臨接條件,故而循環(huán)碼不會(huì)產(chǎn)生瞬時(shí)錯(cuò)誤[8]。循環(huán)碼的最大特點(diǎn)就是碼字的循環(huán)性:循環(huán)碼中的任一許用碼組在經(jīng)過(guò)循環(huán)移位之后,所得到的碼組依然是許用碼組。形象的說(shuō)就是若為一循環(huán)碼組,則、、……還是許用碼組。也就是說(shuō),不論是左移還是右移,也不論移多少位,仍然是許用的循環(huán)碼組。</p><p> 2.3.2循環(huán)碼的多項(xiàng)式表示及生成矩陣</p><p> 設(shè)碼長(zhǎng)為n的循環(huán)碼表示為
63、:</p><p><b> ?。?.6)</b></p><p> 其中為二進(jìn)制數(shù),通常把碼組中各碼元當(dāng)做二進(jìn)制的系數(shù),即把上式(2.6)中長(zhǎng)為n的各個(gè)分量看做多項(xiàng)式:</p><p><b> ?。?.7)</b></p><p> 上式的各項(xiàng)系數(shù),則碼字與碼多項(xiàng)式一一對(duì)應(yīng),這種多項(xiàng)式中,x
64、僅表示碼元位置的標(biāo)記,因此我們并不關(guān)心x的取值,這種多項(xiàng)式稱(chēng)為碼多項(xiàng)式。</p><p> 用生成多項(xiàng)式(2.7)式除,得到:</p><p><b> ?。?.8)</b></p><p> 上式中是余式,其表示為:</p><p><b> ?。?.9)</b></p><
65、;p> 而+是碼多項(xiàng)式,由此可得循環(huán)碼的系統(tǒng)形式的生成矩陣為:</p><p> G= (2.10)</p><p> 2.3.3循環(huán)碼編碼原理</p><p> a. 信息碼構(gòu)成信息多項(xiàng)式。多項(xiàng)式如下:</p><p><b> ?。?.11)</b></p><p&
66、gt; 其中高冪次為k-1;</p><p> b. 用乘以信息多項(xiàng)式m(x)。這一運(yùn)算實(shí)際上是把信息碼后附加上(n-k)個(gè)“0”。例如,信息碼為110,它相當(dāng)于。當(dāng)n-k=7-3=4時(shí),,它相當(dāng)于1100000;</p><p> c. 用g(x)除b中之式得到余式r(x)。其次數(shù)必小于g(x)次數(shù),即小于(n-k),將此r(x)加于信息位后做監(jiān)督位。由于循環(huán)碼多項(xiàng)式A(x)都可以
67、被g(x)整除,也就是:</p><p><b> ?。?.12)</b></p><p> 因此,用m(x)除以g(x),就得到商Q(x)和余式r(x),即:</p><p><b> ?。?.13)</b></p><p> 這樣就得到了r(x);</p><p>
68、 d. 求A(x)。編碼輸出系統(tǒng)循環(huán)碼多項(xiàng)式A(x)為:</p><p><b> ?。?.14)</b></p><p> 上述中闡明了循環(huán)碼編碼的整個(gè)過(guò)程,而根據(jù)上面的過(guò)程討論,可以得到(7,4)循環(huán)碼編碼流程圖如圖2.2所示。</p><p> 圖2.2 循環(huán)碼編碼流程圖</p><p> 2.3.4循環(huán)碼譯
69、碼原理</p><p> 對(duì)于接收端譯碼的要求通常有兩個(gè):檢錯(cuò)與糾錯(cuò)。達(dá)到檢錯(cuò)目的的譯碼十分簡(jiǎn)單,可以由式(2.12)通過(guò)判斷接收到的碼組多項(xiàng)式B(x)是否能被生成多項(xiàng)式g(x)整除作為依據(jù)。當(dāng)傳輸中未發(fā)生錯(cuò)誤時(shí),也就是接收的碼組與發(fā)送的碼組相同,即A(x)=B(x),則接收的碼組B(x)必能被g(x)整除;若傳輸中發(fā)生了錯(cuò)誤,則A(x)≠B(x),B(x)不能被g(x)整除。因此,可以根據(jù)余項(xiàng)是否為零來(lái)判斷碼
70、組中有無(wú)錯(cuò)碼。 需要指出的是,有錯(cuò)碼的接收碼組也有可能被g(x)整除,這時(shí)的錯(cuò)碼就不能檢出了。這種錯(cuò)誤被稱(chēng)為不可檢錯(cuò)誤,不可檢錯(cuò)誤中的錯(cuò)碼數(shù)必將超過(guò)這種編碼的檢錯(cuò)能力。 在接收端為糾錯(cuò)而采用的譯碼方法自然比檢錯(cuò)要復(fù)雜許多。為了能夠糾錯(cuò)要求每個(gè)可糾正的錯(cuò)誤圖樣必須和校正子之間存在某種對(duì)應(yīng)關(guān)系。</p><p> 糾錯(cuò)可以按照下述步驟進(jìn)行:首先,由接收到的碼多項(xiàng)式B(x)計(jì)算校正子(伴隨式)多項(xiàng)式S
71、(x);其次,由校正子S(x)確定錯(cuò)誤圖樣E(x)?;阱e(cuò)誤圖樣識(shí)別的譯碼器稱(chēng)為梅吉特譯碼器;最后,將錯(cuò)誤圖樣E(x)與B(x)相加,糾正錯(cuò)誤。</p><p> 編碼為(7,4)循環(huán)碼的譯碼流程圖如圖2.3所示。</p><p> 否 </p><p> 否 是</p><p>
72、圖2.3 譯碼程序框圖</p><p> 3 Matlab軟件與Simulink仿真平臺(tái)</p><p><b> 3.1Matlab</b></p><p> 3.1.1Matlab發(fā)展史</p><p> 在當(dāng)今科學(xué)技術(shù)飛速發(fā)展的社會(huì),Matlab已經(jīng)成為國(guó)際上最為流行的科學(xué)與工程計(jì)算及仿真的軟件工具。Ma
73、tlab語(yǔ)言的功能也越來(lái)越強(qiáng)大,不斷適應(yīng)新的要求提出新的解決方法,而它亦不再是一個(gè)簡(jiǎn)簡(jiǎn)單單的“矩陣實(shí)驗(yàn)室[9]”,它已經(jīng)成為了一種具有廣泛的應(yīng)用前景的全新計(jì)算機(jī)高級(jí)編程語(yǔ)言了,有人將它稱(chēng)之為為第四代計(jì)算機(jī)語(yǔ)言,它在國(guó)內(nèi)外的高校和研究部門(mén)正扮演著重要的角色。由此可預(yù)見(jiàn),在科學(xué)運(yùn)算、工程仿真、自動(dòng)控制與科學(xué)繪圖領(lǐng)域 Matlab語(yǔ)言將長(zhǎng)期保持其獨(dú)一無(wú)二的地位。</p><p> 20世紀(jì)70年代中期,Cleve M
74、oler博士和其同事在美國(guó)國(guó)家科學(xué)基金的資助下開(kāi)發(fā)了調(diào)用Eispack和Linpack的Fortran子程序庫(kù)。Eispack是特征值求解的Fortran程序庫(kù),Linpack是解線性方程的程序庫(kù)。在當(dāng)時(shí),這兩個(gè)程序庫(kù)代表矩陣運(yùn)算的最高水平。其語(yǔ)言的首創(chuàng)者Cleve Moler教授參與編寫(xiě)了數(shù)值分析領(lǐng)域一些著名的著作和兩個(gè)重要的Fortran程序Eispack和Linpack,并且他在數(shù)值分析,特別是在數(shù)值線性代數(shù)的領(lǐng)域中很有影響,他曾
75、在密西根大學(xué)、斯坦福大學(xué)和新墨西哥大學(xué)任數(shù)學(xué)與計(jì)算機(jī)科學(xué)教授。1980年前后,當(dāng)時(shí)的新墨西哥大學(xué)計(jì)算機(jī)系主任Moler教授在講授線性代數(shù)課程時(shí),發(fā)現(xiàn)了用其它高級(jí)語(yǔ)言編程極為不便,于是他開(kāi)始自己動(dòng)手,利用業(yè)余時(shí)間為學(xué)生編寫(xiě)Einpack和Linpack的接口程序。Cleve Moler給這個(gè)接口程序取名為Matlab,該名為矩陣(matrix)和實(shí)驗(yàn)室(laboratory)兩個(gè)英文單詞的前三個(gè)字母的組合。這一軟件利用了當(dāng)時(shí)數(shù)值線性代數(shù)領(lǐng)
76、域最高水平的Eispack和Linpack兩大軟件包中可靠的子程序,用Fortran</p><p> 直到1984年,Cleve Moler和 John Lithe成立了MathWorks[10]公司,正式把Matlab推向市場(chǎng),并繼續(xù)進(jìn)行Matlab的研究和開(kāi)發(fā)。</p><p> 在當(dāng)今30多個(gè)數(shù)學(xué)類(lèi)科技應(yīng)用軟件中,就軟件數(shù)學(xué)處理的原始內(nèi)核而言,可分為兩大類(lèi)。一類(lèi)是數(shù)值計(jì)算型軟件
77、,如 Matlab、Xmath、Gauss等,這類(lèi)軟件長(zhǎng)于數(shù)值計(jì)算,對(duì)處理大批數(shù)據(jù)效率高;另一類(lèi)是數(shù)學(xué)分析型軟件,如Mathematica、Maple等,這類(lèi)軟件以符號(hào)計(jì)算見(jiàn)長(zhǎng),能給出解析解和任意精度解,其缺點(diǎn)是處理大量數(shù)據(jù)時(shí)效率較低。MathWorks公司順應(yīng)多功能需求之潮流,在其卓越數(shù)值計(jì)算和圖示能力的基礎(chǔ)上,又率先在專(zhuān)業(yè)水平上開(kāi)拓了其符號(hào)計(jì)算、文字處理、可視化建模和實(shí)時(shí)控制能力,開(kāi)發(fā)了適合多學(xué)科、多部門(mén)要求的新一代科技應(yīng)用軟件Ma
78、tlab。經(jīng)過(guò)多年的國(guó)際競(jìng)爭(zhēng),Matlab 已經(jīng)占據(jù)了數(shù)值型軟件市場(chǎng)的主導(dǎo)地位。</p><p> 在Matlab進(jìn)入市場(chǎng)前,國(guó)際上的許多應(yīng)用軟件包都是直接以Fortran和C語(yǔ)言等編程語(yǔ)言開(kāi)發(fā)的。這種軟件的缺點(diǎn)是使用面窄、接口簡(jiǎn)陋、程序結(jié)構(gòu)不開(kāi)放以及沒(méi)有標(biāo)準(zhǔn)的基庫(kù),很難適應(yīng)各學(xué)科的最新發(fā)展,因而很難推廣。Matlab的出現(xiàn),為各國(guó)科學(xué)家開(kāi)發(fā)學(xué)科軟件提供了新的基礎(chǔ)。在Matlab問(wèn)世不久的20世紀(jì)80年代中期,
79、原先控制領(lǐng)域里的一些軟件包紛紛被淘汰或在Matlab上重建。</p><p> The MathWorks公司于1992年推出了具有劃時(shí)代意義的Matlab4.0版本,并于1993年推出了其微機(jī)版, 可以配合Microsoft Windows一起使用,使之應(yīng)用范圍越來(lái)越廣。1994年推出的4.2版本擴(kuò)充了4.0版本的功能,尤其在圖形接口設(shè)計(jì)方面更提供了新的方法。1997年推出的Matlab 5.0版允許了更多的
80、數(shù)據(jù)結(jié)構(gòu),如單元數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)體、多維矩陣、對(duì)象與類(lèi)等,使其成為一種更方便編程的語(yǔ)言。1999年初推出的Matlab 5.3版在很多方面又進(jìn)一步改進(jìn)了Matlab語(yǔ)言的功能。2000年10月底推出了其全新的 Matlab6.0正式版(Release 12),在核心數(shù)值算法、接口設(shè)計(jì)、外部接口、應(yīng)用桌面等諸多方面有了極大的改進(jìn)。雖然Matlab語(yǔ)言是計(jì)算數(shù)學(xué)專(zhuān)家倡導(dǎo)并開(kāi)發(fā)的,但其普及和發(fā)展離不開(kāi)自動(dòng)控制領(lǐng)域?qū)W者的貢獻(xiàn)。甚至可以說(shuō),Matl
81、ab語(yǔ)言是自動(dòng)控制領(lǐng)域?qū)W者和工程技術(shù)人員捧紅的,因?yàn)樵贛atlab語(yǔ)言的發(fā)展進(jìn)程中,許多有代表性的成就和控制界的要求與貢獻(xiàn)是分不開(kāi)的。迄今為止,大多數(shù)工具箱也都是控制方面的。</p><p> Matlab軟件具有著強(qiáng)大的數(shù)學(xué)運(yùn)算能力和方便實(shí)用的繪圖功能以及語(yǔ)言的高度集成性,而且它在其它科學(xué)與工程領(lǐng)域的應(yīng)用亦是越來(lái)越廣,有著廣闊的應(yīng)用前景和不可估量的潛能。子曰:“工欲善其事,必先利其器”。在決工程方面的問(wèn)題需正
82、確效率的“善假于物”,而有一種行之有效的工具能解決在教學(xué)與研究中遇到的問(wèn)題,那么Matlab當(dāng)仁不讓的正是此“物”。它可以幫助使用者從繁瑣、無(wú)謂的底層編程中解放出來(lái)。</p><p><b> 3.1.2 M文件</b></p><p> Matlab除了如前所述的在命令窗口進(jìn)行的直接交互的指令操作方式外,另外一種更為重要的工作方式就是m檔的編程工作方式[11]。
83、m檔有兩種形式,一種是腳本檔(Script File),另一種是函數(shù)文件(Function File)。m文件的擴(kuò)展名為\.m。m檔可以通過(guò)任何純文本編輯器進(jìn)行編輯,Matlab中也有自帶的文本編輯器,使用edit命令即可開(kāi)啟。</p><p> 3.1.3程控流語(yǔ)句</p><p> 任何計(jì)算機(jī)語(yǔ)言,只要存在順序結(jié)構(gòu),循環(huán)結(jié)構(gòu)以及分支結(jié)構(gòu),就可以完成任何程序功能。在Matlab中也有
84、這三種基本的程序結(jié)構(gòu)。但值得注意的是,由于Matlab語(yǔ)言矩陣計(jì)算功能十分強(qiáng)大,常常僅僅使用順序結(jié)構(gòu)藉以矩陣的邏輯運(yùn)算就可以完成計(jì)算任務(wù),由于循環(huán)結(jié)構(gòu)和分支結(jié)構(gòu)在Matlab語(yǔ)言中的運(yùn)行速度相對(duì)較慢,所以在算法優(yōu)化的編程中應(yīng)當(dāng)盡可能避免使用,而代之以矩陣運(yùn)算,從而提高程序運(yùn)行速度(通??梢蕴岣邤?shù)十倍到百倍),簡(jiǎn)化程序代碼,而使得程序代碼更加接近于數(shù)學(xué)上的表達(dá)。當(dāng)然,矩陣編程的編程方法需要讀者更多的關(guān)于線性代數(shù)和矩陣數(shù)學(xué)的知識(shí)和思維方式。
85、總之,Matlab是一種非常完美易用的超高級(jí)矩陣編程語(yǔ)言[12]。這里只介紹本次編程中用到的編程結(jié)構(gòu)。</p><p> a. 順序結(jié)構(gòu)。在順序結(jié)構(gòu)中,Matlab語(yǔ)句是按照書(shū)寫(xiě)的前后順序來(lái)執(zhí)行的。這是Matlab最常用的程序結(jié)構(gòu),也是執(zhí)行效率最高的程序結(jié)構(gòu)。</p><p> b. 循環(huán)結(jié)構(gòu)for。for...end語(yǔ)句適合于循環(huán)次數(shù)確定的情況,將循環(huán)變量的初值,判別和變化放在循環(huán)
86、開(kāi)頭。利用help for或doc for可以獲得關(guān)于該語(yǔ)句的使用手冊(cè)。for...end語(yǔ)句的調(diào)用形式是:</p><p><b> for v=表達(dá)式</b></p><p><b> 語(yǔ)句1;</b></p><p><b> ......</b></p><p>
87、<b> 語(yǔ)句n;</b></p><p><b> End</b></p><p> c. 條件分支結(jié)構(gòu)if。if 分支結(jié)構(gòu)的一般形式是:</p><p><b> if 表達(dá)式</b></p><p><b> 語(yǔ)句段1;</b></p
88、><p><b> else</b></p><p><b> 語(yǔ)句段</b></p><p><b> End</b></p><p> 3.2 Simulink</p><p> 3.2.1 Simulink簡(jiǎn)介</p><
89、p> Simulink是Matlab最重要的組件之一,它提供一個(gè)動(dòng)態(tài)系統(tǒng)建模、仿真和綜合分析的集成環(huán)境。在該環(huán)境中,無(wú)需大量書(shū)寫(xiě)程序,而只需要通過(guò)簡(jiǎn)單直觀的鼠標(biāo)操作,就可構(gòu)造出復(fù)雜的系統(tǒng)。它是一個(gè)用來(lái)對(duì)動(dòng)態(tài)系統(tǒng)進(jìn)行建模、仿真和分析的Matlab軟件包。支持連續(xù)、離散以及兩者混合的線性和非線性系統(tǒng),同時(shí)它也支持具有不同部分擁有不同采樣率的多種采樣速率的仿真系統(tǒng)。在其下提供了豐富的仿真模塊。其主要功能是實(shí)現(xiàn)動(dòng)態(tài)系統(tǒng)建模、方針與分析,
90、可以預(yù)先對(duì)系統(tǒng)進(jìn)行仿真分析,按仿真的最佳效果來(lái)調(diào)試及整定控制系統(tǒng)的參數(shù)。Simulink的出現(xiàn),給控制系統(tǒng)分析與設(shè)計(jì)帶來(lái)了福音。Simulink具有適應(yīng)面廣、結(jié)構(gòu)和流程清晰及仿真精細(xì)、貼近實(shí)際、效率高、靈活等優(yōu)點(diǎn),并基于以上優(yōu)點(diǎn)Simulink已被廣泛應(yīng)用于控制理論和數(shù)字信號(hào)處理的復(fù)雜仿真和設(shè)計(jì)。構(gòu)架在Simulink基礎(chǔ)之上的其他產(chǎn)品擴(kuò)展了Simulink多領(lǐng)域建模功能,也提供了用于設(shè)計(jì)、執(zhí)行、驗(yàn)證和確認(rèn)任務(wù)的相應(yīng)工具。Simulin
91、k與Matlab;緊密集成,可以直接訪問(wèn)Matlab大量的工具來(lái)進(jìn)行算法研發(fā)、仿真的分析和可視化、處理腳本的創(chuàng)建、建模環(huán)境的定制以及信</p><p> Simulink是Matlab中的一種可視化仿真工具,是基于Matlab的框圖設(shè)計(jì)環(huán)境,是實(shí)現(xiàn)動(dòng)態(tài)系統(tǒng)建模、仿真和分析的一個(gè)軟件包,被廣泛應(yīng)用于線性系統(tǒng)、非線性系統(tǒng)、數(shù)字控制及數(shù)字信號(hào)處理的建模和仿真中。Simulink可以用連續(xù)采樣時(shí)間、離散采樣時(shí)間或兩種混
92、合的采樣時(shí)間進(jìn)行建模,它也支持多速率系統(tǒng),也就是系統(tǒng)中的不同部分具有不同的采樣速率。為了創(chuàng)建動(dòng)態(tài)系統(tǒng)模型,Simulink提供了一個(gè)建立模型方塊圖的圖形用戶(hù)接口(GUI),這個(gè)創(chuàng)建過(guò)程只需單擊和拖動(dòng)鼠標(biāo)操作就能完成,它提供了一種更快捷、直接明了的方式,而且用戶(hù)可以立即看到系統(tǒng)的仿真結(jié)果。 </p><p> Simulink模塊庫(kù)提供了豐富的描述系統(tǒng)特性的典型環(huán)節(jié),有信號(hào)源模塊庫(kù)(Source) ,接收模塊庫(kù)(
93、Sinks),連續(xù)系統(tǒng)模塊庫(kù)(Continuous),離散系統(tǒng)模塊庫(kù)(Discrete),非連續(xù)系統(tǒng)模塊庫(kù)(Signal Routing),信號(hào)屬性模塊庫(kù)(Signal Attributes),數(shù)學(xué)運(yùn)算模塊庫(kù)(Math Operations),邏輯和位操作庫(kù)(Logic and Bit Operations)等等,此外還有一些特定學(xué)科仿真的工具箱。</p><p> Simulink為用戶(hù)提供了一個(gè)圖形化的用戶(hù)
94、界面(GUI)。對(duì)于用方框圖表示的系統(tǒng),通過(guò)圖形界面,利用鼠標(biāo)單擊和拖拉方式,它與用微分方程和差分方程建模的傳統(tǒng)仿真軟件包相比,具有更直觀、更方便、更靈活的優(yōu)點(diǎn)。不但實(shí)現(xiàn)了可視化的動(dòng)態(tài)仿真,也實(shí)現(xiàn)了與Matlab、C或者Fortran語(yǔ)言,甚至和硬件之間的數(shù)據(jù)傳遞,大大擴(kuò)展了它的功能[14]。</p><p> 3.2.2Simulink模塊</p><p> 在這里我主要介紹在本仿真
95、工程中將會(huì)使用到的模塊。</p><p> a. Mux混路器。將多路信號(hào)依照向量的形式混合成一路信號(hào)。例如,可以將要觀察的多路信號(hào)合并成一路,連接到示波器上顯示,這樣就可以將這些信號(hào)同時(shí)顯示出來(lái)。</p><p> b. Demux分路器。將混路器組成的信號(hào)依照原來(lái)的構(gòu)成方法分解成多路。</p><p> c. Display數(shù)字顯示器。將輸入信號(hào)用數(shù)字形式
96、顯示出來(lái)。</p><p> d. Bernoulli Binary Generator伯努利隨機(jī)碼發(fā)生器。伯努利二進(jìn)制的發(fā)生器使用伯努利分布生成隨機(jī)二進(jìn)制數(shù),發(fā)生器會(huì)隨機(jī)的產(chǎn)生0到1之間的任何實(shí)數(shù),其間設(shè)置概率P,則剩余的概率生成(1-P),由此以來(lái)隨機(jī)產(chǎn)生的實(shí)數(shù)都可以生為二進(jìn)制數(shù)的0和1,分別對(duì)應(yīng)概率P和(1-P),其中P=0.5為模塊默認(rèn)設(shè)置參數(shù)。</p><p> e. Bin
97、ary Cyclic Encoder二進(jìn)制循環(huán)碼編碼器。用于將伯努利二進(jìn)制發(fā)生器產(chǎn)生的碼元進(jìn)行線性循環(huán)編碼以通過(guò)模擬信道。</p><p> f. Binary Symmetric Channel二進(jìn)制均衡信道。用來(lái)模擬信息傳輸?shù)耐ǖ?。在?shí)際傳輸過(guò)程中由于各種原因而產(chǎn)生噪聲干擾,在這里模擬信道會(huì)自我生成固有的持續(xù)性的熱噪聲,其中可以設(shè)置在模擬信道傳輸時(shí)的差錯(cuò)概率。</p><p> g
98、. Binary Cyclic Decoder二進(jìn)制循環(huán)碼解碼器。將通過(guò)模擬均衡信道的信號(hào)進(jìn)行相關(guān)解碼。</p><p> h. Error Rate Calculation誤碼率計(jì)算器。其運(yùn)算是比較接收的數(shù)據(jù)跟輸出的數(shù)據(jù),它是一個(gè)實(shí)時(shí)流動(dòng)統(tǒng)計(jì),以這種方式來(lái)計(jì)算其中誤碼率。通過(guò)對(duì)出現(xiàn)同位相異的碼字總數(shù)的統(tǒng)計(jì)作為分子,分母則是通過(guò)的碼元數(shù)據(jù)元素的總數(shù),其中它不考慮輸入元素之間的差異幅度。如果輸入的是位數(shù),則計(jì)算出
99、來(lái)的是誤碼率,如果輸入的是符號(hào),則計(jì)算出來(lái)的是符號(hào)差錯(cuò)率。</p><p> i. Binary Linear Encoder二進(jìn)制線性編碼器。用于將伯努利二進(jìn)制發(fā)生器產(chǎn)生的碼元進(jìn)行線性循環(huán)編碼以通過(guò)模擬信道。其使用點(diǎn)陣式產(chǎn)生器產(chǎn)生一個(gè)二進(jìn)位的線區(qū)段編碼。</p><p> j. Binary Linear Decoder二進(jìn)制線性解碼器。將通過(guò)模擬均衡信道的信號(hào)進(jìn)行相關(guān)解碼。<
100、/p><p> k. To Workspaces工作空間寫(xiě)入器。可以將系統(tǒng)的仿真結(jié)果、系統(tǒng)仿真時(shí)刻、系統(tǒng)中的狀態(tài)或指定的信號(hào)輸出到MATLAB的工作空間中,以便進(jìn)行定量分析。該模塊可以保存任何實(shí)數(shù)或復(fù)數(shù)類(lèi)型的數(shù)據(jù)到MATLAB工作空間。</p><p> 4 基于Matlab差錯(cuò)控制技術(shù)仿真及結(jié)果分析</p><p> 4.1線性分組碼差錯(cuò)控制仿真</p&
101、gt;<p> 4.1.1線性分組碼仿真步驟</p><p> 在實(shí)現(xiàn)線性分組碼差錯(cuò)控制編碼技術(shù)仿真時(shí),其可以分為以下幾個(gè)大步驟:</p><p> a. 產(chǎn)生二進(jìn)制碼元;</p><p> b. 進(jìn)行線性分組編碼;</p><p> c. 經(jīng)過(guò)模擬信道;</p><p><b>
102、d. 進(jìn)行譯碼;</b></p><p> e. 進(jìn)行對(duì)原碼與經(jīng)過(guò)模擬信道的碼進(jìn)行差錯(cuò)率運(yùn)算;</p><p> f. 得到線性碼的信號(hào)誤碼率與信道差錯(cuò)率之間的曲線圖,仿真完成并對(duì)得到了結(jié)果進(jìn)行分析。</p><p> 4.1.2線性分組碼差錯(cuò)控制仿真系統(tǒng)模型</p><p> 線性碼差錯(cuò)控制編碼技術(shù)的仿真框圖由信號(hào)發(fā)生器
103、,線性編碼器,模擬信道,線性解碼器,差錯(cuò)率運(yùn)算器,結(jié)果顯示器這六大模塊組成,除此以外還有運(yùn)算結(jié)果存儲(chǔ)模塊,在建模時(shí),此模塊屬于附加模塊。下面對(duì)這七個(gè)模塊功能進(jìn)行簡(jiǎn)單介紹:</p><p> 信號(hào)發(fā)生器模塊:用來(lái)產(chǎn)生隨機(jī)二進(jìn)制碼元。</p><p> 線性編碼器模塊:將產(chǎn)生的隨機(jī)二進(jìn)制碼元進(jìn)行線性分組編碼,即差錯(cuò)控制編碼。</p><p> 模擬信道模塊:用來(lái)模
104、擬信號(hào)傳輸通道,為二進(jìn)制均衡信道,其中生成可控噪聲干擾。</p><p> 線性解碼器模塊:將經(jīng)過(guò)模擬信道的信號(hào)進(jìn)行相干解碼。</p><p> 差錯(cuò)率運(yùn)算器模塊:將未進(jìn)過(guò)差錯(cuò)控制編碼和經(jīng)過(guò)差錯(cuò)控制編碼的信號(hào)進(jìn)行碼字差錯(cuò)運(yùn)算,經(jīng)過(guò)計(jì)算得到其實(shí)時(shí)傳輸誤碼率。</p><p> 運(yùn)算結(jié)果存儲(chǔ)模塊:在數(shù)學(xué)建模中,此模塊是可以無(wú)需存在的,故此我用虛線箭頭來(lái)繪制,在Si
105、mulink仿真中,最終得到的仿真結(jié)果是以Display模塊進(jìn)行數(shù)字顯示的,而為了方便觀看結(jié)果,我將最終仿真結(jié)果以曲線圖直觀的表示出來(lái)。而在此期間需要調(diào)用M函數(shù),所以需要將運(yùn)算結(jié)果提前存儲(chǔ)起來(lái)以供后用。</p><p> 結(jié)果顯示器模塊:顯示仿真結(jié)果。</p><p> 實(shí)現(xiàn)線性碼差錯(cuò)控制編碼技術(shù)的仿真系統(tǒng)程圖見(jiàn)附錄1。</p><p> 4.1.3線性分組碼
106、仿真流程及結(jié)果分析</p><p> 基于Simulink平臺(tái)的系統(tǒng)仿真的步驟(此處進(jìn)行仿真步驟述說(shuō)后將在“4.2循環(huán)碼差錯(cuò)控制仿真”中不再說(shuō)明。)為: a. 建立數(shù)學(xué)模型。根據(jù)通信系統(tǒng)的基本原理,將整個(gè)系統(tǒng)簡(jiǎn)化到源系統(tǒng),確定總的系統(tǒng)功能,并將各部分功能模塊化,找出各部分之間的關(guān)系,畫(huà)出系統(tǒng)流程框圖模型; b. 仿真系統(tǒng)。根據(jù)建立的模型,從Simulink通信模型庫(kù)的各個(gè)子庫(kù)中,將所需要的單元功
107、能模塊拷貝到Untitled窗口,按系統(tǒng)流程框圖模型連接,組建要仿真的通信系統(tǒng)模型;</p><p> c. 設(shè)置、調(diào)整參數(shù)。參數(shù)設(shè)置包括運(yùn)行系統(tǒng)參數(shù)設(shè)置(如系統(tǒng)運(yùn)行時(shí)間、采樣速率等)和功能模塊運(yùn)行參數(shù)設(shè)置; d. 運(yùn)行且分析結(jié)果。保存且運(yùn)行仿真,得到仿真數(shù)據(jù)及波形,并對(duì)仿真結(jié)果進(jìn)行分析。</p><p> 其中步驟a已在之前完成,故現(xiàn)在需要根據(jù)已建立好的仿真流程框圖在Simu
108、link模塊庫(kù)中選取相應(yīng)的模塊進(jìn)行Simulink建模,完成建模。</p><p> 線性分組碼差錯(cuò)控制仿真系統(tǒng)如圖4.1所示。</p><p> 圖4.1 線性分組碼差錯(cuò)控制仿真系統(tǒng)</p><p> 由于伯努利隨機(jī)信號(hào)發(fā)生器[15]的產(chǎn)生信號(hào)是以概率來(lái)執(zhí)行的,則所生成的隨機(jī)數(shù)均在0到1之間,而二進(jìn)制數(shù)中碼字非“0”即“1”所以在這里出現(xiàn)零的概率設(shè)置為0.5
109、。伯努利二進(jìn)制信號(hào)發(fā)生器參數(shù)設(shè)置如圖4.2所示。</p><p> 圖4.2 伯努利二進(jìn)制信號(hào)發(fā)生器參數(shù)</p><p> 二進(jìn)制線性編碼器參數(shù)設(shè)置如圖4.3所示。</p><p> 圖4.3 二進(jìn)制線性編碼器參數(shù)</p><p> 均衡信道的傳輸環(huán)境設(shè)置為差錯(cuò)率5%。二進(jìn)制均衡信道參數(shù)設(shè)置如圖4.4所示。</p>&l
110、t;p> 圖4.4 二進(jìn)制均衡信道參數(shù)</p><p> 二進(jìn)制線性解碼器參數(shù)設(shè)置如圖4.5所示。</p><p> 圖4.5 二進(jìn)制線性解碼器參數(shù)</p><p> 誤碼率計(jì)算器參數(shù)設(shè)置如圖4.6所示。</p><p> 圖4.6 誤碼率計(jì)算器參數(shù)</p><p> 運(yùn)算結(jié)果存儲(chǔ)器參數(shù)設(shè)置如圖4.7
111、所示。</p><p> 圖4.7 運(yùn)算結(jié)果存儲(chǔ)器參數(shù)</p><p> 結(jié)果顯示器中Decimation參數(shù)設(shè)置為1,則顯示器是按時(shí)間的步驟來(lái)顯示。 Sample time設(shè)置為-1,則決定了顯示器忽略采樣間隔時(shí)間。結(jié)果顯示器參數(shù)設(shè)置如圖4.8所示。</p><p> 圖4.8 結(jié)果顯示器參數(shù)</p><p> Start time
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于matlab的模糊控制系統(tǒng)仿真設(shè)計(jì)【畢業(yè)論文】
- 基于matlab的光學(xué)實(shí)驗(yàn)仿真畢業(yè)論文
- 基于matlab的pss仿真分析畢業(yè)論文
- 畢業(yè)論文--基于matlab的光學(xué)實(shí)驗(yàn)仿真
- 基于matlab的gps信號(hào)的仿真畢業(yè)論文
- 差錯(cuò)控制編碼解決加性噪聲的仿真 畢業(yè)論文
- fsk調(diào)制技術(shù)及其matlab仿真畢業(yè)論文
- matlab仿真設(shè)計(jì)-畢業(yè)論文
- 畢業(yè)論文---基于matlab的gps信號(hào)的仿真
- 基于matlab的幅度調(diào)制解調(diào)仿真[畢業(yè)論文]
- 基于matlab的am調(diào)制系統(tǒng)仿真畢業(yè)論文
- 基于matlab的智能pid控制器設(shè)計(jì)和仿真-畢業(yè)論文
- 基于matlab的先進(jìn)pid控制【畢業(yè)論文】
- 畢業(yè)論文--電流逆變器的matlab仿真
- 基于matlab的智能pid控制器設(shè)計(jì)和仿真-畢業(yè)論文
- 畢業(yè)論文-基于matlab的擴(kuò)頻通信系統(tǒng)仿真
- 基于matlab圖像增強(qiáng)技術(shù)畢業(yè)論文
- 畢業(yè)論文---基于matlab的風(fēng)力發(fā)電系統(tǒng)仿真研究
- 畢業(yè)論文基于matlab的擴(kuò)頻通信系統(tǒng)仿真
- 畢業(yè)論文----基于matlab的電力系統(tǒng)仿真
評(píng)論
0/150
提交評(píng)論