奇偶校驗-通信原理課程設(shè)計_第1頁
奇偶校驗-通信原理課程設(shè)計_第2頁
奇偶校驗-通信原理課程設(shè)計_第3頁
奇偶校驗-通信原理課程設(shè)計_第4頁
奇偶校驗-通信原理課程設(shè)計_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、西南科技大學(xué)通信原理設(shè)計報告 課程名稱: 通信原理課程設(shè)計 設(shè)計名稱: 奇偶校驗編碼仿真 姓 名: 王雷 學(xué) 號: 20105615 班 級: 通信1004 指導(dǎo)教師: 秦明偉 起止日期: 2013年7月5日星期五 西南科技大學(xué)信息工程學(xué)院制11 / 11方 向 設(shè) 計 任 務(wù) 書學(xué)生班級: 通信1004 學(xué)生姓名: 王雷 學(xué)號: 20105615 設(shè)計名稱: 奇偶校驗編碼仿真 起止日期: 2013年7月5日星期五 指導(dǎo)教師: 秦明偉 設(shè)計要求:(1)基于MATLAB編寫M文件,實現(xiàn)CRC編碼的奇偶校驗,數(shù)據(jù)幀長8bit,校驗位1bit;(2)仿真中要體現(xiàn)出有錯誤bit時的校驗情況,且要求錯誤

2、時自動報錯;方 向 設(shè) 計 學(xué) 生 日 志時間設(shè)計內(nèi)容2013年7月1日了解題目要求和設(shè)計內(nèi)容2013年7月2日查詢資料學(xué)習(xí)matlab的使用2013年7月3日實驗內(nèi)容設(shè)計2013年7月5日調(diào)試程序,更改錯誤,編寫報告奇偶校驗編碼仿真 一、 摘要(150-250字)奇偶校驗是一種校驗代碼傳輸正確性的方法。根據(jù)被傳輸?shù)囊唤M二進(jìn)制代碼的數(shù)位中“1”的個數(shù)是奇數(shù)或偶數(shù)來進(jìn)行校驗。采用奇數(shù)的稱為奇校驗,反之,稱為偶校驗。采用何種校驗是事先規(guī)定好的。通常專門設(shè)置一個奇偶校驗位,用它使這組代碼中“1”的個數(shù)為奇數(shù)或偶數(shù)。若用奇校驗,則當(dāng)接收端收到這組代碼時,校驗“1”的個數(shù)是否為奇數(shù),從而確定傳輸代碼的正

3、確性。二、 設(shè)計目的和意義認(rèn)識matlab軟件,學(xué)習(xí)掌握matlab的基本操作方法,熟悉M文件和simulink的具體實現(xiàn)方法,了解數(shù)據(jù)奇偶校驗的原理和在matlab中的基本仿真,通過對簡單的通信實驗設(shè)計,提高了動手能力和對matlab操作,鞏固了課程知識。三、 設(shè)計原理 在數(shù)據(jù)傳輸前附加一位奇校驗位,用來表示傳輸?shù)臄?shù)據(jù)中"1"的個數(shù)是奇數(shù)還是偶數(shù),為奇數(shù)時,校驗位置為"0",否則置為"1",用以保持?jǐn)?shù)據(jù)的奇偶性不變。例如,需要傳輸"11001110",數(shù)據(jù)中含5個"1",所以其奇校驗位為&qu

4、ot;0",同時把"110011100"傳輸給接收方,接收方收到數(shù)據(jù)后再一次計算奇偶性,"110011100"中仍然含有5個"1",所以接收方計算出的奇校驗位還是"0",與發(fā)送方一致,表示在此次傳輸過程中未發(fā)生錯誤。奇偶校驗就是接收方用來驗證發(fā)送方在傳輸過程中所傳數(shù)據(jù)是否由于某些原因造成破壞。 奇偶校驗原理是基于異或的邏輯功能。奇偶校驗的編碼方法是在原信號碼組后面添加以為監(jiān)督碼元,奇偶校驗分為奇校驗和偶校驗,奇校驗是原信息碼元加上監(jiān)督碼元后,使整個組成的數(shù)碼組中,1的個數(shù)為奇數(shù)個。偶校驗的工作原理則正好與

5、奇校驗相反。 對于n位二進(jìn)碼a1a2a3a4an奇校驗有如下表示:a1a2a3a4anC=1 偶校驗的表達(dá)式為:a1a2a3a4anC =1 其中,C為監(jiān)督碼元,在本設(shè)計中n為8,可以推出C的表達(dá)式為:C =a1a2a3a4a8、 在發(fā)送端讓其監(jiān)督碼和信息碼一起發(fā)送,在信息接收端,計算校驗因子的表達(dá)式為:S=a1a2a3a4anC四、 詳細(xì)設(shè)計步驟 1.創(chuàng)建一個M文件,保存到自定義的文件夾中。2.在M文件中,首先利用rand函數(shù)隨機生成一組八位的只包含0和1的數(shù)組a,設(shè)置當(dāng)a(n)大于0.5時,設(shè)a(n)為1,小于0.5,則為0,這樣0和1等概率出現(xiàn),即出現(xiàn)一組隨機等概率的八位都為0或者1的數(shù)

6、組。3.同樣用rand函數(shù)生成一組八位的只含有0和1的數(shù)組b,但是要設(shè)置當(dāng)b(n)大于0.95時,才給其賦值為1,其他為0,這樣在異或的邏輯檢測中容易檢測到錯誤序列,其中的0.95是一個自己可以設(shè)定的概率大小,本設(shè)計選擇0.95.4.利用已知的數(shù)組a相互異或生成數(shù)C,利用數(shù)組a和b對應(yīng)相互異或生成數(shù)組c,然后用c和數(shù)C分別模擬接受到的八位有效位和校驗位。5.把C和c相互異或可以生成數(shù)S,當(dāng)S大于0時,則表示b中有1的出現(xiàn),既某些位錯誤傳輸了,當(dāng)S等于0時,則表示原有效數(shù)據(jù)傳輸正確。(由于奇偶校驗只是檢查當(dāng)發(fā)生奇數(shù)數(shù)位變化時,才能夠通過異或的關(guān)系檢測到變化,當(dāng)你錯誤位為偶數(shù)時,不能夠檢測出你傳輸

7、出錯。)6.在程序的開始,初始化S=1,并且設(shè)置只能當(dāng)S大于0時才進(jìn)入到后面的數(shù)據(jù)處理,在程序的結(jié)尾,設(shè)置了一個判斷打印函數(shù)和一個斷點函數(shù)pause,這樣當(dāng)有錯誤產(chǎn)生的時候,可以提示錯誤警告,在從新點擊enter鍵時,程序會再次傳輸一次,一直到S=0,即傳輸沒有錯誤產(chǎn)生。7.在M文件中點擊運行,觀察實驗結(jié)果,本實驗未來更加直觀的感受到數(shù)據(jù)傳輸和接受的情況,在傳輸?shù)臄?shù)據(jù)賦值為send,接收數(shù)據(jù)為receive。該M文件中,程序利用校驗因子S用于判斷傳輸途中是否有錯,從而決定信號是否被重新傳輸;程序利用隨機數(shù)列b模擬使傳輸信號出錯率為5%的干擾信號。程序中的while循環(huán)中被加入了一個pause命

8、令。在pause的作用下,當(dāng)程序模擬一次信號傳輸后,不管模擬的傳輸信號是否需要被重傳,程序都將暫停執(zhí)行。在程序結(jié)束運行之后,如果前一次循環(huán)傳輸成功(即S=0),則用戶在按下【Enter】鍵后程序結(jié)束運行;如果前一次循環(huán)傳輸有錯(即S=1),則用戶按下【Enter】鍵后,程序?qū)⒃俅芜M(jìn)入while循環(huán),如此反復(fù)直到傳輸成功(即S=0),程序運行結(jié)束。實驗M文件源程序:clc;clear;a=rand(1,8);S=1;while S>0 b=rand(1,8) for i=1:8 if a(i)>0.5 a(i)=1 else a(i)=0 end if b(i)>0.95 b(

9、i)=1 else b(i)=0 end c(i)=a(i)+b(i) if c(i)=2 c(i)=0 endendsend=a;receive=cfor i=1:7 send (i+1)=send (i)*not(send (i+1)+not(send (i)*send (i+1) receive (i+1)=receive (i)*not(receive (i+1)+not(receive (i)*receive (i+1)endC=send(8)B=receive(8)S=B*not(C)+not(B)*C if S=1 fprintf('傳輸錯誤,請重傳!') end

10、 pause; end五、 設(shè)計結(jié)果及分析1. 在M文件中點擊運行后,在command window窗口觀察實驗結(jié)果并截圖: 傳輸數(shù)據(jù)為【01000110】接收數(shù)據(jù)為【01000110】校驗碼S值為0傳輸過程沒有出現(xiàn)錯誤2.當(dāng)傳輸出現(xiàn)錯誤時如下圖所示 校驗碼S值為1說明傳輸出現(xiàn)錯誤,按【Enter】鍵進(jìn)行重新傳輸,如果還是有錯則再次按【Enter】鍵重新傳輸直至正確,按【Enter】鍵結(jié)束程序。六、 總結(jié)奇偶校驗是帶有一段信息關(guān)聯(lián)的冗余信息,帶奇偶校驗的帶區(qū)集意味著每行有一個附加的奇偶校驗帶區(qū)。因此,必須使用至少三個(而不是兩個)磁盤才能考慮該附加的奇偶校驗信息。奇偶校驗帶區(qū)包括該帶區(qū)內(nèi)數(shù)據(jù)的

11、XOR(稱為排它性“或”的布爾操作)。重新生成失敗的磁盤時,WindowsNTServer將使用這些帶區(qū)中與完好磁盤上數(shù)據(jù)關(guān)聯(lián)的奇偶校驗信息重新在失敗盤上創(chuàng)建數(shù)據(jù)。奇偶校驗?zāi)軌驒z測出信息傳輸過程中的部分誤碼(1位誤碼能檢出,2位及2位以上誤碼不能檢出),同時,它不能糾錯。在發(fā)現(xiàn)錯誤后,只能要求重發(fā)。但由于其實現(xiàn)簡單,仍得到了廣泛使用。為了能檢測和糾正內(nèi)存軟錯誤,首先出現(xiàn)的是內(nèi)存“奇偶校驗”。內(nèi)存中最小的單位是比特,也稱為“位”,位只有兩種狀態(tài)分別以1和0來標(biāo)示,每8個連續(xù)的比特叫做一個字節(jié)(byte)。不帶奇偶校驗的內(nèi)存每個字節(jié)只有8位,如果其某一位存儲了錯誤的值,就會導(dǎo)致其存儲的相應(yīng)數(shù)據(jù)發(fā)生

12、變化,進(jìn)而導(dǎo)致應(yīng)用程序發(fā)生錯誤。而奇偶校驗就是在每一字節(jié)(8位)之外又增加了一位作為錯誤檢測位。在某字節(jié)中存儲數(shù)據(jù)之后,在其8個位上存儲的數(shù)據(jù)是固定的,因為位只能有兩種狀態(tài)1或0,假設(shè)存儲的數(shù)據(jù)用位標(biāo)志為1、1、1、0、0、1、0、1,那么把每個位相加(1+1+1+0+0+1+0+1=5),結(jié)果是奇數(shù)。對于偶校驗,校驗位就定義為1,反之則為0;對于奇校驗,則相反。當(dāng)CPU讀取存儲的數(shù)據(jù)時,它會再次把前8位中存儲的數(shù)據(jù)相加,計算結(jié)果是否與校驗位相一致。從而一定程度上能檢測出內(nèi)存錯誤,奇偶校驗只能檢測出錯誤而無法對其進(jìn)行修正,同時雖然雙位同時發(fā)生錯誤的概率相當(dāng)?shù)停媾夹r瀰s無法檢測出雙位錯誤。奇

13、偶監(jiān)督碼是一種增加二進(jìn)制傳輸系統(tǒng)最小距離的簡單和廣泛采用的方法。例如,單個的奇偶監(jiān)督將使碼的最小距離由一增加到二。一個二進(jìn)碼字,如果它的碼元有奇數(shù)個1,就稱為具有奇性。例如,碼字“1011010111”有七個1,因此,這個碼字具有奇性。同樣,偶性碼字具有偶數(shù)個1。注意奇性檢測等效于所有碼元的模二加,并能夠由所有碼元的異或運算來確定。對于一個n位字,奇性下式給出:奇性=a0a1a2an(8-1)很明顯,用同樣的方式,我們也能夠根據(jù)每一個碼字的零的個數(shù)來構(gòu)成奇偶監(jiān)督。單個的奇偶監(jiān)督碼可描述為:給每一個碼字加一個監(jiān)督位,用它來構(gòu)成奇性或偶性監(jiān)督。在一個典型系統(tǒng)里,在傳輸以前,由奇偶發(fā)生器把奇偶監(jiān)督位

14、加到每個字中。原有信息中的數(shù)字在接收機中被檢測,如果沒有出現(xiàn)正確的奇、偶性,這個信息標(biāo)定為錯誤的,這個系統(tǒng)將把錯誤的字拋掉或者請求重發(fā)。注意,用單個的奇偶監(jiān)督碼僅能檢出奇數(shù)個碼元的錯誤。Matlab是一種方便的容易上手的數(shù)學(xué)軟件,其軟件編寫語言和其他程序語言相通,并且更加靈活,在其中創(chuàng)建M文件可以很好的模擬本次奇偶校驗的實驗現(xiàn)象。通過在其中的simulink中添加控件模塊,能夠更加直觀的感受到本次實驗的通信傳輸特性。在本次實驗中,實驗的內(nèi)容相對簡單,概念容易理解,在M文件中,利用了matlab固有的rand函數(shù)和pause等語句,簡單的在異或的關(guān)系上實現(xiàn)了奇偶校驗的仿真,并且能夠體現(xiàn)數(shù)據(jù)在真實

15、傳輸過程中的誤差性,當(dāng)數(shù)據(jù)在傳輸出現(xiàn)錯誤的時候,會提示傳輸錯誤并且從新傳輸直到傳輸正確為止。七、 體會在本次實驗中,通過對實現(xiàn)實驗?zāi)康牡囊徊讲窖芯?,讓我學(xué)習(xí)到了查閱資料,操作matlab軟件的一些基本方法,也讓我深刻認(rèn)識到了自學(xué)能力的重要性。在實驗之初,我對于matlab了解很少,只是知道它是一款非常流行的數(shù)學(xué)軟件,在國內(nèi)外的數(shù)學(xué)研究上有舉足輕重的地位,在這次實驗中,我發(fā)現(xiàn)原來matlab還有更多的應(yīng)用功能,比如在通信的實驗仿真,在物理電路等實驗的仿真。本次實驗讓我更加深刻的理解了奇偶校驗的原理,奇偶校驗是一種比較簡單的解決通信傳輸誤差的分析方法,在一般要求不高的通信傳輸中有著重要的作用,能夠

16、避免大部分傳輸誤差,由于其原理簡單,容易實現(xiàn),因此在通信傳輸方面得到了廣泛的應(yīng)用和發(fā)展,這次試驗我從根本上了解了其通信傳輸?shù)脑砗蛯崿F(xiàn)方法,在簡單的仿真實驗中,加深了對matlab軟件的認(rèn)識,也提高了自己的動手操作能力,了解了關(guān)于matlab的M文件和simulink的基本操作,也認(rèn)識了matlab的一些重要的函數(shù)。在學(xué)習(xí)之初,我在圖書館借閱了基本關(guān)于matlab的軟件書籍,通過這些書籍,我了解了matlab的一些基本方法,同時,我在網(wǎng)絡(luò)中也找到了一些關(guān)于matlab的學(xué)習(xí)資料,這樣,我先熟悉的掌握了matlab的操作方法之后,再結(jié)合奇偶校驗的原理,很快我就明白了仿真的原理,并且自己試著改編,調(diào)試,這樣一步步實現(xiàn)了整個設(shè)計。本設(shè)計的要求是只在M文件下實現(xiàn)八位數(shù)據(jù)和一位校驗碼的傳輸,不過,我同時增加了在simulink中的仿真,其原理都是大同小異

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論