版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 鄭州輕工業(yè)學(xué)院</b></p><p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p> 題 目 差錯(cuò)控制編碼解決加性噪聲的仿真 </p><p> 學(xué)生姓名 </p><p> 專業(yè)班級(jí) 通信工程0
2、5-2班 </p><p> 學(xué) 號(hào) </p><p> 院 (系) 計(jì)算機(jī)與通信工程學(xué)院 </p><p> 指導(dǎo)教師 </p><p> 完成
3、時(shí)間 2009年6月5日 </p><p><b> 鄭州輕工業(yè)學(xué)院</b></p><p> 畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p> 題目 差錯(cuò)控制編碼解決加性噪聲的仿真 </p><p> 專業(yè) 通信工程 學(xué)號(hào) 姓名
4、 </p><p> 主要內(nèi)容、基本要求、主要參考資料等: </p><p> 主要內(nèi)容:建立有無(wú)加性噪聲的信道傳輸模型,對(duì)比有無(wú)差錯(cuò)控制編碼時(shí)的誤碼率;學(xué)習(xí)使用通信仿真軟件MATLAB。</p><p> 基本要求:1. 掌握差錯(cuò)控制編碼,理解其減小誤碼的原理。</p><p> 2.了解加性噪聲對(duì)通信信號(hào)的影響。</p&g
5、t;<p> 3.編寫仿真程序并調(diào)試。</p><p><b> 主要參考資料:</b></p><p> [1] 樊昌信.通信原理[M].北京:國(guó)防工業(yè)出版社,2001</p><p> [2] 徐明遠(yuǎn),邵玉斌.MATLAB仿真在通信與電子工程中的應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2005</p>
6、<p> [3] 王新梅.糾錯(cuò)碼原理與方法[M].西安V西安電子科技大學(xué)出版社,1991</p><p> [4] 張賢達(dá).通信信號(hào)處理[M].北京:國(guó)防工業(yè)出版社,2000</p><p> [5] 張明照,劉政波,劉斌等.應(yīng)用MATLAB實(shí)現(xiàn)信號(hào)分析和處理[J].北京:科學(xué)出版社,2006</p><p> 完 成 期 限: 2009年
7、6月5日 </p><p> 指導(dǎo)教師簽名: </p><p> 專業(yè)負(fù)責(zé)人簽名: </p><p> 年 月 日</p><p><b> 目 錄</b></p><p><b
8、> 中文摘要I</b></p><p><b> 英文摘要II</b></p><p><b> 1 緒 論1</b></p><p> 2 差錯(cuò)控制編碼的基本理論2</p><p> 2.1 差錯(cuò)控制方式2</p><p>
9、2.1.1 檢錯(cuò)重發(fā)方式(ARQ)2</p><p> 2.1.2 前向糾錯(cuò)方式(FEC)2</p><p> 2.1.3 混合糾錯(cuò)檢錯(cuò)方式(HEC)2</p><p> 2.1.4 回饋校驗(yàn)方式(IRQ)3</p><p> 2.2 差錯(cuò)控制編碼的分類3</p><p> 2.3 檢錯(cuò)和糾錯(cuò)的基本
10、原理3</p><p> 2.4 漢明(Hamming)碼5</p><p> 2.5 BCH碼6</p><p> 3 Matlab仿真語(yǔ)言9</p><p> 3.1 Matlab語(yǔ)言發(fā)展9</p><p> 3.2 Matlab的程序設(shè)計(jì)10</p><p>
11、 4 差錯(cuò)控制編碼解決加性噪聲12</p><p> 4.1 無(wú)噪聲無(wú)編碼12</p><p> 4.2 無(wú)噪聲有編碼13</p><p> 4.3 有噪聲無(wú)編碼13</p><p> 4.4 有噪聲有編碼14</p><p> 4.4.1 有噪聲有hamming(7,4)碼14</p>
12、;<p> 4.4.2 有噪聲有BCH(7,4)編碼16</p><p> 4.4.3 有噪聲有BCH(15,5)編碼16</p><p><b> 結(jié)束語(yǔ)19</b></p><p><b> 致 謝20</b></p><p><b> 參考文獻(xiàn)21
13、</b></p><p><b> 附錄.m程序22</b></p><p> 程序一. 無(wú)噪聲,無(wú)編碼22</p><p> 程序二. 無(wú)噪聲,有編碼23</p><p> 程序三. 有噪聲,無(wú)編碼24</p><p> 程序四. 有噪聲,有hamming(7,4)
14、編碼25</p><p> 程序五. 有噪聲,有BCH(7,4)編碼28</p><p> 程序六. 有噪聲,有BCH(15,5)編碼31</p><p> 差錯(cuò)控制編碼解決加性噪聲的仿真</p><p><b> 摘 要</b></p><p> 調(diào)制信道對(duì)信號(hào)的影響除乘性干擾
15、外,還有加性干擾(即加性噪聲)。加性噪聲雖然獨(dú)立于有用信號(hào),但它卻始終存在,干擾有用信號(hào),因而不可避免地對(duì)通信造成危害,降低數(shù)字通信系統(tǒng)的誤碼性能。</p><p> 通信系統(tǒng)必須具備發(fā)現(xiàn)(即檢測(cè))差錯(cuò)的能力,并采取措施糾正之,使差錯(cuò)控制在所能允許的盡可能小的范圍內(nèi),這就是差錯(cuò)控制過(guò)程,也是數(shù)據(jù)鏈路層的主要功能之一。</p><p> 本文介紹了差錯(cuò)控制編碼中的Hamming碼和BCH
16、碼解決加性噪聲的軟件仿真,使用了Matlab仿真工具,通過(guò)對(duì)有無(wú)噪聲,有無(wú)編碼,以及使用不同編碼等多種情況的仿真,得出誤碼主要是由加性噪聲引起的,差錯(cuò)控制編碼可以有效的降低誤碼率。</p><p> 關(guān)鍵詞 差錯(cuò)控制編碼;加性噪聲;Matlab;誤碼率</p><p> ERROR CONTROL CODING TO SOLVE</p><p> THE
17、 SIMULATION OF ADDITIVE NOISE</p><p><b> ABSTRACT</b></p><p> Channel modulation of the signal in addition to the impact of interference, there are additive interference (That is a
18、dditive noise). Although the additive noise independent of the useful signal, but it has always been there to interfere with a useful signal, which will inevitably cause damage to the communications, and reduce the bit e
19、rror performance digital communication systems.</p><p> Communication system must be found (that is detect) the ability of error and measures taken to rectify it, so that error control can be allowed in the
20、 framework of as small as possible, and this is the process of error control, main feature of the data link layer. </p><p> In this paper, error control coding of Hamming codes and BCH codes solve the addit
21、ive noise of the software simulation, use the Matlab simulation tools, whether through noise, whether the encoding, and encoded using a different range of conditions, such as the simulation, obtained error is mainly caus
22、ed by the additive noise, and error control coding can effectively reduce the bit error rate. </p><p> KEY WORDS error control coding,additive noise,Matlab,bit error</p><p><b> 1 緒 論&
23、lt;/b></p><p> 在實(shí)際信道上傳輸數(shù)字信號(hào)[1]時(shí),由于信道傳輸特性不理想及加性噪聲[2]的影響,接收端所收到的數(shù)字信號(hào)不可避免地會(huì)發(fā)生錯(cuò)誤。為了在已知信噪比情況下達(dá)到一定的比特誤碼率指標(biāo),首先應(yīng)該合理設(shè)計(jì)基帶信號(hào),選擇調(diào)制解調(diào)方式,采用時(shí)域、頻域均衡,使比特誤碼率盡可能降低。但實(shí)際上,在許多通信系統(tǒng)中的比特誤碼率[3]并不能滿足實(shí)際的需求。此時(shí)則必須采用信道編碼[4](即差錯(cuò)控制編碼)才能
24、將比特誤碼率進(jìn)一步降低,以滿足系統(tǒng)指針要求。</p><p> 隨著差錯(cuò)控制編碼理論的完善和數(shù)字電路技術(shù)的飛速發(fā)展,信道編碼已經(jīng)成功地應(yīng)用于各種通信系統(tǒng)中,并且在計(jì)算機(jī)、磁記錄與各種內(nèi)存中也得到日益廣泛的應(yīng)用。差錯(cuò)控制編碼的基本實(shí)現(xiàn)方法是在發(fā)送端將被傳輸?shù)男畔⒏缴弦恍┍O(jiān)督碼元,這些多余的碼元與信息碼元之間以某種確定的規(guī)則相互關(guān)聯(lián)(約束)。接收端按照既定的規(guī)則校驗(yàn)信息碼元與監(jiān)督碼元之間的關(guān)系,一旦傳輸發(fā)生差錯(cuò),則
25、信息碼元與監(jiān)督碼元的關(guān)系就受到破壞,從而接收端可以發(fā)現(xiàn)錯(cuò)誤乃至糾正錯(cuò)誤。因此,研究各種編碼和譯碼方法是差錯(cuò)控制編碼所要解決的問(wèn)題。 </p><p> 編碼涉及到的內(nèi)容也比較廣泛,前向糾錯(cuò)編碼(FEC)、線性分組碼(漢明碼、循環(huán)碼)、理德-所羅門碼(RS碼)、BCH碼、FIRE碼、交織碼,卷積碼、TCM編碼、Turbo碼等都是差錯(cuò)控制編碼的研究范疇。本文只對(duì)其中的漢明碼、BCH碼做介紹,并對(duì)相關(guān)內(nèi)容進(jìn)行仿真。&
26、lt;/p><p> 2 差錯(cuò)控制編碼的基本理論</p><p> 2.1 差錯(cuò)控制方式</p><p> 2.1.1 檢錯(cuò)重發(fā)方式(ARQ)</p><p> 采用檢錯(cuò)重發(fā)方式,發(fā)端經(jīng)編碼后發(fā)出能夠發(fā)現(xiàn)錯(cuò)誤的碼,接收端收到后經(jīng)檢驗(yàn)如果發(fā)現(xiàn)傳輸中有錯(cuò)誤,則通過(guò)反向信道把這一判斷結(jié)果回饋給發(fā)送端。然后,發(fā)送端把信息重發(fā)一次,直到接收端確
27、認(rèn)為止。采用這種差錯(cuò)控制方法需要具備雙向信道,一般在計(jì)算機(jī)數(shù)據(jù)通信中應(yīng)用。檢錯(cuò)重發(fā)方式分為三種類型:</p><p> (1).停發(fā)等待重發(fā),發(fā)對(duì)或發(fā)錯(cuò),發(fā)送端均要等待接收端的回應(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>
28、(3).選擇重發(fā)。無(wú)ACK信號(hào),當(dāng)發(fā)送端收到NAK信號(hào)后,重發(fā)錯(cuò)誤碼組,特點(diǎn)是系統(tǒng)復(fù)雜,時(shí)延最小。</p><p> 2.1.2 前向糾錯(cuò)方式(FEC)</p><p> 發(fā)送端經(jīng)編碼發(fā)出能糾正錯(cuò)誤的碼,接收端收到這些碼組后,通過(guò)解碼能發(fā)現(xiàn)并糾正誤碼。前向糾錯(cuò)方式不需要回饋通道,特別適合只能提供單向通道的場(chǎng)合,特點(diǎn)是時(shí)延小,實(shí)時(shí)性好,但系統(tǒng)復(fù)雜。但隨著編碼理論和微電子技術(shù)的發(fā)展,編譯碼
29、設(shè)備成本下降,加之有單向通信和控制電路簡(jiǎn)單的優(yōu)點(diǎn),在實(shí)際應(yīng)用中日益增多。</p><p> 2.1.3 混合糾錯(cuò)檢錯(cuò)方式(HEC)</p><p> 混合糾錯(cuò)檢錯(cuò)方式是前向糾錯(cuò)方式和檢錯(cuò)重發(fā)方式的結(jié)合,發(fā)送端發(fā)出的碼不但有一定的糾錯(cuò)能力,對(duì)于超出糾錯(cuò)能力的錯(cuò)誤要具有檢錯(cuò)能力。這種方式在實(shí)時(shí)性和復(fù)雜性方面是前向糾錯(cuò)和檢錯(cuò)重發(fā)方式的折衷,因而在近年來(lái),在數(shù)據(jù)通信系統(tǒng)中采用較多。</p
30、><p> 2.1.4 回饋校驗(yàn)方式(IRQ)</p><p> 回饋校驗(yàn)方式(IRQ)又稱回程校驗(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><p> 優(yōu)點(diǎn):不需要糾錯(cuò)、檢錯(cuò)的編譯器,設(shè)備簡(jiǎn)單。</p><p> 缺點(diǎn)
31、:需要反向信道;實(shí)時(shí)性差;發(fā)送端需要一定容量的內(nèi)存。IRQ方式僅適用于傳輸速率較低、數(shù)據(jù)差錯(cuò)率較低的控制簡(jiǎn)單的系統(tǒng)中。</p><p> 2.2 差錯(cuò)控制編碼的分類</p><p> (1).按照差錯(cuò)控制編碼[5]的不同功能,可以分為檢錯(cuò)碼(僅能檢測(cè)誤碼)、糾錯(cuò)碼(僅可以糾正誤碼)和糾刪碼(兼有糾錯(cuò)和檢錯(cuò)功能)。</p><p> (2).按照信息碼元和附加的
32、監(jiān)督碼元之間的檢驗(yàn)關(guān)系可以分為線性碼(信息碼元和監(jiān)督碼元滿足一組線性方程式)和非線性碼。</p><p> (3).按照信息碼元和監(jiān)督碼元之間的約束關(guān)系可以分為分組碼和卷積碼。分組碼中,碼元序列每n位分成一組,其中k個(gè)是信息碼元,r=n-k個(gè)是監(jiān)督碼元,監(jiān)督碼元僅與本組的信息碼元有關(guān)。卷積碼中,編碼后序列也編為分組,但監(jiān)督碼元不僅與本組信息碼元有關(guān),還與前面碼組的信息碼元有關(guān)。</p><p
33、> (4).按照糾正錯(cuò)誤的類型不同,可以分為糾正隨機(jī)錯(cuò)誤的碼和糾正突發(fā)錯(cuò)誤的碼。</p><p> (5).按照構(gòu)成差錯(cuò)控制編碼的數(shù)學(xué)方法來(lái)分類,可以分為代數(shù)碼、幾何碼和算術(shù)碼。其中代數(shù)碼建立在近代數(shù)學(xué)基礎(chǔ)上,是目前發(fā)展最為完善的編碼,其中線性碼是是代數(shù)碼的一個(gè)最重要的分支。</p><p> (6).按照每個(gè)碼元的取值不同,可以分為二進(jìn)制代碼和多進(jìn)制碼。</p>
34、<p> 2.3 檢錯(cuò)和糾錯(cuò)的基本原理</p><p> 香農(nóng)著名的信道編碼定理[6]指出:對(duì)于一個(gè)給定的有擾信道,若信道容量為C,只要發(fā)送端以低于C的速率R發(fā)送信息,則一定存在一種編碼方法,使編碼錯(cuò)誤概率P隨著碼長(zhǎng)n的增加,按指數(shù)下降到任意小的值,即通過(guò)增加冗余編碼來(lái)降低誤碼率。</p><p> 糾錯(cuò)編碼[7]的基本思想就是在被傳送的信息碼元中附加一些監(jiān)督碼元,在兩者
35、之間建立某種校驗(yàn)關(guān)系,當(dāng)這種校驗(yàn)關(guān)系因傳輸錯(cuò)誤而受到破壞時(shí),可以被發(fā)現(xiàn)并予以糾正。這種檢錯(cuò)和糾錯(cuò)能力是用信息量的冗余度來(lái)?yè)Q取的。</p><p> 以一組二進(jìn)制代碼為例:</p><p> 三位二進(jìn)制代碼元有8個(gè)碼組,如果用來(lái)表示天氣的8種情況000(晴),001(雷),010(雹),011(陰),100(風(fēng)),101(云),110(雨),111(雪),如果有一個(gè)誤碼,接收端以為是另一
36、條信息,這種編碼沒(méi)有檢錯(cuò)和糾錯(cuò)能力。</p><p> 如果這8種碼組只用來(lái)傳送4條信息,即只準(zhǔn)使用其中的4種碼組000(晴),011(陰),101(云),110(雨),如果有一位誤碼,不會(huì)在接收端產(chǎn)生誤判,會(huì)檢出錯(cuò)誤。4個(gè)狀態(tài)只用2位二進(jìn)制代碼就可以表達(dá),所增加的第3位,就稱為監(jiān)督碼元。增加1位監(jiān)督碼元,只能檢出1位誤碼,對(duì)于上例,如果有2位誤碼,將發(fā)生誤判。如將000(晴)誤傳成101(云),要抗多位誤碼,
37、就要增加監(jiān)督碼元的個(gè)數(shù),即增加冗余度。</p><p> 碼距與檢錯(cuò)和糾錯(cuò)能力定義:</p><p> (1).碼重:碼組中非零碼元的個(gè)數(shù)。如001,碼重為1;011,碼重為2。</p><p> (2).碼距:兩個(gè)碼組中對(duì)應(yīng)碼位上具有的不同二進(jìn)制代碼元的個(gè)數(shù)定義為兩個(gè)碼組的距離(漢明距,簡(jiǎn)稱碼距)。如111和000,碼距為3;111和100碼距為2;111和
38、110碼距為1。</p><p> (3).最小碼距:對(duì)于許用的n個(gè)碼組,各碼組之間最小的碼距稱為最小碼距。</p><p> 對(duì)于3位二進(jìn)制代碼,如果8個(gè)碼組可用,(000,001,010,011,100,101,110,111),各點(diǎn)之間最小相差1個(gè)邊長(zhǎng),最小碼距為1。如果只有4個(gè)碼組可用,選(010,111,100,001)或(110,011,000,101),各點(diǎn)之間相差2個(gè)邊
39、長(zhǎng),最小碼距為2;如果只有2個(gè)碼組可用,分別選(111,000)(100,011)(110,001)(101,010),各點(diǎn)之間相差3個(gè)邊長(zhǎng),最小碼距為3。</p><p> 如上所述,一種編碼的最小碼距直接關(guān)系到這種碼的檢錯(cuò)和糾錯(cuò)能力,因此最小碼距是信道編碼的一個(gè)重要參數(shù)。在一般情況下,對(duì)于分組碼有如下結(jié)論:</p><p> (1).在一個(gè)碼組內(nèi)檢測(cè)個(gè)e誤碼,要求最小碼距 dmi
40、n>=e+1</p><p> (2).在一個(gè)碼組內(nèi)糾正個(gè)t誤碼,要求最小碼距 dmin>=2t+1</p><p> (3).在一個(gè)碼組內(nèi)糾正t個(gè)誤碼,同時(shí)檢測(cè)e個(gè)(e>=t)誤碼(當(dāng)誤碼數(shù)大于t時(shí)就不能糾錯(cuò),只能檢測(cè)e個(gè)誤碼),要求最小碼距 dmin>=t+e+1</p><p> 2.4 漢明(Hamming)碼</p&
41、gt;<p> 漢明碼是1950年由美國(guó)貝爾實(shí)驗(yàn)室漢明提出來(lái)的,是第一個(gè)設(shè)計(jì)用來(lái)糾正錯(cuò)誤的線性分組碼,漢明碼被廣泛用于數(shù)字通信和數(shù)據(jù)存儲(chǔ)系統(tǒng)中。</p><p> 對(duì)于奇偶校驗(yàn)的偶校驗(yàn),我們用下式作為作為監(jiān)督方程:</p><p><b> (2-1)</b></p><p> 在接收端解碼時(shí),若S=0,就認(rèn)為無(wú)錯(cuò);若S=
42、1,就認(rèn)為有錯(cuò)。這里稱S為校正子(校驗(yàn)子),又稱伴隨式。在上例中,由于只有一位監(jiān)督碼元,一個(gè)監(jiān)督方程,所以只能檢錯(cuò),無(wú)法糾錯(cuò)。</p><p> 漢明碼(n,k)是一種可用于糾單個(gè)隨機(jī)錯(cuò)誤的循環(huán)編碼。一般漢明碼的參數(shù)如下:</p><p> 碼長(zhǎng) n=2^r-1</p><p> 信息位元 k=2^r-1-r</p><p>
43、; 監(jiān)督位 r=n-k,r是不小于3的任意正整數(shù)。(因?yàn)橐mt位錯(cuò)誤,dmin大于2t+1)</p><p> 最小漢明距離 d=3</p><p> 下表是糾錯(cuò)一位的一般漢明碼結(jié)構(gòu)</p><p> 表1 糾錯(cuò)一位的一般漢明碼結(jié)構(gòu)</p><p> ?。?,4)漢明碼的編碼器和譯碼器:</p><p&
44、gt;<b> (a)發(fā)端編碼器</b></p><p><b> (b)收端譯碼器</b></p><p> 圖2-1 (7,4)漢明碼的編碼器和譯碼器</p><p> 該仿真原理圖包含兩個(gè)子系統(tǒng),分別是(7,4)漢明碼的編碼器和譯碼器。仿真時(shí)的信號(hào)源采用了一個(gè)PROM,并由用戶自定義數(shù)據(jù)內(nèi)容,數(shù)據(jù)的輸出由一
45、個(gè)計(jì)數(shù)器來(lái)定時(shí)驅(qū)動(dòng),每隔一秒輸出一個(gè)4位數(shù)據(jù)(PROM的8位僅用了其中4位),由編碼器子系統(tǒng)編碼轉(zhuǎn)換后成為7位漢明碼,經(jīng)過(guò)并串轉(zhuǎn)換后傳輸,其中的并串、串并轉(zhuǎn)換電路使用了擴(kuò)展通信庫(kù)2中的時(shí)分復(fù)用合路器和分路器圖符,該合路器和分路器最大為16位長(zhǎng)度的時(shí)隙轉(zhuǎn)換,這里定義為7位時(shí)隙。此時(shí)由于輸入輸出數(shù)據(jù)的系統(tǒng)數(shù)據(jù)率不同,因此必須在子系統(tǒng)的輸入端重新設(shè)置系統(tǒng)采樣率,將系統(tǒng)設(shè)置為多速率系統(tǒng)。因?yàn)樵?位數(shù)據(jù)的刷新率為1Hz,因此編碼器的輸入端可設(shè)置
46、重采樣率位10Hz,時(shí)分復(fù)用合路器和分路器的數(shù)據(jù)幀周期設(shè)為1秒,時(shí)隙數(shù)字7,則輸出采樣率為輸入采樣率的7倍,即70Hz。如果要加入噪聲,則噪聲信號(hào)源的采樣率也應(yīng)設(shè)為70Hz。</p><p><b> 2.5 BCH碼</b></p><p> BCH碼是循環(huán)碼的一個(gè)重要子類,它具有糾多個(gè)錯(cuò)誤的能力,BCH碼有嚴(yán)密的代數(shù)理論,是目前研究最透徹的一類碼。它的生成多項(xiàng)
47、式與最小碼距之間有密切的關(guān)系,人們可以根據(jù)所要求的糾錯(cuò)能力t很容易構(gòu)造出BCH碼,它們的譯碼器也容易實(shí)現(xiàn),是線性分組碼中應(yīng)用最普遍的一類碼。</p><p> BCH碼的生成多項(xiàng)式 若循環(huán)碼的生成多項(xiàng)式具有如下形式: (2-2)</p><p> 這里t為糾錯(cuò)個(gè)數(shù),為最小多項(xiàng)式,LCM表示取最小公倍式,則由此生成的循環(huán)碼稱之為BCH碼。該碼是以三個(gè)發(fā)現(xiàn)者博
48、斯(Bose)、查德胡里(Chaudhuri)和霍昆格姆(Hocquenghem)名字的開(kāi)頭字母命名的。其最小碼距dmin≥2t+1,能糾t個(gè)錯(cuò)誤。BCH的碼長(zhǎng)為n=或的因子。碼長(zhǎng)為n=的BCH碼稱為本原BCH碼。碼長(zhǎng)為因子的BCH碼稱為非本原BCH碼。對(duì)于糾t個(gè)錯(cuò)誤的本原BCH碼,其生成多項(xiàng)式為 </p><p><b> (2-3)</b></p><p>
49、糾正單個(gè)錯(cuò)誤的本原BCH碼就是循環(huán)漢明碼。</p><p> 下面介紹幾種常見(jiàn)的BCH碼:</p><p> (1).戈雷碼(Golay)</p><p> (23,12)碼是一個(gè)特殊的非本原BCH碼,稱為戈雷碼,它的最小碼距7,能糾正3個(gè)錯(cuò)誤,其生成多項(xiàng)式為</p><p><b> (2-4)</b><
50、/p><p> 這也是目前為止發(fā)現(xiàn)的唯一能糾正多個(gè)錯(cuò)誤的完備碼。</p><p><b> (2).擴(kuò)展形式</b></p><p> 實(shí)際應(yīng)用中,為了得到偶數(shù)碼長(zhǎng),并增加檢錯(cuò)能力,可以在BCH碼的生成多項(xiàng)式中乘D+1,從而得到(n+1,k+1)擴(kuò)展BCH碼。擴(kuò)展BCH碼相當(dāng)于將原有BCH碼再加上一位的偶校驗(yàn),它不再有循環(huán)性。</p&g
51、t;<p><b> (3).縮短形式</b></p><p> 幾乎所以的循環(huán)碼都存在它另一種縮短形式。實(shí)際應(yīng)用中,可能需要不同的碼長(zhǎng)不是或它的因子,我們可以從碼中挑出前s位為0的碼組構(gòu)成新的碼,這種碼的監(jiān)督位數(shù)不變,因此糾錯(cuò)能力保持不變,但是沒(méi)有了循環(huán)性。</p><p> BCH譯碼:BCH碼的譯碼方法可以有時(shí)域譯碼和頻域譯碼兩類。頻移譯碼是
52、把每個(gè)碼組看成一個(gè)數(shù)字信號(hào),把接受到的信號(hào)進(jìn)行離散傅氏變換(DFT),然后利用數(shù)字信號(hào)處理技術(shù)在“頻域”內(nèi)譯碼,最后進(jìn)行傅氏反變換得到譯碼后的碼組。時(shí)域譯碼則是在時(shí)域直接利用碼的代數(shù)結(jié)構(gòu)進(jìn)行譯碼。BCH的時(shí)域譯碼方法有很多,常見(jiàn)的時(shí)域BCH譯碼方法有彼得森譯碼、迭代譯碼等。BCH的彼得森解碼基本過(guò)程為:(1)用的各因式作為除式,對(duì)接收到的碼多項(xiàng)式求余,得到t個(gè)余式,稱為“部分校驗(yàn)式”;(2)用t個(gè)部分校驗(yàn)式構(gòu)造一個(gè)特定的譯碼多項(xiàng)式,它以
53、錯(cuò)誤位置數(shù)為根;(3)求譯碼多項(xiàng)式的根,得到錯(cuò)誤位置;(4)糾正錯(cuò)誤。</p><p> 事實(shí)上,BCH碼是一種特殊的循環(huán)碼,因此它的編碼器不但可以象其它循環(huán)碼那樣用除法器來(lái)實(shí)現(xiàn),而且原則上所有適合循環(huán)碼解碼的方法也可以用于BCH碼的解碼。</p><p> 3 Matlab仿真語(yǔ)言</p><p> 3.1 Matlab語(yǔ)言發(fā)展</p>&
54、lt;p> MATLAB[8]語(yǔ)言的首創(chuàng)者Cleve Moler教授在數(shù)值分析,特別是在數(shù)值線性代數(shù)的領(lǐng)域中很有影響,他參與編寫了數(shù)值分析領(lǐng)域一些著名的著作和兩個(gè)重要的Fortran程序EISPACK和LINPACK[9]。他曾在密西根大學(xué)、斯坦福大學(xué)和新墨西哥大學(xué)任數(shù)學(xué)與計(jì)算機(jī)科學(xué)教授。1980年前后,當(dāng)時(shí)的新墨西哥大學(xué)計(jì)算機(jī)系主任Moler教授在講授線性代數(shù)課程時(shí),發(fā)現(xiàn)了用其它高級(jí)語(yǔ)言編程極為不便,便構(gòu)思并開(kāi)發(fā)了MATLAB
55、(MATrix LABoratory,即矩陣實(shí)驗(yàn)室),這一軟件利用了當(dāng)時(shí)數(shù)值線性代數(shù)領(lǐng)域最高水平的EISPACK和LINPACK兩大軟件包中可靠的子程序,用Fortran語(yǔ)言編寫了集命令翻譯、科學(xué)計(jì)算于一身的一套交互式軟件系統(tǒng)。</p><p> 所謂交互式語(yǔ)言,是指人們給出一條命令,立即就可以得出該命令的結(jié)果。該語(yǔ)言無(wú)需像C和Fortran語(yǔ)言那樣,首先要求使用者去編寫源程序,然后對(duì)之進(jìn)行編譯、連接,最終形成
56、可執(zhí)行檔,這無(wú)疑會(huì)給使用者帶來(lái)了極大的方便。早期的MATLAB是用 Fortran語(yǔ)言編寫的,只能作矩陣運(yùn)算;繪圖也只能用極其原始的方法,即用星號(hào)描點(diǎn)的形式畫圖;內(nèi)部函數(shù)也只提供了幾十個(gè)。但即使其當(dāng)時(shí)的功能十分簡(jiǎn)單,當(dāng)它作為免費(fèi)軟件出現(xiàn)以來(lái),還是吸引了大批的使用者。Cleve Moler和John Little等人成立了一個(gè)名叫The MathWorks的公司,Cleve Moler一直任該公司的首席科學(xué)家。該公司于1984年推出了第一
57、個(gè)MATLAB的商業(yè)版本。當(dāng)時(shí)的MATLAB版本已經(jīng)用C語(yǔ)言作了完全的改寫,其后又增添了豐富多彩的圖形圖像處理、多媒體功能、符號(hào)運(yùn)算和它與其它流行軟件的接口功能,使得MATLAB的功能越來(lái)越強(qiáng)大。</p><p> The MathWorks[10]公司于1992年推出了具有劃時(shí)代意義的MATLAB4.0版本,并于1993年推出了其微機(jī)版, 可以配合Microsoft Windows一起使用,使之應(yīng)用范圍越來(lái)越
58、廣。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ǔ)言的功能。2000年10月底推出了其全新的 MATLAB6.0正式版(Release 12),在核心數(shù)值算法、接口設(shè)計(jì)、外部接口、應(yīng)
59、用桌面等諸多方面有了極大的改進(jìn)。雖然MATLAB語(yǔ)言是計(jì)算數(shù)學(xué)專家倡導(dǎo)并開(kāi)發(fā)的,但其普及和發(fā)展離不開(kāi)自動(dòng)控制領(lǐng)域?qū)W者的貢獻(xiàn)。甚至可以說(shuō),MATLAB語(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ǔ)言的高度集成性,它
60、在其它科學(xué)與工程領(lǐng)域的應(yīng)用也是越來(lái)越廣,并且有著更廣闊的應(yīng)用前景和無(wú)窮無(wú)盡的潛能。子曰:“工欲善其事,必先利其器”。如果有一種十分有效的工具能解決在教學(xué)與研究中遇到的問(wèn)題,那么MATLAB語(yǔ)言正是這樣的一種工具。它可以將使用者從繁瑣、無(wú)謂的底層編程中解放出來(lái),MATLAB已經(jīng)成為國(guó)際上最流行的科學(xué)與工程計(jì)算的軟件工具,現(xiàn)在的MATLAB已經(jīng)不僅僅是一個(gè)“矩陣實(shí)驗(yàn)室”了,它已經(jīng)成為了一種具有廣泛應(yīng)用前景的全新的計(jì)算機(jī)高級(jí)編程語(yǔ)言了,有人稱
61、它為“第四代”計(jì)算機(jī)語(yǔ)言,它在國(guó)內(nèi)外高校和研究部門正扮演著重要的角色。MATLAB語(yǔ)言的功能也越來(lái)越強(qiáng)大,不斷適應(yīng)新的要求提出新的解決方法??梢灶A(yù)見(jiàn),在科學(xué)運(yùn)算、自動(dòng)控制與科學(xué)繪圖領(lǐng)域MATLAB 語(yǔ)言將長(zhǎng)期保持其獨(dú)一無(wú)二的地位。</p><p> 3.2 Matlab的程序設(shè)計(jì)</p><p> 3.2.1 .M文件簡(jiǎn)介</p><p> Matlab除
62、了如前所述的在命令窗口進(jìn)行的直接交互的指令操作方式外,另外一種更為重要的工作方式就是m檔的編程工作方式[12]。M檔有兩種形式,一種是腳本檔(Script File),另一種是函數(shù)文件(Function File)。m文件的擴(kuò)展名為\.m"。m檔可以通過(guò)任何純文本編輯器進(jìn)行編輯,Matlab 中也有自帶的文本編輯器,使用edit 命令即可開(kāi)啟。</p><p> 3.2.2 程控流語(yǔ)句</p&
63、gt;<p> 任何計(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)和分支結(jié)構(gòu)在Matlab語(yǔ)言中的運(yùn)行速度相對(duì)較慢,所以在算法優(yōu)化的編程中應(yīng)當(dāng)盡可能避免使用,而代之以矩陣運(yùn)算,從而提高程序運(yùn)行速度(通??梢蕴岣邤?shù)十倍到百
64、倍),簡(jiǎn)化程序代碼,而使得程序代碼更加接近于數(shù)學(xué)上的表達(dá)。當(dāng)然,矩陣編程的編程方法需要讀者更多的關(guān)于線性代數(shù)和矩陣數(shù)學(xué)的知識(shí)和思維方式??傊琈atlab是一種非常完美易用的超高級(jí)矩陣編程語(yǔ)言[13]。這里只介紹本次編程中用到的編程結(jié)構(gòu)。</p><p><b> (1).順序結(jié)構(gòu)</b></p><p> 在順序結(jié)構(gòu)中,Matlab 語(yǔ)句是按照書寫的前后順序來(lái)執(zhí)
65、行的。這是Matlab最常用的程序結(jié)構(gòu),也是執(zhí)行效率最高的程序結(jié)構(gòu)。</p><p> (2).循環(huán)結(jié)構(gòu)for</p><p> for...end語(yǔ)句適合于循環(huán)次數(shù)確定的情況,將循環(huán)變量的初值,判別和變化放在循環(huán)開(kāi)頭。利用help for或doc for可以獲得關(guān)于該語(yǔ)句的使用手冊(cè)。for...end語(yǔ)句的調(diào)用形式是:</p><p> 1 for v=表
66、達(dá)式</p><p><b> 2 語(yǔ)句1;</b></p><p><b> 3 ....</b></p><p><b> 4 語(yǔ)句n;</b></p><p><b> 5 end</b></p><p> (3).
67、 條件分支結(jié)構(gòu)if</p><p> if 分支結(jié)構(gòu)的一般形式是:</p><p><b> if 表達(dá)式</b></p><p><b> 語(yǔ)句段1;</b></p><p><b> else</b></p><p><b> 語(yǔ)
68、句段</b></p><p><b> End</b></p><p> 4 差錯(cuò)控制編碼解決加性噪聲</p><p> 差錯(cuò)控制編碼的基本實(shí)現(xiàn)方法[14]是在發(fā)送端將被傳輸?shù)男畔⒏缴弦恍┍O(jiān)督碼元,這些多余的碼元與信息碼元之間以某種確定的規(guī)則相互關(guān)聯(lián)(約束)。接收端按照既定的規(guī)則校驗(yàn)信息碼元與監(jiān)督碼元[15]之間的關(guān)系,一旦傳
69、輸發(fā)生差錯(cuò),則信息碼元與監(jiān)督碼元的關(guān)系就受到破壞,從而接收端可以發(fā)現(xiàn)錯(cuò)誤乃至糾正錯(cuò)誤[16]。下面我將分四種情況對(duì)差錯(cuò)控制編碼解決加性噪聲的問(wèn)題進(jìn)行研究和討論。</p><p> 4.1 無(wú)噪聲無(wú)編碼</p><p> 在無(wú)噪聲無(wú)編碼情況下,應(yīng)該是沒(méi)有誤碼出現(xiàn)的,下面運(yùn)行程序一驗(yàn)證結(jié)果是否正確。(程序見(jiàn)附錄)</p><p> 程序一設(shè)計(jì)思路:首先產(chǎn)生一信息序
70、列,將信息序列改為波形singl,畫出singl的波形,然后對(duì)singl進(jìn)行采樣、判決,最后將判決結(jié)果result(序列)改為波形out,并畫出out波形,計(jì)算誤碼率。</p><p> 運(yùn)行程序一得到的結(jié)果和波形如下圖所示:</p><p> 圖4-1 無(wú)噪聲無(wú)編碼時(shí)的仿真</p><p> 由程序的運(yùn)行結(jié)果和波形可知:在無(wú)噪聲無(wú)編碼情況下,發(fā)送信號(hào)1010
71、110010,接收到的信號(hào)也是1010110010,沒(méi)有誤碼出現(xiàn)。errorrate =0.00,誤碼率為0。</p><p> 4.2 無(wú)噪聲有編碼</p><p> 由4.1可知,在無(wú)噪聲無(wú)編碼情況下,沒(méi)有誤碼出現(xiàn),所以在無(wú)噪聲有編碼情況下,就更不應(yīng)該有誤碼了。下面運(yùn)行程序二看結(jié)果是否正確。</p><p> 程序二設(shè)計(jì)思路:首先產(chǎn)生一信息序列,將信息序列
72、改為波形singl,畫出singl的波形,然后對(duì)信息序列進(jìn)行編碼,將編碼結(jié)果改為波形codesingl,畫出codesingl的波形,對(duì)codesingl進(jìn)行采樣、判決,最后將判決結(jié)果進(jìn)行譯碼,將譯碼結(jié)果改為波形out,并畫出out波形,計(jì)算誤碼率。</p><p> 運(yùn)行程序二得到的結(jié)果和波形:</p><p> 圖4-2 無(wú)噪聲有編碼時(shí)的仿真</p><p>
73、; 由程序的運(yùn)行結(jié)果和波形:在無(wú)噪聲有編碼情況下,發(fā)送信號(hào)1010110010,接收到的信號(hào)也是1010110010,沒(méi)有誤碼出現(xiàn)。errorrate=0.00,誤碼率為0。</p><p> 4.3 有噪聲無(wú)編碼</p><p> 我們知道,誤碼是由噪聲產(chǎn)生的。那么在有噪聲情況下,就應(yīng)該有誤碼出現(xiàn)。下面運(yùn)行程序三看結(jié)果是不是正確。</p><p> 程序三
74、設(shè)計(jì)思路:首先產(chǎn)生一信息序列,將信息序列改為波形singl,畫出singl的波形,然后把噪聲加入信號(hào)當(dāng)中,畫出加入噪聲后的信號(hào)波形noisesingl,再對(duì)noisesingl進(jìn)行采樣、判決,將判決結(jié)果改為輸出波形,計(jì)算誤碼率,對(duì)比沒(méi)有加入噪聲時(shí)的誤碼率并得出結(jié)論。</p><p> 運(yùn)行程序三得到的結(jié)果和波形:</p><p> 圖4-3 有噪聲無(wú)編碼時(shí)的仿真</p>
75、<p> 噪聲幅度為0.3,errorrate =0.07。由程序的運(yùn)行結(jié)果和波形,我們看出:在有噪聲,無(wú)編碼情況下,發(fā)送信號(hào)0101011111,接收到的信號(hào)是1111011111,有誤碼出現(xiàn)。由4.1和4.3說(shuō)明誤碼是由噪聲引起的。</p><p> 4.4 有噪聲有編碼</p><p> 4.4.1 有噪聲有hamming(7,4)碼</p><p
76、> 有噪聲時(shí),就有可能會(huì)引起誤碼產(chǎn)生,而hamming(7,4)編碼在理論上應(yīng)該可以很好的降低誤碼率,下面我們就通過(guò)運(yùn)行程序四來(lái)驗(yàn)證是不是這樣。</p><p> 程序四設(shè)計(jì)思路:首先產(chǎn)生一信息序列,將信息序列改為波形singl,畫出singl的波形,把噪聲加入信號(hào)當(dāng)中,畫出加入噪聲后的信號(hào)波形noisesingl,然后加入“7,4漢明”編碼,畫出噪聲幅度為0.3、有“7,4漢明”編碼時(shí)的輸出波形,并計(jì)
77、算誤碼率。</p><p> 圖4-4 噪聲幅度為0.3時(shí)有無(wú)hamming碼的仿真</p><p> 由程序的運(yùn)行結(jié)果和波形知:在有噪聲無(wú)編碼情況下,發(fā)送信號(hào)0110011110,接收到的信號(hào)是0110101010,有誤碼出現(xiàn);在有噪聲有hamming(7,4)編碼情況下,發(fā)送信號(hào)0110011110,接收到的信號(hào)是0110011010,誤碼減少。這就說(shuō)明hamming(7,4)編碼
78、可以有效降低誤碼率。</p><p> 下面我們?cè)黾釉肼暦鹊?.6,看程序的運(yùn)行結(jié)果和波形:</p><p> 圖4-5 噪聲幅度為0.6時(shí)有無(wú)hamming碼的仿真</p><p> 沒(méi)有編碼情況下的誤碼率:errorrate =0.20,有hamming(7,4)編碼情況下的誤碼率:errorrate1 =0.15。由程序的運(yùn)行結(jié)果和波形:當(dāng)噪聲幅度增加
79、到一定程度時(shí),hamming(7,4)編碼并不能很好的解決誤碼問(wèn)題。hamming(7,4)編碼是一個(gè)可以糾正單個(gè)隨機(jī)錯(cuò)誤的編碼,當(dāng)噪聲幅度增加到一定程度時(shí),隨著誤碼數(shù)的增加,hamming(7,4)編碼就不太適用了,那么當(dāng)噪聲幅度增加時(shí),我們?cè)撌褂檬裁礃拥木幋a呢? </p><p> 4.4.2 有噪聲有BCH(7,4)編碼</p><p> 當(dāng)BCH也采用(7,4)編碼時(shí),它的功能
80、應(yīng)該和hamming(7,4)編碼差不多,因?yàn)樗鼈兌际侵荒芗m正單個(gè)隨機(jī)錯(cuò)誤的編碼。程序五、六的設(shè)計(jì)思路與程序四十分相似,只需要將hamming碼換成BCH碼,并作一些適當(dāng)?shù)男薷木涂梢粤恕?lt;/p><p> 運(yùn)行程序五得到的結(jié)果和波形:</p><p> 圖4-6 噪聲幅度為0.3時(shí)有無(wú)bch(7,4)碼的仿真</p><p> 噪聲幅度為0.3,沒(méi)有編碼情況下
81、的誤碼率:errorrate =0.07,有BCH(7,4)編碼情況下的誤碼率:errorrate1 =0.03。</p><p> 由程序的運(yùn)行結(jié)果和波形可得:BCH(7,4)編碼,它的功能和hamming(7,4)編碼差不多。</p><p> 4.4.3 有噪聲有BCH(15,5)編碼</p><p> 我們知道BCH(15,5)編碼是可以糾正3個(gè)隨機(jī)錯(cuò)
82、誤的編碼,那么它能不能更好的降低誤碼率呢?運(yùn)行程序六得到的結(jié)果和波形:</p><p> 圖4-7 噪聲幅度為0.3時(shí)有無(wú)bch(15,5)碼的仿真</p><p> 噪聲幅度為0.3,沒(méi)有編碼情況下的誤碼率:errorrate =0.10,有BCH(15,5)編碼情況下的誤碼率:errorrate1 =0.02。</p><p> 由程序的運(yùn)行結(jié)果和波形得:
83、在有噪聲,無(wú)編碼情況下,發(fā)送信號(hào)1010011101,接收到的信號(hào)是1110010101,有誤碼出現(xiàn);在有噪聲,有BCH(15,5)編碼情況下,發(fā)送信號(hào)1010011101,接收到的信號(hào)是1010010101,誤碼減少。這就說(shuō)明BCH(15,5)編碼可以有效降低誤碼率。</p><p> 下面我們?cè)黾釉肼暦鹊?.6,看程序的運(yùn)行結(jié)果和波形:</p><p> 圖4-8 噪聲幅度為0.
84、6時(shí)有無(wú)bch(15,5)碼的仿真</p><p> 沒(méi)有編碼情況下的誤碼率:errorrate =0.21;有BCH(15,5)編碼情況下的誤碼率:errorrate1 =0.04。</p><p> 由程序的運(yùn)行結(jié)果和波形,我們看出:盡管在噪聲幅度為0.6時(shí),經(jīng)過(guò)BCH(15,5)編碼情況下的輸出仍然有0.04的誤碼率,但和hamming(7,4)編碼相比,它更好的降低了誤碼率。當(dāng)
85、然它是以增加冗余度為代價(jià)換來(lái)的。所以我們要在不同的情況下,選擇不同的編碼方式,才能最好的實(shí)現(xiàn)數(shù)據(jù)傳輸。</p><p> 結(jié)論:通過(guò)對(duì)有無(wú)噪聲,有無(wú)編碼4種情況的仿真,可以看出誤碼主要是由噪聲引起的,而使用差錯(cuò)控制編碼可以有效的降低誤碼率[17]。下面是對(duì)不同噪聲強(qiáng)度情況下的誤碼率仿真統(tǒng)計(jì):</p><p> 表2 不同噪聲幅度下有無(wú)編碼時(shí)的誤碼率</p><p&
86、gt; 數(shù)據(jù)來(lái)源: MATLAB仿真在通信與電子工程中的應(yīng)用</p><p> 由上表可以看出在噪聲強(qiáng)度比較低時(shí),差錯(cuò)控制編碼可以很明顯的降低誤碼率,但是在噪聲強(qiáng)度比較高時(shí),只靠單純的差錯(cuò)控制編碼不能很好的解決問(wèn)題,此時(shí)就應(yīng)該采取一些其它的措施,例如合理地選擇調(diào)制制度,調(diào)制方法,以及提高發(fā)送功率等措施。當(dāng)Hamming碼和BCH碼都使用(7,4)編碼時(shí),它們的糾錯(cuò)能力差不多,因?yàn)樗鼈兌贾荒芗m正單個(gè)的隨機(jī)錯(cuò)誤,
87、而當(dāng)BCH碼使用(15,5)編碼時(shí),由于它可以糾正3個(gè)隨機(jī)錯(cuò)誤,所以大大提高了編碼效率,不過(guò)是以增加冗余度為代價(jià)的。</p><p><b> 結(jié)束語(yǔ)</b></p><p> 通過(guò)半個(gè)學(xué)期的努力,終于在6月初完成了畢業(yè)設(shè)計(jì),在做畢業(yè)設(shè)計(jì)期間得到了來(lái)自老師和同學(xué)的大力幫助,這使我深深的體會(huì)到團(tuán)結(jié)協(xié)助的力量.通過(guò)做畢業(yè)設(shè)計(jì),鍛煉了我獨(dú)自完成一件事的能力,提高了自我約
88、束力,為走上工作崗位起到了橋梁作用。</p><p> 由于自己對(duì)Matlab編程不熟悉,這給我的畢業(yè)設(shè)計(jì)帶來(lái)了很大的麻煩,不過(guò)最后還是在老師和同學(xué)的幫忙下,讓我找到了對(duì)Matlab編程的一些思路?!安铄e(cuò)控制編碼解決加性噪聲”對(duì)于老師來(lái)說(shuō)可能是一個(gè)老題目,但對(duì)我來(lái)說(shuō)還是很新鮮,盡管以前學(xué)過(guò)差錯(cuò)控制編碼的原理知識(shí),但用仿真的方法對(duì)差錯(cuò)控制編碼進(jìn)行校驗(yàn)還是第一次,這不僅加深了我最對(duì)差錯(cuò)控制編碼理論的認(rèn)識(shí)和理解,也使
89、我懂得了如何對(duì)一個(gè)理論進(jìn)行自己的研究或驗(yàn)證。</p><p><b> 致 謝</b></p><p> 經(jīng)歷了一個(gè)學(xué)期的畢業(yè)設(shè)計(jì),在這段時(shí)間里,它不僅僅使我學(xué)到了寶貴的專業(yè)知識(shí),更重要的是它使我學(xué)到了怎樣去獨(dú)立思考問(wèn)題,解決問(wèn)題,大大提高了我自己的動(dòng)手能力和操作能力,為我今后的工作奠定堅(jiān)實(shí)的基礎(chǔ)。</p><p> 本文從選題的確定,
90、論文的寫作、修改到最后定稿得到了我的指導(dǎo)老師 的悉心指導(dǎo)。特別是她多次詢問(wèn)寫作進(jìn)程,并為我指點(diǎn)迷津,幫助我開(kāi)拓思路,精心點(diǎn)撥,熱忱鼓勵(lì)。她嚴(yán)肅的教學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng)深深地感染和激勵(lì)著我。在此,謹(jǐn)向 老師致以誠(chéng)摯的謝意和崇高的敬意。</p><p> 感謝所有在畢業(yè)設(shè)計(jì)中曾經(jīng)幫助過(guò)我的良師益友和同學(xué),以及在設(shè)計(jì)中被我引用或參考的論著的作者,謝謝!</p><p&
91、gt; 在這次編寫設(shè)計(jì)報(bào)告中,由于時(shí)間的緊促和編寫者的專業(yè)知識(shí)的有限,再加上我們?nèi)鄙賹?shí)踐經(jīng)驗(yàn),對(duì)使得所寫的畢業(yè)論文的知識(shí)覆蓋面有很大的局限性,而且報(bào)告中難免有很多不妥之處,所以我懇請(qǐng)各位指導(dǎo)老師能夠給予批評(píng)指正。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]樊昌信. 通信原理[M]. 北京:國(guó)防工業(yè)出版社,2001,1-100 </
92、p><p> [2]張賢達(dá),通信信號(hào)處理[M]. 北京:國(guó)防工業(yè)出版社,2000,5-200</p><p> [3]李斯偉,雷新生. 數(shù)據(jù)通信技術(shù)[M]. 北京:人民郵電出版社,2004,100-150</p><p> [4]曹志剛,錢亞生. 現(xiàn)代通信原理[M]. 北京:清華大學(xué)出版社,1992,1-200</p><p> [5]樂(lè)
93、光新. 數(shù)據(jù)通信原理[M]. 北京:人民郵電出版社,1988,80-130</p><p> [6]郭梯云. 數(shù)據(jù)傳輸[M]. 北京:人民郵電出版社,1998,50-70</p><p> [7]張輝,曹麗娜. 現(xiàn)代通信原理與技術(shù)[M]. 西安:西安電子科技大學(xué)出版社,1999,40-100</p><p> [8]王新梅. 糾錯(cuò)碼-原理與方法[M]. 西安:
94、西安電子科技大學(xué)出版社,1991,1-100</p><p> [9]徐明遠(yuǎn),邵玉斌. MATLAB仿真在通信與電子工程中的應(yīng)用[M],西安:西安電子科技大學(xué)出版社, 2005,1-140</p><p> [10]鄧華等. MATLAB通信仿真及應(yīng)用實(shí)例詳解[J]. 北京:人民郵電出版社,2003,1-100</p><p> [11]朱衡君,肖燕彩,邱成.
95、 MATLAB語(yǔ)言及實(shí)踐教程[J]. 北京:北京交通大學(xué)出版社,2005,100-150</p><p> [12]張明照,劉政波,劉斌等. 應(yīng)用MATLAB實(shí)現(xiàn)信號(hào)分析和處理[J]. 北京:科學(xué)出版社,2006,50-79</p><p> [13]M. K. Simon and C. C. Wang. Differential detection of Gaussian MSK m
96、obile radio environment[J]. IEEE Trans. Veh. Techno, 1984, 307-320. </p><p> [14]Giulio Colavolpe, Gianhuigi Ferrari, Riccardo Raheli. Noncoherent iterative (Turbo) decoding[J]. IEEE Trans, Commun, 2000, 14
97、8-168. </p><p> [15]李霞. 電子與通信專業(yè)英語(yǔ)[M]. 電子工業(yè)出版社,2005,30-48</p><p> [16]常義林. 通信工程專業(yè)英語(yǔ)[M]. 西安:西安電子科技大學(xué)出版社,2004,20-50</p><p> [17]H. Mathis. Differential detection of GMSK signals wit
98、h low BT using the SOVA[J]. IEEE. Commun, 1998, 128-150. </p><p><b> 附錄.m程序</b></p><p> 程序一. 無(wú)噪聲,無(wú)編碼</p><p> infor=randsrc(1,100,[0,1]); %產(chǎn)生信息infor(序列)</
99、p><p> for n=1:100 %將infor改為波形singl</p><p> for m=1:10</p><p> i=(n-1)*10+m;</p><p> singl(i)=infor(n);</p><p><b> end</b&
100、gt;</p><p><b> end </b></p><p> subplot(2,1,1);plot(0:0.01:9.99,singl),title('輸入信號(hào)') %畫出singl的波形</p><p> axis([0 1 -1 2]);</p><p> for n=1:1
101、00 %對(duì)singl進(jìn)行采樣,判決(門限為0.5)</p><p> for m=1:10</p><p> i=(n-1)*10+m;</p><p> result(n)=singl(i);</p><p> if result(n)>0.5</p><p>
102、 result(n)=1;</p><p> else result(n)=0</p><p><b> end</b></p><p><b> end</b></p><p><b> end</b></p><p> for n=1:1
103、00 %將判決結(jié)果result(序列)改為波形out</p><p> for m=1:10</p><p> i=(n-1)*10+m;</p><p> out(i)=result(n);</p><p><b> end</b></p><p&g
104、t;<b> end</b></p><p> subplot(2,1,2);plot(0:0.01:9.99,out),title('輸出信號(hào)'),xlabel('時(shí)間') %畫出的out波形</p><p> axis([0 1 -1 2]);</p><p> error=infor-resul
105、t; %計(jì)算誤碼率</p><p> error=abs(error);</p><p> errorrate=sum(error)/100</p><p> 程序二. 無(wú)噪聲,有編碼</p><p> infor=randsrc(1,100,[0,1]); %產(chǎn)生信息infor
106、(序列)</p><p> for n=1:100 %將infor改為波形singl</p><p> for m=1:10</p><p> i=(n-1)*10+m;</p><p> singl(i)=infor(n);</p><p><b> e
107、nd</b></p><p><b> end</b></p><p> subplot(3,1,1);plot(0:0.01:9.99,singl),title('輸入信號(hào)') %畫出singl的波形</p><p> axis([0 1 -1 2]);</p><p>
108、x=encode(infor,7,4,'hamming');x=x' %對(duì)infor進(jìn)行“7,4漢明”編碼</p><p> for n=1:175 %將編碼結(jié)果x(序列)改為波形codesingl</p><p> for m=1:10</p><p> i=(n-1)*10+m;&l
109、t;/p><p> codesingl(i)=x(n);</p><p><b> end</b></p><p><b> end</b></p><p> subplot(3,1,2);plot(0:0.01:17.49,codesingl),title('漢明碼波形')
110、 %畫出codesingl的波形</p><p> for n=1:175 %對(duì)codesingl進(jìn)行采樣,判決(門限為0.5)</p><p> for m=1:10</p><p> i=(n-1)*10+m;</p><p> result(n)=codesingl(i);</
111、p><p> if result(n)>0.5</p><p> result(n)=1;</p><p> else result(n)=0</p><p><b> end</b></p><p><b> end</b></p><p&g
112、t;<b> end</b></p><p> y=decode(result,7,4,'hamming');y=y' %將判決結(jié)果result(序列)進(jìn)行譯碼</p><p> for n=1:100 %將解碼結(jié)果y(序列)改為波形out</p><p>
113、 for m=1:10</p><p> i=(n-1)*10+m;</p><p> out(i)=y(n);</p><p><b> end</b></p><p><b> end</b></p><p> subplot(3,1,3);plot(0:0.0
114、1:9.99,out),title('輸出信號(hào) '),xlabel('時(shí)間') %畫出的out波形</p><p> axis([0 1 -1 2]);</p><p> error=infor-y; %計(jì)算誤碼率</p><p> error=abs(error);</p&
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于matlab的差錯(cuò)控制技術(shù)仿真畢業(yè)論文
- 脈沖噪聲環(huán)境下編碼信道的抗噪聲性能畢業(yè)論文
- 脈沖編碼調(diào)制的matlab仿真【畢業(yè)論文】
- 畢業(yè)論文--數(shù)字pid控制的仿真研究
- 基于fpga的差錯(cuò)控制編碼的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)】
- 電梯控制系統(tǒng)的仿真設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文----燃燒過(guò)程控制綜合仿真控制
- 畢業(yè)論文--光伏逆變器的并網(wǎng)控制仿真
- “育鯤”輪空調(diào)系統(tǒng)噪聲的分析及控制【畢業(yè)論文】
- 畢業(yè)論文---關(guān)于出納現(xiàn)金差錯(cuò)及防范的探討
- 閃存控制器中差錯(cuò)控制編碼研究.pdf
- 畢業(yè)論文----分?jǐn)?shù)階控制系統(tǒng)仿真研究
- 電廠化學(xué)加藥畢業(yè)論文
- 可伸縮視頻編碼的差錯(cuò)控制方法研究.pdf
- 分?jǐn)?shù)階控制系統(tǒng)仿真研究畢業(yè)論文
- pcm編碼器畢業(yè)論文
- 無(wú)線編碼遙控門鈴畢業(yè)論文
- 略論噪聲污染治理畢業(yè)論文
- 基于matlab的模糊控制系統(tǒng)仿真設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文--舞廳彩燈控制器的設(shè)計(jì)與仿真
評(píng)論
0/150
提交評(píng)論