基于Matlab的差錯(cuò)控制仿真_第1頁(yè)
基于Matlab的差錯(cuò)控制仿真_第2頁(yè)
基于Matlab的差錯(cuò)控制仿真_第3頁(yè)
基于Matlab的差錯(cuò)控制仿真_第4頁(yè)
基于Matlab的差錯(cuò)控制仿真_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘要IAbstractII引言1第一章 緒論21.1 題目背景21.2 課題研究意義21.3 國(guó)內(nèi)外相關(guān)研究情況21.4 本文主要研究工作3第二章 相關(guān)技術(shù)介紹42.1 差錯(cuò)控制技術(shù)42.1.1 差錯(cuò)控制的基本方式42.1.2 差錯(cuò)控制編碼5 差錯(cuò)控制編碼的分類52.1.4 差錯(cuò)控制編碼的基本原理52.2 線性分組碼62.2.1 線性分組碼基本概念62.2.2 線性分組碼編碼原理6 差線性分組碼譯碼原理72.3 循環(huán)碼82.3.1 循環(huán)碼基本概念82.3.2 循環(huán)碼的多項(xiàng)式表示及生成矩陣8 循環(huán)碼編碼原理92.3.4 循環(huán)碼譯碼原理10第三章 Matlab軟件與Simulink仿真平臺(tái)123.

2、1 Matlab軟件介紹123.1.1 Matlab發(fā)展史123.1.2 M文件133.1.3 程控流語(yǔ)句133.2 Simulink143.2.1 Simulink簡(jiǎn)介143.2.2 Simulink模塊15第四章 基于Matlab差錯(cuò)控制技術(shù)仿真及結(jié)果分析174.1 線性分組碼差錯(cuò)控制仿真174.1.1 線性分組碼仿真步驟174.1.2 線性分組碼差錯(cuò)控制仿真系統(tǒng)模型174.1.3 線性分組碼仿真流程及結(jié)果分析174.2 循環(huán)碼差錯(cuò)控制仿真174.2.1 循環(huán)碼仿真步驟234.2.2 循環(huán)碼差錯(cuò)控制仿真系統(tǒng)模型254.2.3 循環(huán)碼仿真流程及結(jié)果分析254.2.4 主要功能模塊及參數(shù)設(shè)置2

3、64.2.5 循環(huán)碼的誤碼率與差錯(cuò)率的關(guān)系29結(jié)論32致謝33參考文獻(xiàn)34基于Matlab的差錯(cuò)控制技術(shù)仿真摘要:近些年來(lái),通信增值業(yè)務(wù)得到迅速發(fā)展,保證通信中較低信噪比情況下的數(shù)據(jù)無(wú)誤傳輸,提高通信的有效性和可靠性顯得越來(lái)越重要,而差錯(cuò)控制技術(shù)對(duì)于提高通信系統(tǒng)的傳輸可靠性具有重要意義。 在通信傳輸過程中,由于各種因素的影響數(shù)據(jù)可能變得紊亂或丟失,造成發(fā)送的數(shù)據(jù)和接收的數(shù)據(jù)不一致而出現(xiàn)差錯(cuò)。差錯(cuò)控制是在數(shù)字通信中利用編碼方法對(duì)傳輸中產(chǎn)生的差錯(cuò)進(jìn)行控制,以提高數(shù)字消息傳輸?shù)臏?zhǔn)確性。而信道編碼是通信系統(tǒng)中采用的一種差錯(cuò)控制措施。 在信道編碼過程中,發(fā)送端將會(huì)給被傳輸?shù)男畔⑸细郊右恍┍O(jiān)督碼元,進(jìn)行特

4、定編碼,在監(jiān)督碼元與信息碼元之間以某種確定的規(guī)則相互關(guān)聯(lián)且約束。在接收端以既定之規(guī)則來(lái)校驗(yàn)信息碼元與監(jiān)督碼元之間的關(guān)系,一旦在傳輸過程中發(fā)生差錯(cuò),則信息碼元與監(jiān)督碼元的關(guān)系就會(huì)受到破壞,從而在接收端可以發(fā)現(xiàn)錯(cuò)誤乃至糾正錯(cuò)誤。 由此可見一種好的信道編碼即一種好的差錯(cuò)控制技術(shù)對(duì)于提高通信系統(tǒng)的傳輸可靠性具有重要意義。關(guān)鍵詞:差錯(cuò)控制;信道;Matlab;線性碼;循環(huán)碼The error control simulation based on MatlabAbstract:In recent years, the communication value-added services have dev

5、eloped rapidly. To ensure that data is correctly trans missed in low SNR, it is important to improve the effectiveness and reliability of communication. Indeed, error control techniques play a major role in enhancing the reliability of the communication system. Due to the influence of various factor

6、s, 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 transmission in digital communication; in order to improve accuracy of transmission. Moreover, t

7、he channel coding is one of error control measures used in the communication system. In the channel encoding process, 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 eleme

8、nt and information code element. 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 code element can be discovered and corrected by th

9、e receiving terminal.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 communication system.Key Words: Error control; Channel; Matlab; Linear coding; Cyclic code引 言 通信過程中,在實(shí)際信道上傳輸數(shù)字信號(hào)時(shí),由于信道傳輸特性不理

10、想以及加性噪聲的影響,導(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í)際的需求。保證通信中較低信噪比情況下的數(shù)據(jù)無(wú)誤傳輸,提高通信的有效性和可靠性顯得越來(lái)越重要。此時(shí)則必須采用有效的信道編碼,即差錯(cuò)控制編碼才能夠?qū)⒈忍卣`碼率進(jìn)一步的降低,以滿足系統(tǒng)的要求。差錯(cuò)控制技術(shù)中的許多譯碼思想和方法,可以解決神經(jīng)網(wǎng)絡(luò)中的一些問題,差錯(cuò)控制技術(shù)方興未艾,當(dāng)然差錯(cuò)控制技術(shù)還存在一些現(xiàn)實(shí)的問題,以目前世界范圍內(nèi)研究最熱門的

11、隨機(jī)碼為例1,由于隨機(jī)碼的算法非常復(fù)雜,隨機(jī)性的可靠度不高,隨即交織器的實(shí)現(xiàn)難度大,使隨機(jī)碼在通信系統(tǒng)中應(yīng)用存在成本過高,穩(wěn)定性不夠,無(wú)法大規(guī)模的普及等問題,而此類問題正是國(guó)際研究的熱點(diǎn)方向,有待在今后的研究中進(jìn)一步解決。差錯(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)致信息碼元與監(jiān)督碼元之間的關(guān)系受到破壞,進(jìn)而接收端可以發(fā)現(xiàn)錯(cuò)誤乃至糾正錯(cuò)誤。因此,研究各種的編碼和譯碼的方法是差錯(cuò)控制編碼所需要解決的問題。此文就是為了研究比較出最適

12、合采用的差錯(cuò)控制編碼技術(shù),從而以最低的成本最大程度的降低誤碼率。第一章 緒論1.1 題目背景近些年來(lái),通信增值業(yè)務(wù)得到迅速發(fā)展,保證通信中較低信噪比情況下的數(shù)據(jù)無(wú)誤傳輸,提高通信的有效性和可靠性顯得越來(lái)越重要。差錯(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)

13、和將來(lái)的新型通信系統(tǒng)數(shù)據(jù)傳輸中進(jìn)行有效差錯(cuò)控制是一種必然的趨勢(shì),可以預(yù)見,在尋求一種在較低信噪比情況下具有強(qiáng)大糾錯(cuò)能力的差錯(cuò)控制技術(shù)是我們急待解決的課題。1.2 課題研究意義由于在信道傳輸中存在多種干擾因素,嚴(yán)重影響數(shù)據(jù)傳輸性能,因此,如何在信道中實(shí)現(xiàn)可靠有效的通信成為業(yè)界非常關(guān)注的問題,而對(duì)差錯(cuò)控制技術(shù)的研究正是實(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)星信道。1.3 國(guó)內(nèi)外相關(guān)研究情況 目前,利

14、用差錯(cuò)控制技術(shù)降低各類數(shù)字通信系統(tǒng)以及計(jì)算機(jī)存儲(chǔ)和計(jì)算系統(tǒng)中的誤碼率,提高通信質(zhì)量,在西方國(guó)家中已經(jīng)作為一門標(biāo)準(zhǔn)技術(shù)而廣泛應(yīng)用,而且差錯(cuò)控制技術(shù)還應(yīng)用于超大規(guī)模集成電路中,以提高集成電路芯片的成品率,不僅如此,差錯(cuò)控制技術(shù)中的許多譯碼思想和方法,可以解決神經(jīng)網(wǎng)絡(luò)中的一些問題,差錯(cuò)控制技術(shù)方興未艾,當(dāng)然差錯(cuò)控制技術(shù)還存在一些現(xiàn)實(shí)的問題,以目前世界范圍內(nèi)研究最熱門的隨機(jī)碼為例,由于隨機(jī)碼的算法非常復(fù)雜,隨機(jī)性的可靠度不高,隨即交織器的實(shí)現(xiàn)難度大,使隨機(jī)碼在通信系統(tǒng)中應(yīng)用存在成本過高,穩(wěn)定性不夠,無(wú)法大規(guī)模的普及等問題,而此類問題正是國(guó)際研究的熱點(diǎn)方向,有待在今后的研究中進(jìn)一步解決2。1.4 本文主

15、要研究工作差錯(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)致信息碼元與監(jiān)督碼元之間的關(guān)系受到破壞,進(jìn)而接收端可以發(fā)現(xiàn)錯(cuò)誤乃至糾正錯(cuò)誤3。因此,研究各種的編碼和譯碼的方法是差錯(cuò)控制編碼所需要解決的問題。 編碼涉及到的內(nèi)容也比較廣泛,前向糾錯(cuò)編碼(FEC)、普通線性碼、線性分組碼(漢明碼、循環(huán)碼)、理德所羅門碼(RS碼)、BCH碼、FIRE碼、交織碼,卷積碼、TCM編碼、Turbo碼等都是差錯(cuò)控制常用編碼。本文只對(duì)其中的線性分組碼、線性

16、循環(huán)碼做以介紹,并對(duì)相關(guān)內(nèi)容進(jìn)行仿真。 先分別進(jìn)行線性分組碼編碼與循環(huán)碼編碼的基于Matlab系統(tǒng)仿真,分別得到最終的誤碼率曲線圖,進(jìn)行單一變量的兩次對(duì)比,分別是未經(jīng)過差錯(cuò)控制編碼的系統(tǒng)傳輸比特差錯(cuò)率與經(jīng)過差錯(cuò)控制編碼的系統(tǒng)傳輸比特差錯(cuò)率,經(jīng)過線性分組碼編碼的系統(tǒng)傳輸比特差錯(cuò)率與經(jīng)過線性循環(huán)碼編碼的系統(tǒng)傳輸比特差錯(cuò)率的數(shù)據(jù)比較,由此以來(lái)可以得出結(jié)果:在信號(hào)傳輸過程中經(jīng)過差錯(cuò)控制編碼后的信道比特差錯(cuò)率會(huì)有明顯的下降,即差錯(cuò)控制編碼技術(shù)對(duì)于提高通信系統(tǒng)的傳輸可靠性具有重要意義;不同的差錯(cuò)控制編碼方式會(huì)產(chǎn)生不同的差錯(cuò)可控效果,選擇一種有效的編碼方式對(duì)于提高數(shù)通信系統(tǒng)的傳輸可靠性至關(guān)重要。第二章 相關(guān)

17、技術(shù)介紹2.1 差錯(cuò)控制技術(shù) 差錯(cuò)控制的基本方式 1. 檢錯(cuò)重發(fā)方式(ARQ)。采用檢錯(cuò)重發(fā)方式,發(fā)端經(jīng)編碼后發(fā)出能夠發(fā)現(xiàn)錯(cuò)誤的碼,接收端收到后經(jīng)檢驗(yàn)如果發(fā)現(xiàn)傳輸中有錯(cuò)誤,則通過反向信道把這一判斷結(jié)果回饋給發(fā)送端。然后,發(fā)送端把信息重發(fā)一次,直到接收端確認(rèn)為止。采用這種差錯(cuò)控制方法需要具備雙向信道,一般在計(jì)算機(jī)數(shù)據(jù)通信中應(yīng)用。檢錯(cuò)重發(fā)方式分為三種類型: (1) 停發(fā)等待重發(fā),發(fā)對(duì)或發(fā)錯(cuò),發(fā)送端均要等待接收端的回應(yīng)。特點(diǎn)是系統(tǒng)簡(jiǎn)單,時(shí)延長(zhǎng); (2) 返回重發(fā),無(wú)ACK信號(hào),當(dāng)發(fā)送端收到NAK信號(hào)后,重發(fā)錯(cuò)誤碼組以后的所有碼組,特點(diǎn)是系統(tǒng)較為復(fù)雜,時(shí)延減小; (3) 選擇重發(fā),無(wú)ACK信號(hào),當(dāng)發(fā)送

18、端收到NAK信號(hào)后,重發(fā)錯(cuò)誤碼組,特點(diǎn)是系統(tǒng)復(fù)雜,時(shí)延最小。 2. 前向糾錯(cuò)方式(FEC)。發(fā)送端經(jīng)編碼發(fā)出能糾正錯(cuò)誤的碼,接收端收到這些碼組后,通過解碼能發(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)用中日益增多。 3. 混合糾錯(cuò)檢錯(cuò)方式(HEC)。混合糾錯(cuò)檢錯(cuò)方式是前向糾錯(cuò)方式和檢錯(cuò)重發(fā)方式的結(jié)合,發(fā)送端發(fā)出的碼不但有一定的糾錯(cuò)能力,對(duì)于超出糾錯(cuò)能力的錯(cuò)誤要具有檢錯(cuò)能力。這種方式在實(shí)時(shí)性和復(fù)雜性方面是前向糾錯(cuò)和檢錯(cuò)重發(fā)方式的折衷

19、,因而在近年來(lái),在數(shù)據(jù)通信系統(tǒng)中采用較多。 4. 回饋校驗(yàn)方式(IRQ)?;仞佇r?yàn)方式(IRQ)又稱回程校驗(yàn)。收端把收到的數(shù)據(jù)序列全部由反向信道送回發(fā)送端,發(fā)送端比較發(fā)送數(shù)據(jù)與回送數(shù)據(jù),從而發(fā)現(xiàn)是否有錯(cuò)誤,并把認(rèn)為錯(cuò)誤的資料重新發(fā)送,直到發(fā)送端沒有發(fā)現(xiàn)錯(cuò)誤為止。 優(yōu)點(diǎn):不需要糾錯(cuò)、檢錯(cuò)的編譯器,設(shè)備簡(jiǎn)單。 缺點(diǎn):不僅需要反向信道;而且實(shí)時(shí)性會(huì)比較差;在發(fā)送端需要一定容量的內(nèi)存。(IRQ)方式僅適用于于傳輸速率較低、數(shù)據(jù)差錯(cuò)率較低的控制簡(jiǎn)單的系統(tǒng)中。2.1.2 差錯(cuò)控制編碼通常差錯(cuò)控制技術(shù)包括兩個(gè)主要內(nèi)容:差錯(cuò)的檢查和差錯(cuò)的糾正。差錯(cuò)檢測(cè)通常是通過差錯(cuò)控制編碼來(lái)實(shí)現(xiàn)的,而差錯(cuò)糾正是通過差錯(cuò)控制的

20、方法來(lái)實(shí)現(xiàn)的。差錯(cuò)控制是指在數(shù)據(jù)通信過程中能發(fā)現(xiàn)或糾正錯(cuò)誤,將差錯(cuò)限制在盡可能小的允許范圍內(nèi)。 差錯(cuò)控制的基本思想是在發(fā)送端根據(jù)要傳輸?shù)臄?shù)據(jù)序列,按一定的規(guī)律加入多余碼元,即附加一些監(jiān)督碼元,這些多余的碼元與信息碼元之間是以某種確定的規(guī)則相互關(guān)聯(lián)的,使原來(lái)不相關(guān)的數(shù)據(jù)序列變成相關(guān)的,即編碼。傳輸時(shí)將多余碼元和信息碼元一并傳送。接收端根據(jù)信息碼元和多余碼元(監(jiān)督碼元)之間的規(guī)則進(jìn)行檢驗(yàn),即譯碼,根據(jù)譯碼結(jié)果進(jìn)行錯(cuò)誤檢測(cè),一旦傳輸過程中發(fā)生錯(cuò)誤,信息碼元與監(jiān)督碼元之間的關(guān)系將受到破壞,從而發(fā)現(xiàn)錯(cuò)誤乃至糾正錯(cuò)誤。當(dāng)發(fā)現(xiàn)錯(cuò)誤時(shí),或者通過反饋信道要求發(fā)送方重發(fā)有錯(cuò)的數(shù)據(jù),或者由接收端的譯碼器自動(dòng)將錯(cuò)誤糾

21、正。多余碼元為監(jiān)督碼元,根據(jù)信息碼元產(chǎn)生監(jiān)督碼元的方法叫差錯(cuò)控制編碼。 差錯(cuò)控制編碼的分類 1. 按照差錯(cuò)控制編碼的不同功能,可以分為檢錯(cuò)碼(僅能檢測(cè)誤碼)、糾錯(cuò)碼(僅可以糾正誤碼)和糾刪碼(兼有糾錯(cuò)和檢錯(cuò)功能)。 2. 按照信息碼元和附加的監(jiān)督碼元之間的檢驗(yàn)關(guān)系可以分為線性碼(信息碼元和監(jiān)督碼元滿足一組線性方程式)和非線性碼。 3. 按照信息碼元和監(jiān)督碼元之間的約束關(guān)系可以分為分組碼和卷積碼。分組碼中,碼元序列每n位分成一組,其中k個(gè)是信息碼元,r=n-k個(gè)是監(jiān)督碼元,監(jiān)督碼元僅與本組的信息碼元有關(guān)。卷積碼中,編碼后序列也編為分組,但監(jiān)督碼元不僅與本組信息碼元有關(guān),還與前面碼組的信息碼元有關(guān)

22、。 4. 按照糾正錯(cuò)誤的類型不同,可以分為糾正隨機(jī)錯(cuò)誤的碼和糾正突發(fā)錯(cuò)誤的碼。 5. 按照構(gòu)成差錯(cuò)控制編碼的數(shù)學(xué)方法來(lái)分類,可以分為代數(shù)碼、幾何碼和算術(shù)碼。其中代數(shù)碼建立在近代數(shù)學(xué)基礎(chǔ)上,是目前發(fā)展最為完善的編碼,其中線性碼是代數(shù)碼的一個(gè)最重要的分支。 6. 按照每個(gè)碼元的取值不同,可以分為二進(jìn)制代碼和多進(jìn)制碼。2.1.4 差錯(cuò)控制編碼的基本原理 糾錯(cuò)編碼:對(duì)原來(lái)的信息代碼重新編寫,根據(jù)需要增加一些監(jiān)督碼,使在輸出端能夠識(shí)別出錯(cuò)碼。 分組碼的結(jié)構(gòu):將信息碼分組,為每組信息碼附加若干監(jiān)督碼的編碼稱為分組碼。在分組碼中,監(jiān)督碼元僅監(jiān)督本碼組中的信息碼元。分組碼結(jié)構(gòu)圖如圖2.1中所示。 k個(gè)信息位r

23、個(gè)監(jiān)督位碼長(zhǎng)n=k+r 圖2.1 分組碼的基本結(jié)構(gòu) 分組碼的符號(hào):(n, k)碼中n表示碼組的總位數(shù),稱為碼組長(zhǎng)度(碼長(zhǎng)),k表示碼組中信息碼元的數(shù)目,n-k=r表示碼組中的監(jiān)督碼元數(shù)目,或稱監(jiān)督位數(shù)目。2.2 線性分組碼 線性分組碼基本概念所謂線性碼就是碼字集中的元(碼字)之間的任意線性組合仍然是合法的碼字,即是線性組合運(yùn)算封閉的碼字集。 線性分組碼是一類奇偶校驗(yàn)碼,它可以由(n,k)形式表示,編碼器將一個(gè)k比特信息分組(信息矢量)轉(zhuǎn)變?yōu)橐粋€(gè)更長(zhǎng)的由給定元素符號(hào)集組成的n比特編碼分組,當(dāng)這個(gè)符號(hào)集包含兩個(gè)元素(0和1),與二進(jìn)制相對(duì),稱為二進(jìn)制編碼。 分組碼是對(duì)每段k 位長(zhǎng)的信息組,以一定規(guī)

24、則增加r = n - k個(gè)檢驗(yàn)元,組成長(zhǎng)為n的序列:,稱這個(gè)序列為碼字。在二進(jìn)制情況下,信息組總共有個(gè)( q 進(jìn)制為個(gè)) ,因此通過編碼器后,相應(yīng)的碼字也有個(gè),稱這個(gè)碼字集合為( n , k) 分組碼。n長(zhǎng)序列的可能排列總共有種。稱被選取的個(gè) n重為許用碼組,其余個(gè)為禁用碼組。對(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ò)。 線性分組碼編碼原理線性碼是一種分組碼,而線性分組碼的編碼過程可以分為以下兩個(gè)步驟:首先,把信息序列按照一定的長(zhǎng)度分割成為若干信息

25、碼組,每組由k位組成;然后,編碼器按照既定的由線性方程組規(guī)定的線性規(guī)則,將信息碼組變換成為n(n>k)重碼字,其中r=n-k個(gè)附加碼元是線性運(yùn)算產(chǎn)生的。在編碼的過程中,首先將數(shù)據(jù)每k個(gè)比特分為一組,記作m,成為信息組。然后將長(zhǎng)度為k的信息組進(jìn)行映射運(yùn)算,即編碼??梢缘玫揭粋€(gè)n比特構(gòu)成的碼字Ci,這樣的分組碼成為(n,k)碼。分組碼的一個(gè)重要特性就是它的碼元僅與當(dāng)前編碼的信息序列相關(guān),而與過去的信息序列無(wú)關(guān),故此也可以說分組編碼器是無(wú)記憶的。如果Ci中的n個(gè)元素都可以用m中的k個(gè)元素的線性組合形成,我們將它稱為線性分組碼。線性分組碼的編碼過程可以描述成一個(gè)矢量和一個(gè)矩陣的成績(jī)的結(jié)果。即:

26、(2-1)其中G是由k個(gè)n維矢量構(gòu)成的矩陣,m是信息序列分組,c是編碼得到的n維編碼輸出。根據(jù)公式(2-1)得碼字c可以表示為。而矩陣G稱為編碼生成矩陣,形式為: (2-2)有了生成矩陣后,則可根據(jù)輸入的信息位和生成矩陣相乘得到編碼矩陣即: (2-3)其中C為編碼后結(jié)果, I為信息矩陣,G為生成矩陣。 差線性分組碼譯碼原理 監(jiān)督矩陣與(n, k)碼的任何一個(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ā)。當(dāng)編碼矩陣與生成

27、矩陣的轉(zhuǎn)置矩陣相乘時(shí),若當(dāng)其中的一位編碼出現(xiàn)了差錯(cuò),則會(huì)有七種情況,則根據(jù)這些情況列出錯(cuò)碼矩陣如下: (2-4)而這些情況正好是和校驗(yàn)子有某種對(duì)應(yīng)關(guān)系的,根據(jù)這些對(duì)應(yīng)關(guān)系可以進(jìn)行相關(guān)編程。若編程檢測(cè)到了那一位錯(cuò)誤可以根據(jù)下式: A=B+E (2-5) 對(duì)接收到的信息進(jìn)行改正求出正確的編碼,從而再提去更正后的接收序列的前四位來(lái)提取信息位,以至獲得信息矩陣I。其中A為糾錯(cuò)輸出碼序列,E為錯(cuò)碼矩陣,B為信道輸出碼。2.3 循環(huán)碼 循環(huán)碼基本概念 循環(huán)碼是線性分組碼的一種,所以它具有線性分組碼的一般特性,除此之外還具有循環(huán)性。循環(huán)碼的編碼和解碼設(shè)備都不太復(fù)雜,且檢(糾)錯(cuò)能力強(qiáng)。它不但可以檢測(cè)隨機(jī)的錯(cuò)

28、誤,還可以檢錯(cuò)突發(fā)的錯(cuò)誤。(n, k)循環(huán)碼可以檢測(cè)長(zhǎng)為n-k或更短的任何突發(fā)錯(cuò)誤,包括首尾相接突發(fā)錯(cuò)誤。 循環(huán)碼是屬于無(wú)權(quán)碼,循環(huán)碼的編排特點(diǎn)是在相鄰的兩個(gè)數(shù)碼之間符合卡諾圖中的鄰接條件,即相鄰兩個(gè)數(shù)碼之間只有一位碼元不同。由于數(shù)碼轉(zhuǎn)換的速度回有快有慢,中間會(huì)經(jīng)過一些其它的數(shù)碼形式,故稱此為瞬時(shí)錯(cuò)誤。而循環(huán)碼的優(yōu)點(diǎn)就是沒有瞬時(shí)錯(cuò)誤,循環(huán)碼是相鄰的兩個(gè)數(shù)碼之間僅有一位碼元不同的方式,這樣滿足臨接條件,故而循環(huán)碼不會(huì)產(chǎn)生瞬時(shí)錯(cuò)誤。循環(huán)碼的最大特點(diǎn)就是碼字的循環(huán)性:循環(huán)碼中的任一許用碼組在經(jīng)過循環(huán)移位之后,所得到的碼組依然是許用碼組。形象的說就是若為一循環(huán)碼組,則、還是許用碼組。也就是說,不論是左

29、移還是右移,也不論移多少位,仍然是許用的循環(huán)碼組。 循環(huán)碼的多項(xiàng)式表示及生成矩陣 設(shè)碼長(zhǎng)為n的循環(huán)碼表示為: (2-6)其中為二進(jìn)制數(shù),通常把碼組中各碼元當(dāng)做二進(jìn)制的系數(shù),即把上式(2-6)中長(zhǎng)為n的各個(gè)分量看做多項(xiàng)式: (2-7)上式的各項(xiàng)系數(shù),則碼字與碼多項(xiàng)式一一對(duì)應(yīng),這種多項(xiàng)式中,x僅表示碼元位置的標(biāo)記,因此我們并不關(guān)心x的取值,這種多項(xiàng)式稱為碼多項(xiàng)式4。用生成多項(xiàng)式(2-7)式除,得到: (2-8)上式中是余式,其表示為: (2-9)而+是碼多項(xiàng)式,由此可得循環(huán)碼的系統(tǒng)形式的生成矩陣為: G= (2-10) 循環(huán)碼編碼原理 1. 信息碼構(gòu)成信息多項(xiàng)式。多項(xiàng)式如下: (2-11) 其中高

30、冪次為k-1; 2. 用乘以信息多項(xiàng)式m(x)。這一運(yùn)算實(shí)際上是把信息碼后附加上(n-k)個(gè)“0”。例如,信息碼為110,它相當(dāng)于。當(dāng)n-k7-34時(shí),它相當(dāng)于1100000; 3. 用g(x)除b中之式得到余式r(x)。其次數(shù)必小于g(x)次數(shù),即小于(n-k),將此r(x)加于信息位后做監(jiān)督位。由于循環(huán)碼多項(xiàng)式A(x)都可以被g(x)整除,也就是: (2-12)因此,用m(x)除以g(x),就得到商Q(x)和余式r(x),即: (2-13) 這樣就得到了r(x); 4. 求A(x)。編碼輸出系統(tǒng)循環(huán)碼多項(xiàng)式A(x)為: (2-14)上述中闡明了循環(huán)碼編碼的整個(gè)過程,而根據(jù)上面的過程討論,可

31、以得到(7,4)循環(huán)碼編碼流程圖如圖2.2所示。 初始化確定余式r(x): 確定A(x):儲(chǔ)存A(x) 圖2.2 循環(huán)碼編碼流程圖 循環(huán)碼譯碼原理 對(duì)于接收端譯碼的要求通常有兩個(gè):檢錯(cuò)與糾錯(cuò)。達(dá)到檢錯(cuò)目的的譯碼十分簡(jiǎn)單,可以由式(2-12)通過判斷接收到的碼組多項(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)整除5。因此,可以根據(jù)余項(xiàng)是否為零來(lái)判斷碼組中有無(wú)錯(cuò)碼。 需要指出的是,有錯(cuò)碼的接收碼組也有可能被g(x)

32、整除,這時(shí)的錯(cuò)碼就不能檢出了。這種錯(cuò)誤被稱為不可檢錯(cuò)誤,不可檢錯(cuò)誤中的錯(cuò)碼數(shù)必將超過這種編碼的檢錯(cuò)能力。 在接收端為糾錯(cuò)而采用的譯碼方法自然比檢錯(cuò)要復(fù)雜許多。為了能夠糾錯(cuò)要求每個(gè)可糾正的錯(cuò)誤圖樣必須和校正子之間存在某種對(duì)應(yīng)關(guān)系。 糾錯(cuò)可以按照下述步驟進(jìn)行:首先,由接收到的碼多項(xiàng)式B(x)計(jì)算校正子(伴隨式)多項(xiàng)式S(x);其次,由校正子S(x)確定錯(cuò)誤圖樣E(x)?;阱e(cuò)誤圖樣識(shí)別的譯碼器稱為梅吉特譯碼器;最后,將錯(cuò)誤圖樣E(x)與B(x)相加,糾正錯(cuò)誤。 編碼為(7,4)循環(huán)碼的譯碼流程圖如圖2.3所示。 初始化由R(x)確定S(x)的余式。S(x)=S(x)=0,無(wú)誤碼誤碼由S(x)確定錯(cuò)

33、誤圖樣E(x)否 否 是糾錯(cuò)C(x)=E(x)+R(x)存儲(chǔ)C(x) 圖2.3 譯碼程序框圖第三章 Matlab軟件與Simulink仿真平臺(tái)3.1 Matlab軟件介紹 Matlab發(fā)展史在當(dāng)今科學(xué)技術(shù)飛速發(fā)展的社會(huì),Matlab已經(jīng)成為國(guó)際上最為流行的科學(xué)與工程計(jì)算及仿真的軟件工具。Matlab語(yǔ)言的功能也越來(lái)越強(qiáng)大,不斷適應(yīng)新的要求提出新的解決方法,而它亦不再是一個(gè)簡(jiǎn)簡(jiǎn)單單的“矩陣實(shí)驗(yàn)室”6,它已經(jīng)成為了一種具有廣泛的應(yīng)用前景的全新計(jì)算機(jī)高級(jí)編程語(yǔ)言了,有人將它稱之為為第四代計(jì)算機(jī)語(yǔ)言,它在國(guó)內(nèi)外的高校和研究部門正扮演著重要的角色。由此可預(yù)見,在科學(xué)運(yùn)算、工程仿真、自動(dòng)控制與科學(xué)繪圖領(lǐng)域

34、 Matlab語(yǔ)言將長(zhǎng)期保持其獨(dú)一無(wú)二的地位。20世紀(jì)70年代中期,Cleve Moler博士和其同事在美國(guó)國(guó)家科學(xué)基金的資助下開發(fā)了調(diào)用Eispack和Linpack的Fortran子程序庫(kù)。Eispack是特征值求解的Fortran程序庫(kù),Linpack是解線性方程的程序庫(kù)。在當(dāng)時(shí),這兩個(gè)程序庫(kù)代表矩陣運(yùn)算的最高水平。其語(yǔ)言的首創(chuàng)者Cleve Moler教授參與編寫了數(shù)值分析領(lǐng)域一些著名的著作和兩個(gè)重要的Fortran程序Eispack和Linpack,并且他在數(shù)值分析,特別是在數(shù)值線性代數(shù)的領(lǐng)域中很有影響,他曾在密西根大學(xué)、斯坦福大學(xué)和新墨西哥大學(xué)任數(shù)學(xué)與計(jì)算機(jī)科學(xué)教授。1980年前后,

35、當(dāng)時(shí)的新墨西哥大學(xué)計(jì)算機(jī)系主任Moler教授在講授線性代數(shù)課程時(shí),發(fā)現(xiàn)了用其它高級(jí)語(yǔ)言編程極為不便,于是他開始自己動(dòng)手,利用業(yè)余時(shí)間為學(xué)生編寫Einpack和Linpack的接口程序。Cleve Moler給這個(gè)接口程序取名為Matlab,該名為矩陣(matrix)和實(shí)驗(yàn)室(laboratory)兩個(gè)英文單詞的前三個(gè)字母的組合7。這一軟件利用了當(dāng)時(shí)數(shù)值線性代數(shù)領(lǐng)域最高水平的Eispack和Linpack兩大軟件包中可靠的子程序,用Fortran語(yǔ)言編寫了集命令翻譯、科學(xué)計(jì)算于一身的一套交互式軟件系統(tǒng)。直到1984年,Cleve Moler和 John Lithe成立了MathWorks公司,正

36、式把Matlab推向市場(chǎng),并繼續(xù)進(jìn)行Matlab的研究和開發(fā)。在Matlab進(jìn)入市場(chǎng)前,國(guó)際上的許多應(yīng)用軟件包都是直接以Fortran和C語(yǔ)言等編程語(yǔ)言開發(fā)的。這種軟件的缺點(diǎn)是使用面窄、接口簡(jiǎn)陋、程序結(jié)構(gòu)不開放以及沒有標(biāo)準(zhǔn)的基庫(kù),很難適應(yīng)各學(xué)科的最新發(fā)展,因而很難推廣。Matlab的出現(xiàn),為各國(guó)科學(xué)家開發(fā)學(xué)科軟件提供了新的基礎(chǔ)。在Matlab問世不久的20世紀(jì)80年代中期,原先控制領(lǐng)域里的一些軟件包紛紛被淘汰或在Matlab上重建。 The MathWorks公司于1992年推出了具有劃時(shí)代意義的Matlab4.0版本,并于1993年推出了其微機(jī)版, 可以配合Microsoft Windows

37、一起使用,使之應(yīng)用范圍越來(lái)越廣。1994年推出的4.2版本擴(kuò)充了4.0版本的功能,尤其在圖形接口設(shè)計(jì)方面更提供了新的方法。1997年推出的Matlab 5.0版允許了更多的數(shù)據(jù)結(jié)構(gòu),如單元數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)體、多維矩陣、對(duì)象與類等,使其成為一種更方便編程的語(yǔ)言。1999年初推出的Matlab 5.3版在很多方面又進(jìn)一步改進(jìn)了Matlab語(yǔ)言的功能8。2000年10月底推出了其全新的 Matlab6.0正式版(Release 12),在核心數(shù)值算法、接口設(shè)計(jì)、外部接口、應(yīng)用桌面等諸多方面有了極大的改進(jìn)。雖然Matlab語(yǔ)言是計(jì)算數(shù)學(xué)專家倡導(dǎo)并開發(fā)的,但其普及和發(fā)展離不開自動(dòng)控制領(lǐng)域?qū)W者的貢獻(xiàn)。甚至可

38、以說,Matlab語(yǔ)言是自動(dòng)控制領(lǐng)域?qū)W者和工程技術(shù)人員捧紅的,因?yàn)樵贛atlab語(yǔ)言的發(fā)展進(jìn)程中,許多有代表性的成就和控制界的要求與貢獻(xiàn)是分不開的。迄今為止,大多數(shù)工具箱也都是控制方面的。 Matlab軟件具有著強(qiáng)大的數(shù)學(xué)運(yùn)算能力和方便實(shí)用的繪圖功能以及語(yǔ)言的高度集成性,而且它在其它科學(xué)與工程領(lǐng)域的應(yīng)用亦是越來(lái)越廣,有著廣闊的應(yīng)用前景和不可估量的潛能。子曰:“工欲善其事,必先利其器”。在決工程方面的問題需正確效率的“善假于物”,而有一種行之有效的工具能解決在教學(xué)與研究中遇到的問題,那么Matlab當(dāng)仁不讓的正是此“物”。它可以幫助使用者從繁瑣、無(wú)謂的底層編程中解放出來(lái)。 M文件 Matlab除

39、了如前所述的在命令窗口進(jìn)行的直接交互的指令操作方式外,另外一種更為重要的工作方式就是m檔的編程工作方式。m檔有兩種形式,一種是腳本檔(Script File),另一種是函數(shù)文件(Function File)。m文件的擴(kuò)展名為.m。m檔可以通過任何純文本編輯器進(jìn)行編輯,Matlab中也有自帶的文本編輯器,使用edit命令即可開啟9。 程控流語(yǔ)句任何計(jì)算機(jī)語(yǔ)言,只要存在順序結(jié)構(gòu),循環(huán)結(jié)構(gòu)以及分支結(jié)構(gòu),就可以完成任何程序功能。在Matlab中也有這三種基本的程序結(jié)構(gòu)。但值得注意的是,由于Matlab語(yǔ)言矩陣計(jì)算功能十分強(qiáng)大,常常僅僅使用順序結(jié)構(gòu)藉以矩陣的邏輯運(yùn)算就可以完成計(jì)算任務(wù),由于循環(huán)結(jié)構(gòu)和分支

40、結(jié)構(gòu)在Matlab語(yǔ)言中的運(yùn)行速度相對(duì)較慢,所以在算法優(yōu)化的編程中應(yīng)當(dāng)盡可能避免使用,而代之以矩陣運(yùn)算,從而提高程序運(yùn)行速度(通??梢蕴岣邤?shù)十倍到百倍),簡(jiǎn)化程序代碼,而使得程序代碼更加接近于數(shù)學(xué)上的表達(dá)10。當(dāng)然,矩陣編程的編程方法需要讀者更多的關(guān)于線性代數(shù)和矩陣數(shù)學(xué)的知識(shí)和思維方式??傊?,Matlab是一種非常完美易用的超高級(jí)矩陣編程語(yǔ)言。這里只介紹本次編程中用到的編程結(jié)構(gòu)。 1. 順序結(jié)構(gòu)。在順序結(jié)構(gòu)中,Matlab語(yǔ)句是按照書寫的前后順序來(lái)執(zhí)行的。這是Matlab最常用的程序結(jié)構(gòu),也是執(zhí)行效率最高的程序結(jié)構(gòu)。 2. 循環(huán)結(jié)構(gòu)for。for.end語(yǔ)句適合于循環(huán)次數(shù)確定的情況,將循環(huán)變量

41、的初值,判別和變化放在循環(huán)開頭。利用help for或doc for可以獲得關(guān)于該語(yǔ)句的使用手冊(cè)。for.end語(yǔ)句的調(diào)用形式是: for v=表達(dá)式 語(yǔ)句1;.語(yǔ)句n;End 3. 條件分支結(jié)構(gòu)if。if 分支結(jié)構(gòu)的一般形式是:if 表達(dá)式語(yǔ)句段1;else語(yǔ)句段End3.2 Simulink Simulink簡(jiǎn)介 Simulink是Matlab最重要的組件之一,它提供一個(gè)動(dòng)態(tài)系統(tǒng)建模、仿真和綜合分析的集成環(huán)境。在該環(huán)境中,無(wú)需大量書寫程序,而只需要通過簡(jiǎn)單直觀的鼠標(biāo)操作,就可構(gòu)造出復(fù)雜的系統(tǒng)。它是一個(gè)用來(lái)對(duì)動(dòng)態(tài)系統(tǒng)進(jìn)行建模、仿真和分析的Matlab軟件包。支持連續(xù)、離散以及兩者混合的線性和

42、非線性系統(tǒng),同時(shí)它也支持具有不同部分擁有不同采樣率的多種采樣速率的仿真系統(tǒng)。在其下提供了豐富的仿真模塊。其主要功能是實(shí)現(xiàn)動(dòng)態(tài)系統(tǒng)建模、方針與分析,可以預(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)工具。Simulink與Matla

43、b;緊密集成,可以直接訪問Matlab大量的工具來(lái)進(jìn)行算法研發(fā)、仿真的分析和可視化、處理腳本的創(chuàng)建、建模環(huán)境的定制以及信號(hào)參數(shù)和測(cè)試數(shù)據(jù)的定義11。顧名思義,名稱表明該系統(tǒng)的兩個(gè)主要功能:Simu(仿真)和Link(連接),即該軟件可以利用系統(tǒng)提供的各種功能模塊并通過信號(hào)線連接各個(gè)模塊從而創(chuàng)建出所需要的控制系統(tǒng)模型,然后利用Simulink提供的功能來(lái)對(duì)系統(tǒng)進(jìn)行仿真和分析。 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可

44、以用連續(xù)采樣時(shí)間、離散采樣時(shí)間或兩種混合的采樣時(shí)間進(jìn)行建模,它也支持多速率系統(tǒng),也就是系統(tǒng)中的不同部分具有不同的采樣速率。為了創(chuàng)建動(dòng)態(tài)系統(tǒng)模型,Simulink提供了一個(gè)建立模型方塊圖的圖形用戶接口(GUI),這個(gè)創(chuàng)建過程只需單擊和拖動(dòng)鼠標(biāo)操作就能完成,它提供了一種更快捷、直接明了的方式,而且用戶可以立即看到系統(tǒng)的仿真結(jié)果。 Simulink模塊庫(kù)提供了豐富的描述系統(tǒng)特性的典型環(huán)節(jié),有信號(hào)源模塊庫(kù)(Source) ,接收模塊庫(kù)(Sinks),連續(xù)系統(tǒng)模塊庫(kù)(Continuous),離散系統(tǒng)模塊庫(kù)(Discrete),非連續(xù)系統(tǒng)模塊庫(kù)(Signal Routing),信號(hào)屬性模塊庫(kù)(Signal

45、 Attributes),數(shù)學(xué)運(yùn)算模塊庫(kù)(Math Operations),邏輯和位操作庫(kù)(Logic and Bit Operations)等等,此外還有一些特定學(xué)科仿真的工具箱。 Simulink為用戶提供了一個(gè)圖形化的用戶界面(GUI)12。對(duì)于用方框圖表示的系統(tǒng),通過圖形界面,利用鼠標(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ò)展了它的功能。Simulink模塊在這里我主要介紹在本仿真工程中將會(huì)使用到的模塊。 1. Mux

46、混路器。將多路信號(hào)依照向量的形式混合成一路信號(hào)。例如,可以將要觀察的多路信號(hào)合并成一路,連接到示波器上顯示,這樣就可以將這些信號(hào)同時(shí)顯示出來(lái)。 2. Demux分路器。將混路器組成的信號(hào)依照原來(lái)的構(gòu)成方法分解成多路。 3. Display數(shù)字顯示器。將輸入信號(hào)用數(shù)字形式顯示出來(lái)。 4. 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è)

47、置參數(shù)。 5. Binary Cyclic Encoder二進(jìn)制循環(huán)碼編碼器。用于將伯努利二進(jìn)制發(fā)生器產(chǎn)生的碼元進(jìn)行線性循環(huán)編碼以通過模擬信道。 6. Binary Symmetric Channel二進(jìn)制均衡信道。用來(lái)模擬信息傳輸?shù)耐ǖ?。在?shí)際傳輸過程中由于各種原因而產(chǎn)生噪聲干擾,在這里模擬信道會(huì)自我生成固有的持續(xù)性的熱噪聲,其中可以設(shè)置在模擬信道傳輸時(shí)的差錯(cuò)概率。 7. Binary Cyclic Decoder二進(jìn)制循環(huán)碼解碼器。將通過模擬均衡信道的信號(hào)進(jìn)行相關(guān)解碼。 8. Error Rate Calculation誤碼率計(jì)算器。其運(yùn)算是比較接收的數(shù)據(jù)跟輸出的數(shù)據(jù),它是一個(gè)實(shí)時(shí)流動(dòng)統(tǒng)計(jì)

48、,以這種方式來(lái)計(jì)算其中誤碼率。通過對(duì)出現(xiàn)同位相異的碼字總數(shù)的統(tǒng)計(jì)作為分子,分母則是通過的碼元數(shù)據(jù)元素的總數(shù),其中它不考慮輸入元素之間的差異幅度。如果輸入的是位數(shù),則計(jì)算出來(lái)的是誤碼率,如果輸入的是符號(hào),則計(jì)算出來(lái)的是符號(hào)差錯(cuò)率。 9. Binary Linear Encoder二進(jìn)制線性編碼器。用于將伯努利二進(jìn)制發(fā)生器產(chǎn)生的碼元進(jìn)行線性循環(huán)編碼以通過模擬信道。其使用點(diǎn)陣式產(chǎn)生器產(chǎn)生一個(gè)二進(jìn)位的線區(qū)段編碼。 10. Binary Linear Decoder二進(jìn)制線性解碼器。將通過模擬均衡信道的信號(hào)進(jìn)行相關(guān)解碼。11. To Workspaces工作空間寫入器??梢詫⑾到y(tǒng)的仿真結(jié)果、系統(tǒng)仿真時(shí)刻

49、、系統(tǒng)中的狀態(tài)或指定的信號(hào)輸出到Matlab的工作空間中,以便進(jìn)行定量分析。該模塊可以保存任何實(shí)數(shù)或復(fù)數(shù)類型的數(shù)據(jù)到Matlab工作空間。第四章 基于Matlab差錯(cuò)控制技術(shù)仿真及結(jié)果分析4.1 線性分組碼差錯(cuò)控制仿真 線性分組碼仿真步驟 在實(shí)現(xiàn)線性分組碼差錯(cuò)控制編碼技術(shù)仿真時(shí),其可以分為以下幾個(gè)大步驟: 1. 產(chǎn)生二進(jìn)制碼元; 2. 進(jìn)行線性分組編碼; 3. 經(jīng)過模擬信道; 4. 進(jìn)行譯碼; 5. 進(jìn)行對(duì)原碼與經(jīng)過模擬信道的碼進(jìn)行差錯(cuò)率運(yùn)算; 6. 得到線性碼的信號(hào)誤碼率與信道差錯(cuò)率之間的曲線圖,仿真完成并對(duì)得到了結(jié)果進(jìn)行分析。 線性分組碼差錯(cuò)控制仿真系統(tǒng)模型 線性碼差錯(cuò)控制編碼技術(shù)的仿真框

50、圖由信號(hào)發(fā)生器,線性編碼器,模擬信道,線性解碼器,差錯(cuò)率運(yùn)算器,結(jié)果顯示器這六大模塊組成,除此以外還有運(yùn)算結(jié)果存儲(chǔ)模塊,在建模時(shí),此模塊屬于附加模塊。下面對(duì)這七個(gè)模塊功能進(jìn)行簡(jiǎn)單介紹13:信號(hào)發(fā)生器模塊:用來(lái)產(chǎn)生隨機(jī)二進(jìn)制碼元。線性編碼器模塊:將產(chǎn)生的隨機(jī)二進(jìn)制碼元進(jìn)行線性分組編碼,即差錯(cuò)控制編碼。模擬信道模塊:用來(lái)模擬信號(hào)傳輸通道,為二進(jìn)制均衡信道,其中生成可控噪聲干擾。線性解碼器模塊:將經(jīng)過模擬信道的信號(hào)進(jìn)行相干解碼。差錯(cuò)率運(yùn)算器模塊:將未進(jìn)過差錯(cuò)控制編碼和經(jīng)過差錯(cuò)控制編碼的信號(hào)進(jìn)行碼字差錯(cuò)運(yùn)算,經(jīng)過計(jì)算得到其實(shí)時(shí)傳輸誤碼率。運(yùn)算結(jié)果存儲(chǔ)模塊:在數(shù)學(xué)建模中,此模塊是可以無(wú)需存在的,故此我用

51、虛線箭頭來(lái)繪制,在Simulink仿真中,最終得到的仿真結(jié)果是以Display模塊進(jìn)行數(shù)字顯示的,而為了方便觀看結(jié)果,仿真結(jié)果最終將以曲線圖直觀的表示出來(lái)。而在此期間需要調(diào)用M函數(shù),所以需要將運(yùn)算結(jié)果提前存儲(chǔ)起來(lái)以供后用。 線性分組碼仿真流程及結(jié)果分析 基于Simulink平臺(tái)的系統(tǒng)仿真的步驟為: 1. 建立數(shù)學(xué)模型。根據(jù)通信系統(tǒng)的基本原理,將整個(gè)系統(tǒng)簡(jiǎn)化到源系統(tǒng),確定總的系統(tǒng)功能,并將各部分功能模塊化,找出各部分之間的關(guān)系,畫出系統(tǒng)流程框圖模型; 2. 仿真系統(tǒng)。根據(jù)建立的模型,從Simulink通信模型庫(kù)的各個(gè)子庫(kù)中,將所需要的單元功能模塊拷貝到Untitled窗口,按系統(tǒng)流程框圖模型連接

52、,組建要仿真的通信系統(tǒng)模型; 3. 設(shè)置、調(diào)整參數(shù)。參數(shù)設(shè)置包括運(yùn)行系統(tǒng)參數(shù)設(shè)置(如系統(tǒng)運(yùn)行時(shí)間、采樣速率等)和功能模塊運(yùn)行參數(shù)設(shè)置; 4. 運(yùn)行且分析結(jié)果。保存且運(yùn)行仿真,得到仿真數(shù)據(jù)及波形,并對(duì)仿真結(jié)果進(jìn)行分析。其中步驟1已在之前完成,故現(xiàn)在需要根據(jù)已建立好的仿真流程框圖在Simulink模塊庫(kù)中選取相應(yīng)的模塊進(jìn)行Simulink建模,完成建模。線性分組碼差錯(cuò)控制仿真系統(tǒng)如圖4.1所示。 圖4.1 線性分組碼差錯(cuò)控制仿真系統(tǒng)為了進(jìn)行比較線性分組碼系統(tǒng)的差錯(cuò)率,又設(shè)計(jì)不經(jīng)過線性碼的仿真系統(tǒng)如圖4.2所示。圖4.2 無(wú)線性分組碼仿真系統(tǒng) 由于伯努利隨機(jī)信號(hào)發(fā)生器的產(chǎn)生信號(hào)是以概率來(lái)執(zhí)行的,則所

53、生成的隨機(jī)數(shù)均在0到1之間,而二進(jìn)制數(shù)中碼字非“0”即“1”所以在這里出現(xiàn)零的概率設(shè)置為0.514。伯努利二進(jìn)制信號(hào)發(fā)生器參數(shù)設(shè)置如圖4.3所示。圖4.3 伯努利二進(jìn)制信號(hào)發(fā)生器參數(shù)圖4.4 二進(jìn)制線性編碼器參數(shù)圖4.5 二進(jìn)制均衡信道參數(shù)圖4.6 二進(jìn)制線性解碼器參數(shù)圖4.7 誤碼率計(jì)算器參數(shù) Start time和Stop time設(shè)置仿真的起始和停止時(shí)間,單位是秒。而這里的時(shí)間概念與真實(shí)的時(shí)間并不一樣,在設(shè)置時(shí)與實(shí)際的運(yùn)行時(shí)間和計(jì)算機(jī)的性能、模型的復(fù)雜程度、解法、步長(zhǎng)、誤差要求等等因素都有關(guān)。在本仿真中設(shè)置的Start time為0,Stop time為10000。 目前沒有一種對(duì)所有的

54、模型都有效的方法,在做Simulink仿真時(shí)要根據(jù)各種模型的特點(diǎn),各種數(shù)值積分方法的特點(diǎn)和范圍,選擇正確的算法而在本仿真研究中我選擇ode45步長(zhǎng)算法15。Ode45特別適用于仿真線性化程度高的系統(tǒng),這種系統(tǒng)模型主要有傳遞函數(shù),狀態(tài)空間,零極點(diǎn),增益等標(biāo)準(zhǔn)功能模塊構(gòu)成,由于期算法速度較快,所以仿真時(shí)一般把其作為默認(rèn)算法。 設(shè)置仿真參數(shù)和選擇解法器之后,就可以啟動(dòng)仿真而運(yùn)行。選擇Simulink菜單下的start選項(xiàng)來(lái)啟動(dòng)仿真,如果模型中有些參數(shù)沒有定義,則會(huì)出現(xiàn)錯(cuò)誤信息提示框。如果一切設(shè)置無(wú)誤,則開始仿真運(yùn)行。 在仿真結(jié)束后仿真結(jié)果信號(hào)輸入到“To Workspace”模塊中,即保存到Matlab工作空間里。為了得到直觀性的誤碼率曲線圖,即線性碼仿真系統(tǒng)信號(hào)誤碼率與信道差錯(cuò)概率之間的曲線圖,需要編寫一個(gè)M文件對(duì)上面的線性碼仿真模型進(jìn)行仿真即可得到誤碼率曲線圖。在仿真之前必須將二進(jìn)制均衡信道的信道差錯(cuò)率0.05該為一個(gè)變量,在這里設(shè)置變

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論