![CRC循環(huán)冗余校驗(yàn)碼課設(shè)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/5/9f94be27-238e-4a95-9ca2-8f4f5987be4f/9f94be27-238e-4a95-9ca2-8f4f5987be4f1.gif)
![CRC循環(huán)冗余校驗(yàn)碼課設(shè)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/5/9f94be27-238e-4a95-9ca2-8f4f5987be4f/9f94be27-238e-4a95-9ca2-8f4f5987be4f2.gif)
![CRC循環(huán)冗余校驗(yàn)碼課設(shè)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/5/9f94be27-238e-4a95-9ca2-8f4f5987be4f/9f94be27-238e-4a95-9ca2-8f4f5987be4f3.gif)
![CRC循環(huán)冗余校驗(yàn)碼課設(shè)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/5/9f94be27-238e-4a95-9ca2-8f4f5987be4f/9f94be27-238e-4a95-9ca2-8f4f5987be4f4.gif)
![CRC循環(huán)冗余校驗(yàn)碼課設(shè)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/5/9f94be27-238e-4a95-9ca2-8f4f5987be4f/9f94be27-238e-4a95-9ca2-8f4f5987be4f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、* 實(shí)踐教學(xué) * 蘭州理工大學(xué) 計(jì)算機(jī)與通信學(xué)院 2014年秋季學(xué)期 計(jì)算機(jī)通信課程設(shè)計(jì) 題目:循環(huán)冗余校驗(yàn)碼(CRC的編譯碼仿直實(shí)現(xiàn) 專業(yè)班級(jí):通信工程(1)班 姓名: 學(xué)號(hào): 指導(dǎo)教師: 成績:摘要 CRCM循環(huán)冗余校驗(yàn)碼(CyclicRedundancyCheck)是數(shù)據(jù)通信領(lǐng)域中最常用的一種差錯(cuò)校驗(yàn)碼,其特征是信息字段和校驗(yàn)字段的長度可以任意選定。循環(huán)冗余檢查(CRC是一種數(shù)據(jù) 傳輸檢錯(cuò)功能,對(duì)數(shù)據(jù)進(jìn)行多項(xiàng)式計(jì)算,并將得到的結(jié)果附在幀的后面,接收設(shè)備也執(zhí)行類似的算法,以保證數(shù)據(jù)傳輸?shù)恼_性和完整性。 本次課程設(shè)計(jì)研究了糾錯(cuò)碼及循環(huán)冗余校驗(yàn)碼的原理,以及利用MATLAB寸其進(jìn)行了編碼和
2、譯碼仿真,實(shí)現(xiàn)了CRC1環(huán)冗余校驗(yàn)碼的編碼及校驗(yàn),在接收端收到通過校驗(yàn)的碼,從而確定傳輸過程是否出錯(cuò),得到的結(jié)論和理論上是一致的。關(guān)鍵詞:循環(huán)冗余校驗(yàn)碼;檢錯(cuò)碼;matlab軟件目錄 前言1 第1章循環(huán)冗余校驗(yàn)碼(CRC的基本原理2 1.1 循環(huán)冗余校驗(yàn)碼的基本介紹2 1.2 循環(huán)冗余校驗(yàn)碼的幾個(gè)基本概念2 1.3 循環(huán)冗余校驗(yàn)碼的基本原理3 第2章MATLA瞅件基本介紹5 2 MATLAB的介紹5 2 MATLAB的組成部分5 2 MATLAB的語言特點(diǎn)5 2 MATLAB的優(yōu)勢(shì)6 第3章循環(huán)冗余校驗(yàn)碼(CRC的詳細(xì)設(shè)計(jì)7 CRC循環(huán)冗余校驗(yàn)碼的編碼模塊7 CRC循環(huán)冗余校驗(yàn)碼的譯碼模塊7
3、CRC循環(huán)冗余校驗(yàn)碼的性能分析8 CRC循環(huán)冗余校驗(yàn)碼的生成器和校驗(yàn)器8 CRC循環(huán)冗余校驗(yàn)碼的程序流程圖8 運(yùn)行結(jié)果及其分析10 總結(jié)12 參考文獻(xiàn)13 附錄13 致謝16前言 數(shù)據(jù)通信中的編碼可以分為兩大類,分別是信源編碼和信道編碼。在實(shí)際應(yīng)用中,為了提高數(shù)據(jù)通信的可靠性而采取的編碼稱為信道編碼,也稱做抗干擾編碼。一般來講,數(shù)據(jù)通信要求傳 輸過程中的誤碼率應(yīng)該足夠低,這樣才能真正符合實(shí)際應(yīng)用的具體要求,為了降低數(shù)據(jù)通信線路傳輸?shù)恼`碼率,通常有改善數(shù)據(jù)通信線路傳輸質(zhì)量和差錯(cuò)檢測(cè)控制兩種方法。 實(shí)現(xiàn)差錯(cuò)檢測(cè)控制的方法很多,CR儂驗(yàn)碼是數(shù)據(jù)通信領(lǐng)域中最常用的一種差錯(cuò)校驗(yàn)碼,其特征是信息字段和校驗(yàn)
4、字段的長度可以任意選定。CRCJ驗(yàn)碼,在早期的通信中運(yùn)用廣泛,因?yàn)?早期的通信技術(shù)不夠可靠(不可靠性的來源是通信技術(shù)決定的,比如電磁波通信時(shí)受雷電等因素的影響),不可靠的通信就會(huì)帶來“確認(rèn)信息”的困惑, 所以對(duì)通信的可靠性檢查就需要“校驗(yàn)”, 校驗(yàn)是從數(shù)據(jù)本身進(jìn)行檢查,它依靠某種數(shù)學(xué)上約定的形式進(jìn)行檢查,校驗(yàn)的結(jié)果是可靠或不可靠,如果可靠就對(duì)數(shù)據(jù)進(jìn)行處理,如果不可靠,就丟棄重發(fā)或者進(jìn)行修復(fù)。 循環(huán)冗余碼校驗(yàn)英文名稱為CyclicalRedundancyCheck,簡稱CRCCRCK驗(yàn)碼碼的作用是:發(fā)送方發(fā)送的數(shù)據(jù)發(fā)送給了接收方,但是由于在傳輸過程中信號(hào)干擾,可能出現(xiàn)錯(cuò)誤的碼,造成的結(jié)果就是接收
5、方不清楚收到的數(shù)據(jù)是否就是發(fā)送方要發(fā)的數(shù)據(jù),所以就有了CRCK驗(yàn)碼。保證了發(fā)送跟接受的數(shù)據(jù)是否一樣,要糾錯(cuò)的話,還需對(duì)軟件進(jìn)行設(shè)計(jì),畢竟傳輸?shù)氖?進(jìn)制,如果知道了哪一位出錯(cuò)了,可以把那一位取反,需要對(duì)軟件進(jìn)行優(yōu)化。CRC4是數(shù)據(jù)通信領(lǐng)域中最常用的一種差錯(cuò)校驗(yàn)碼, 其特征是信息字段和校驗(yàn)字段的長度可以任意選定。它是利用除法及余數(shù)的原理來作錯(cuò)誤偵測(cè)的。實(shí)際應(yīng)用時(shí),發(fā)送裝置計(jì)算出CRC1并隨數(shù)據(jù)一同發(fā)送給接收裝置,接收裝置對(duì)收到的數(shù)據(jù)重新計(jì)算CRC與收到的CRCf目比較,若兩個(gè)CRCS不同,則說明數(shù)據(jù)通訊出現(xiàn)錯(cuò)誤。 本次課程設(shè)計(jì)主要設(shè)計(jì)(16,12)校驗(yàn)碼的編碼與解碼,本次課程設(shè)計(jì)是介紹如何通過ma
6、tlab軟件,采用原理圖輸入法,分別完成相應(yīng)的編碼和解碼;最后,檢查編碼解碼過程是否發(fā)生錯(cuò)誤,通過課程設(shè)計(jì)驗(yàn)證CRCK驗(yàn)碼的編碼譯碼過程。第1章循環(huán)冗余校驗(yàn)碼(CRC的基本原理 1.1循環(huán)冗余校驗(yàn)碼的基本介紹 CRC碼是由兩部分組成的,前部分是信息碼,就是需要校驗(yàn)的信息,后部分是校驗(yàn)碼,如果CRCK共長n個(gè)bit,信息碼長k個(gè)bit,就稱為(n,k)碼。 CRC校驗(yàn)的基本思想是利用線性編碼理論,在發(fā)送端根據(jù)要傳送的k位二進(jìn)制碼序列,以一 定的規(guī)則產(chǎn)生一個(gè)校驗(yàn)用的監(jiān)督碼(CRC碼)r位,并附在信息后邊,構(gòu)成一個(gè)新的二進(jìn)制碼序列數(shù)共(k+r)位,最后發(fā)送出去。在接收端,則根據(jù)信息碼和CRC碼之間所
7、遵循的規(guī)則進(jìn)行檢驗(yàn),以確定傳送中是否出錯(cuò)。 16位的CRC碼產(chǎn)生的規(guī)則是先將要發(fā)送的二進(jìn)制序列數(shù)左移16位后,再除以一個(gè)多項(xiàng)式,最后所得到的余數(shù)既是CRC碼。 求CRC碼所采用模2加減運(yùn)算法則,既是不帶進(jìn)位和借位的按位加減,這種加減運(yùn)算實(shí)際上就是邏輯上的異或運(yùn)算,加法和減法等價(jià),乘法和除法運(yùn)算與普通代數(shù)式的乘除法運(yùn)算是一樣,符合同樣的規(guī)律。接收方將接收到的二進(jìn)制序列數(shù)(包括信息碼和CRC碼)除以多項(xiàng)式,如果 余數(shù)為0,則說明傳輸中無錯(cuò)誤發(fā)生,否則說明傳輸有誤。 循環(huán)冗余校驗(yàn)碼的幾個(gè)基本概念 多項(xiàng)式與二進(jìn)制數(shù)碼 多項(xiàng)式和二進(jìn)制數(shù)有直接對(duì)應(yīng)關(guān)系:x的最高幕次對(duì)應(yīng)二進(jìn)制數(shù)的最高位,以下各位對(duì)應(yīng)多項(xiàng)式
8、的各幕次,有此事次項(xiàng)對(duì)應(yīng)1,無此幕次項(xiàng)對(duì)應(yīng)00可以看出:x的最高幕次為R,轉(zhuǎn)換成對(duì)應(yīng)的二進(jìn)制數(shù)有R+1位。多項(xiàng)式包括生成多項(xiàng)式G(x)和信息多項(xiàng)式f(x)。如生成多項(xiàng)式為 G(x)x4x3x1,可轉(zhuǎn)換為二進(jìn)制數(shù)碼11011。而發(fā)送信息位1111,可轉(zhuǎn)換為數(shù)據(jù)多項(xiàng)式為f(x)x3x2x10 生成多項(xiàng)式 生成多項(xiàng)式是接受方和發(fā)送方的一個(gè)約定,也就是一個(gè)二進(jìn)制數(shù),在整個(gè)傳輸過程中,這個(gè)數(shù)始終保持不變。在發(fā)送方,利用生成多項(xiàng)式對(duì)信息多項(xiàng)式做模2除生成校驗(yàn)碼。在接受方利用生成多項(xiàng)式對(duì)收到的編碼多項(xiàng)式做模2除檢測(cè)和確定錯(cuò)誤位置。應(yīng)滿足以下條件: a、生成多項(xiàng)式的最高位和最低位必須為1; b、當(dāng)被傳送信息(
9、CRM)任何一位發(fā)生錯(cuò)誤時(shí),被生成多項(xiàng)式做模2除后應(yīng)該使余數(shù)不為0; c、不同位發(fā)生錯(cuò)誤時(shí),應(yīng)該使余數(shù)不同; d、對(duì)余數(shù)繼續(xù)做模2除,應(yīng)使余數(shù)循環(huán)。 模2除(按位除) 第一步,要在數(shù)據(jù)位(被除數(shù))后邊補(bǔ)0,0的個(gè)數(shù)比除數(shù)(生成多項(xiàng)式)少一位; 第二步,做除法,從被除數(shù)的頭五位減去五位的除數(shù)。除數(shù)的每一位都與被除數(shù)的對(duì)應(yīng)位在 不涉及上一位的情況下獨(dú)立進(jìn)行減法(實(shí)際進(jìn)行的是模2力口)。在本此課程設(shè)計(jì)中,除數(shù)11101 與被除數(shù)的前五位10111進(jìn)行的是模2力口,得到1010(余數(shù)1前面的0被省略)。 在被除數(shù)中下一個(gè)沒有使用過的比特接著被抄錄下來,使得余數(shù)的位數(shù)和除數(shù)的位數(shù)相同。 如果位數(shù)不夠,在
10、商位補(bǔ)0(這與一般除法相同),因此,下一步就是1111011001,結(jié)果是111,依次類推。 在二進(jìn)制除法中,除數(shù)總是以1開頭的,然后從上一次的被除數(shù)/余數(shù)中與除數(shù)位數(shù)相同的部分中減去除數(shù),并且只能從最左位是1的被除數(shù)/余數(shù)中減去除數(shù)。每當(dāng)被除數(shù)/余數(shù) 的最左位是0時(shí),就在該步驟中把0丟棄,再把被除數(shù)中的下一個(gè)未使用比特抄錄下來填充余數(shù),同時(shí)對(duì)應(yīng)的商數(shù)位補(bǔ)一個(gè)零,并按上述方法進(jìn)行二進(jìn)制除法運(yùn)算,一直重復(fù)這個(gè)過程直到被除數(shù)中所有比特都被使用過。 循環(huán)冗余校驗(yàn)碼的基本原理 循環(huán)冗余校驗(yàn)碼的編碼規(guī)則 CRC碼是由兩部分組成,前部分是信息碼,就是需要校驗(yàn)的信息,后部分是校驗(yàn)碼,如果CRCK共長n個(gè)bi
11、t,信息碼長k個(gè)bit,就稱為(n,k)碼。它的編碼規(guī)則是:1.移位 將原信息碼序列(kbit)左移r位(k+r=n) 2.相除 運(yùn)用一個(gè)生成多項(xiàng)式G(x)(也可看成二進(jìn)制數(shù))用模2除上面的式子,得到的余數(shù)就 是校驗(yàn)碼。 非常簡單,要說明的是:模2除就是在除的過程中用模2力口,模2加實(shí)際上就是我們 熟悉的異或運(yùn)算,就是加法不考慮進(jìn)位,公式是: 0+0=1+1=0,1+0=0+1=1 即異則真,非異則假。由此得到定理:a+b+b=a也就是模2減和模2力口 真值表完全相同。 有了加減法就可以用來定義模2除法,于是就可以用生成多項(xiàng)式G(x)生成CRCK驗(yàn)碼。 1.3.2CRC碼生成和校驗(yàn) 1.CRC
12、碼生成 第一步:在數(shù)據(jù)單元(k位)的末尾加上r個(gè)0。r是一個(gè)比預(yù)定除數(shù)的比特位數(shù)(r十1)少1的數(shù)。 第二步:采用二進(jìn)制除法將新的加長的數(shù)據(jù)單元(k+r位)除以除數(shù)。由此除法產(chǎn)生的余數(shù)就是循環(huán)冗余碼校驗(yàn)碼 第三步:用從第二步得到的r個(gè)比特的CRCK替換數(shù)據(jù)單元末尾附加的r個(gè)0。如果余數(shù)位數(shù)小于r,最左的缺省位數(shù)為0o如果除法過程根本未產(chǎn)生余數(shù)(也就是說,原始的數(shù)據(jù)單元本身就可以被除數(shù)整除)那么以r個(gè)0作為CRCB替換余數(shù)所在的位置。產(chǎn)生的比特模式正好能被除數(shù)整除。 .CRC碼校驗(yàn) 到達(dá)接收方的數(shù)據(jù)單元首先到達(dá)的是數(shù)據(jù),然后是CRCJ驗(yàn)碼。接收方將整個(gè)數(shù)據(jù)用當(dāng)作一個(gè)整體去除以用來產(chǎn)生循環(huán)冗余校驗(yàn)
13、余數(shù)的同一個(gè)除數(shù)。如果數(shù)據(jù)用無差錯(cuò)地到達(dá)接收方,循環(huán) 冗余校驗(yàn)器將產(chǎn)生余數(shù)0o因此數(shù)據(jù)單元將通過檢驗(yàn)。如果在傳輸中數(shù)據(jù)單元被改變,除法將產(chǎn)生非零余數(shù),因此數(shù)據(jù)單元將通不過檢驗(yàn)。 .應(yīng)用舉例 發(fā)送端: 例如: 已知: 信息碼:1101001101信息多項(xiàng)式:f (x) x9x8x6x3x21,生成碼:110010生成多項(xiàng)式:G (x) x5x4x1。 后力9/98632八*31Vl工口日272418963七占左力之日AArArr 斛:1)(xxxxx1)*x的積是xxxxxx對(duì)應(yīng)的碼子是110100 11010000000000000000 2)積/G (X)(按模二算法)由計(jì)算結(jié)果知冗余碼是1
14、100110000111010,CRC碼 (碼字) 就是11010011011100110000111010接收端: 例如:已知:接受碼字:1010011多項(xiàng)式:T(x)x6x4x1生成碼:1011生成多項(xiàng)式:G(x)x3x1(r=3)求:碼字的正確性。若正確,則指出冗余碼和信息碼。 解:1)用CRC碼(碼字)除以生成碼,余數(shù)為0,所以CRC碼(碼字)正確。 2)因r=3,所以冗余碼是:011,信息碼是:1010。 第2章MATLAB軟件基本介紹 MATLAB的介紹 在當(dāng)今30多個(gè)數(shù)學(xué)類科技應(yīng)用軟件中,就軟件數(shù)學(xué)處理的原始內(nèi)核而言,可分為兩大類。一類是數(shù)值計(jì)算型軟件,如MATLABXmathG
15、aus野,這類軟件長于數(shù)值計(jì)算,對(duì)處理大批數(shù)據(jù)效率高;另一類是數(shù)學(xué)分析型軟件,如Mathematica、Maple等,這類軟件以符號(hào)計(jì)算見長,能給出解析解和任意精度解,其缺點(diǎn)是處理大量數(shù)據(jù)時(shí)效率較低。MathWork公司順應(yīng)多功能需求 之潮流,在其卓越數(shù)值計(jì)算和圖示能力的基礎(chǔ)上,又率先在專業(yè)水平上開拓了其符號(hào)計(jì)算、文字處理、可視化建模和實(shí)時(shí)控制能力,開發(fā)了適合多學(xué)科、多部門要求的新一代科技應(yīng)用軟件MATLAB經(jīng)過多年的國際競爭,MATLAEE經(jīng)占據(jù)了數(shù)值型軟件市場的主導(dǎo)地位。 在MATLABS入市場前,國際上的許多應(yīng)用軟件包都是直接以FORTRANC語言等編程語言 開發(fā)的。這種軟件的缺點(diǎn)是使用
16、面窄、接口簡陋、程序結(jié)構(gòu)不開放以及沒有標(biāo)準(zhǔn)的基庫,很難適應(yīng)各學(xué)科的最新發(fā)展,因而很難推廣。MATLAB勺出現(xiàn),為各國科學(xué)家開發(fā)學(xué)科軟件提供了新的基礎(chǔ)。在MATLAB世不久的20世紀(jì)80年代中期,原先控制領(lǐng)域里的一些軟件包紛紛被淘汰或在MATLABt重建。 MATLAB的組成部分 (1)開發(fā)環(huán)境(developmentEnvironment):一組圖形化用戶接口工具和組件的集成:MATLAB 桌面、命令窗口、命令歷史窗口、編輯調(diào)試窗口及幫助信息、工作空間、文件和搜索路徑等瀏覽器; MATLA吸學(xué)函數(shù)庫:(MathFunctionLibrary)基本函數(shù):求和、正弦、余弦和復(fù)數(shù)運(yùn)算 等;特殊函數(shù):
17、矩陣求逆、矩陣特征值、貝塞爾函數(shù)和快速付里葉變換等; MATLAB言:(MATLABLanguage廠種高級(jí)編程語言,包括控制流的描述、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入輸出及面對(duì)對(duì)象編程; (4)句柄圖形:(HandleGraphics)可以對(duì)各種圖形對(duì)象進(jìn)行更為細(xì)膩的修飾和控制,建立完整的圖形界面的應(yīng)用程序; (5)應(yīng)用程序接口:(AppliedFunctionInterface)MATLAB的應(yīng)用程序接口允許用戶使用C 或FORTRAN言編寫程序與MATLA睢接。 MATLAB的語言特點(diǎn) 語言簡潔緊湊,使用方便靈活,庫函數(shù)極其豐富。MATLA程序書寫形式自由,利用其豐富 的庫函數(shù)避開繁雜的子程序編程任
18、務(wù),壓縮了一切不必要的編程工作。由于庫函數(shù)都由本領(lǐng)域的專家編寫,用戶不必?fù)?dān)心函數(shù)的可靠性??梢哉f,MATLA耿至具有一定的智能水平,比如上面 的解方程,MATLAB根據(jù)矩陣的特性選擇方程的求解方法,所以用戶根本不用懷疑MATLA的準(zhǔn)確性。 運(yùn)算符豐富。 由于MATLAB用CS言編寫的,MATLAB供了和CS言幾乎一樣多的運(yùn)算符, 靈活使用MATLAB運(yùn)算符將使程序變得極為簡短,具體運(yùn)算符見附表。 MATLAB具有結(jié)構(gòu)化的控制語句(如for循環(huán)、while循環(huán)、break語句和if語句), 又有面向?qū)ο缶幊痰奶匦浴?語法限制不嚴(yán)格,程序設(shè)計(jì)自由度大。例如,在MATLAB,用戶無需對(duì)矩陣預(yù)定義就可
19、使用。 程序的可移植性很好,基本上不做修改就可以在各種型號(hào)的計(jì)算機(jī)和操作系統(tǒng)上運(yùn)行。 MATLAB圖形功能強(qiáng)大。在FORTRANC言里,繪圖都很不容易,但在MATLAB,數(shù)據(jù)的可視化非常簡單。MATLAB具有較強(qiáng)的編輯圖形界面的能力。 MATLAB缺點(diǎn)是,它和其他高級(jí)程序相比,程序的執(zhí)行速度較慢。由于MATLAB程序不用 編譯等預(yù)處理,也不生成可執(zhí)行文件,程序?yàn)榻忉寛?zhí)行,所以速度較慢。 功能強(qiáng)勁的工具箱是MATLAB另一重大特色。MATLAB含兩個(gè)部分:核心部分和各種可選的工具箱。核心部分中有數(shù)百個(gè)核心內(nèi)部函數(shù)。其工具箱又可分為兩類:功能性工具箱和學(xué)科性工具箱。功能性工具箱主要用來擴(kuò)充其符號(hào)計(jì)
20、算功能、圖示建模仿真功能、文字處理功能以及與硬件實(shí)時(shí)交互功能。功能性工具箱能用于多種學(xué)科。而學(xué)科性工具箱是專業(yè)性比較強(qiáng)的,如control、toolbox、signalprocessingtoolbox、communicationtoolbox等。這些工具箱者B是由該領(lǐng)域內(nèi)的學(xué)術(shù)水平很高的專家編寫的,所以用戶無需編寫自己學(xué)科范圍內(nèi)的基礎(chǔ)程序,而直 接進(jìn)行高、精、尖的研究。 MATLAB勺優(yōu)勢(shì) (1)友好的工作平臺(tái)和編程環(huán)境 (2)簡單易用的程序語言 (3)強(qiáng)大的科學(xué)計(jì)算機(jī)數(shù)據(jù)處理能力 (4)出色的圖形處理功能 (5)應(yīng)用廣泛的模塊集合工具箱 (6)實(shí)用的程序接口和發(fā)布平臺(tái) (7)應(yīng)用軟件開發(fā)(
21、包括用戶界面) 第3章循環(huán)冗余校驗(yàn)碼(CRC的詳細(xì)設(shè)計(jì) CRC循環(huán)冗余校驗(yàn)碼的編碼模塊 循環(huán)冗余校驗(yàn)碼CRCE是利用除法及余數(shù)的原理來作錯(cuò)誤偵測(cè)(ErrorDetecting)的。 實(shí)際應(yīng)用時(shí),發(fā)送裝置計(jì)算出CRCfi并隨數(shù)據(jù)一同發(fā)送給接收裝置,接收裝置對(duì)收到的數(shù) 據(jù)重新計(jì)算CRC并與收到的CRC相比較,若兩個(gè)CRCfi不同,則說明數(shù)據(jù)通訊出現(xiàn)錯(cuò)誤。 根據(jù)應(yīng)用環(huán)境與習(xí)慣的不同,CRC又可分為以下幾種標(biāo)準(zhǔn): CRC-12碼; CRC-16碼; CRC-CCITT碼; CRC-132碼。 CRC-12碼通常用來傳送6-bit字符串。 CRC-16及CRC-CCITT碼則用是來傳送8-bit字符,其
22、中CRC-16為美國采用,而 CRC-CCITT為歐洲國家所采用。CRC-132碼大都被采用在一種稱為Point-to-Point的同步 傳輸中 本設(shè)計(jì)中CRC校驗(yàn)碼的n=16,k=12,則K位要發(fā)送的信息位可對(duì)應(yīng)于一個(gè)(k-1)次多項(xiàng)式f(X),r位冗余位則對(duì)應(yīng)于一個(gè)(r-1)次多項(xiàng)式R(X),由r位冗余位組成的n=k+r位碼字則對(duì)應(yīng)于一個(gè)(n-1)次多項(xiàng)式T(X)=G(x)*f(X)+R(X)。 其編碼過程為: (1)移位 將原信息碼(kbit)左移r位(k+r=n) (2)相除 運(yùn)用一個(gè)生成多項(xiàng)式G(x)(也可看成二進(jìn)制數(shù))用模2除上面的式子,得到的余數(shù)就是校驗(yàn)碼。 CRC循環(huán)冗余校驗(yàn)碼
23、的譯碼模塊 譯碼是該編碼能否得到實(shí)際應(yīng)用的關(guān)鍵所在。譯碼器往往比編碼較難實(shí)現(xiàn),對(duì)于糾錯(cuò)能力強(qiáng)的糾錯(cuò)碼更復(fù)雜。根據(jù)不同的糾錯(cuò)或檢錯(cuò)目的,循環(huán)碼譯碼器可分為用于糾錯(cuò)目的和用于檢錯(cuò)目的的循環(huán)碼譯碼器。 用于糾錯(cuò)目的的循環(huán)碼的譯碼算法比較復(fù)雜,而用于檢錯(cuò)目的循環(huán)碼,一般使用ARQ 通信方式。檢測(cè)過程也是將接受到的碼組進(jìn)行除法運(yùn)算,如果除盡,則說明傳輸無誤;如果未除盡,則表明傳輸出現(xiàn)差錯(cuò),要求發(fā)送端重發(fā)。用于這種目的的循環(huán)碼經(jīng)常被稱為循 環(huán)冗余校驗(yàn)碼,即CR%驗(yàn)碼。CR或驗(yàn)碼由于編碼電路、檢錯(cuò)電路簡單且易于實(shí)現(xiàn),因此得到廣泛的應(yīng)用。在通過MODE胺輸文件的協(xié)議如ZMODEMXMODEM、議中均用到了CR
24、C 校驗(yàn)技術(shù)。在磁盤、光盤介質(zhì)存儲(chǔ)技術(shù)中也使用該方法。 在譯碼過程中到達(dá)接收方的數(shù)據(jù)單元首先到達(dá)的是數(shù)據(jù),然后是CRCK驗(yàn)碼。接收方將整個(gè) 數(shù)據(jù)用當(dāng)作一個(gè)整體去除以用來產(chǎn)生循環(huán)冗余校驗(yàn)余數(shù)的同一個(gè)除數(shù)。如果數(shù)據(jù)用無差錯(cuò)地到達(dá) 接收方,循環(huán)冗余校驗(yàn)器將產(chǎn)生余數(shù)00因此數(shù)據(jù)單元將通過檢驗(yàn)。如果在傳輸中數(shù)據(jù)單元被改變,除法將產(chǎn)生非零余數(shù),因此數(shù)據(jù)單元將通不過檢驗(yàn)。 CRC循環(huán)冗余校驗(yàn)碼的性能分析 一般情況下,r位生成多項(xiàng)式產(chǎn)生的CRM可檢測(cè)出所有的單個(gè)錯(cuò)誤和隨機(jī)兩位錯(cuò)誤、奇數(shù)個(gè)錯(cuò)和長度小于等于k位的突發(fā)錯(cuò)誤。例如,對(duì)于r=16的情況,就能檢測(cè)出所有突發(fā)長度小于等于16的突發(fā)錯(cuò)以及99.997%勺突發(fā)
25、長度為17的突發(fā)錯(cuò)和99.998%勺突發(fā)長度大于17的突發(fā)錯(cuò)。所以CRCH的檢錯(cuò)能力還是很強(qiáng)的。這里,突發(fā)錯(cuò)誤是指幾乎是連續(xù)發(fā)生的一串錯(cuò),突發(fā)長度就是指從出錯(cuò)的第一位到出錯(cuò)的最后一位的長度(但是,中間并不一定每一位都錯(cuò))03.4CRC循環(huán)冗余校驗(yàn)碼的生成器和校驗(yàn)器 CRC1環(huán)冗余校驗(yàn)碼的生成器和校驗(yàn)器如圖1所示: 圖1CRC循環(huán)冗余校驗(yàn)碼的生成器和校驗(yàn)器 CRC循環(huán)冗余校驗(yàn)碼的程序流程圖 發(fā)送方 接收方 CR01環(huán)冗余校驗(yàn)碼的程序流程圖如圖2所示: 輸出erro=1 初始化,隨機(jī)產(chǎn)生信息碼并輸出 運(yùn)行結(jié)果及其分析 MATLAB的運(yùn)行結(jié)果 正確譯碼時(shí)MATLAB勺運(yùn)行結(jié)果如圖3所示: uncod
26、e= 10111110 CTC_sodei_5een;E= 10111110 10111110 圖3MATLAB的運(yùn)行結(jié)果 譯碼發(fā)生錯(cuò)誤時(shí)MATLAB的運(yùn)行結(jié)果如圖4所示: iriccxlesequence= ere:ccedsequezee= 1D10001 sr:= 圖4MATLAB的運(yùn)行結(jié)果 05101131 結(jié)果分析 CR儂驗(yàn)的基本思想是利用線性編碼理論,在發(fā)送端根據(jù)要傳送一個(gè)n比特的幀或報(bào)文,發(fā)送器生成一個(gè)r比特的序列,稱為幀檢驗(yàn)序列(FCS。這樣形成的幀將由(n+r)比特組成。這個(gè)幀剛好能被某個(gè)預(yù)先規(guī)定的數(shù)整除。接收器用相同的數(shù)去除外來的幀,結(jié)果無余數(shù),則認(rèn)為無差錯(cuò)。 循環(huán)冗余校驗(yàn)
27、與奇偶校驗(yàn)不同,后者是一個(gè)字符校驗(yàn)一次,而前者是一個(gè)數(shù)據(jù)塊校驗(yàn)一次。 在同步通信中,幾乎都使用這種校驗(yàn)方法。 二進(jìn)制多項(xiàng)式的加減運(yùn)算為模2加減運(yùn)算,即兩個(gè)碼多項(xiàng)式相加時(shí),對(duì)應(yīng)系數(shù)進(jìn)行模2加減。所謂模2加減就是各位做不帶進(jìn)位、借位的按位加減。這種加減運(yùn)算實(shí)際上是邏輯上的異或運(yùn)算,即加法和減法等價(jià)。 信息多項(xiàng)式和余數(shù)多項(xiàng)式可以合并成一個(gè)新的多項(xiàng)式(稱為循環(huán)碼的碼多項(xiàng)式),則該多項(xiàng) 式是生成多項(xiàng)式的整數(shù)倍,即能被生成多項(xiàng)式整除。根據(jù)這一原理,在發(fā)送端用信息碼多項(xiàng)式除以生成多項(xiàng)式所得的余數(shù)多項(xiàng)式就是所要加的監(jiān)督位。將循環(huán)碼的碼多項(xiàng)式除以生成多項(xiàng)式,若能除盡,說明傳輸正確,否則說明出錯(cuò)。CRCK驗(yàn)的關(guān)鍵
28、是如何求出余數(shù),此余數(shù)即為校驗(yàn)碼(CRC校驗(yàn)碼)。以前用數(shù)字電路來實(shí)現(xiàn),而現(xiàn)在可以用計(jì)算機(jī)來完成。 為了傳輸?shù)恼_性,在接收端要有一個(gè)CRC檢驗(yàn)器。它的功能和發(fā)生器一樣,當(dāng)收到CRC冗余校驗(yàn)碼后,做同樣的模2除法(注意,這里采用的生成多項(xiàng)式一定要與發(fā)送端相同)。如果余數(shù)是0,則說明傳輸正確;否則,傳輸錯(cuò)誤,應(yīng)重傳。 本次課設(shè)通過對(duì)(16,12)循環(huán)碼的編譯碼的設(shè)計(jì)與仿真得出仿真過程得到的結(jié)論與理論是一致的??偨Y(jié) CR英現(xiàn)代通信領(lǐng)域的重要技術(shù)之一。掌握CRC勺算法與實(shí)現(xiàn)方法,在通信系統(tǒng)的設(shè)計(jì)、通信協(xié)議的分析以及軟件保護(hù)等諸多方面,能發(fā)揮很大的作用。 在此次課設(shè)中, 我學(xué)習(xí)了matlab仿真軟件的
29、運(yùn)用, 我們通過動(dòng)手實(shí)踐操作, 進(jìn)一步學(xué)習(xí)和掌握了有關(guān)CRO理的知識(shí),加深了對(duì)糾錯(cuò)技術(shù)的認(rèn)識(shí)。在設(shè)計(jì)時(shí)我們根據(jù)課題要求,復(fù)習(xí)了相關(guān)知識(shí),還查閱了相當(dāng)多的資料,這也在一定程度上拓寬了我們的視野,豐富了我們的知識(shí)。 做設(shè)計(jì)的過程中,我有許多不懂得地方,在老師的指導(dǎo)下我一步步的解決問題完成論文,在完成過程中老師指導(dǎo)我去怎么選擇資料,如何去利用網(wǎng)絡(luò)資源,在這個(gè)學(xué)習(xí)的過程中,我了解到MATLAB勺實(shí)用價(jià)值,更深的理解循環(huán)冗余校驗(yàn)碼的原理。 這次課程設(shè)計(jì),使我堅(jiān)定了我在以后的學(xué)習(xí)中要認(rèn)真學(xué)好基礎(chǔ)知識(shí),不能只做表面工作。讀書不僅是要讀書還要讀活書,把學(xué)到的知識(shí)靈活地運(yùn)用到實(shí)踐中去,達(dá)到學(xué)有所用的地步。通過這
30、段時(shí)間的親身經(jīng)歷,我感覺自己學(xué)到了:收集、整理資料、共同協(xié)作、分析及處理問題等許多方面的知識(shí)。這次課程設(shè)計(jì)還讓我們知道了,我們平時(shí)所學(xué)的知識(shí)如果不加以實(shí)踐的話等于紙上談兵。課程設(shè)計(jì)主要是我們理論知識(shí)的延伸,它的目的主要是要在設(shè)計(jì)中發(fā)現(xiàn)問題,鍛煉我們的創(chuàng)新能力,并且自己要能找到解決問題的方案,形成一種獨(dú)立的意識(shí)。我們還能從設(shè)計(jì)中檢驗(yàn)我們所學(xué)的理論知識(shí)到底有多少,鞏固我們已經(jīng)學(xué)會(huì)的,不斷學(xué)習(xí)我們所遺漏的新知識(shí),把這門課學(xué)的扎實(shí)。 當(dāng)然在做課程設(shè)計(jì)的過程中總會(huì)出現(xiàn)各種問題,在這種情況下我們都會(huì)努力尋求最佳路徑解決問題,無形間提高了我們的動(dòng)手,動(dòng)腦能力,并且同學(xué)之間還能相互探討問題,研究解決方案,增進(jìn)
31、大家的團(tuán)隊(duì)意識(shí)。 總的來說,這次創(chuàng)新課程設(shè)計(jì)讓我們收獲頗多,不僅讓我們更深一步理解書本的知識(shí),提高我們分析問題和解決問題的能力,而且讓我們體會(huì)到團(tuán)隊(duì)的重要性。參考文獻(xiàn) 【1】孫麗華著.信息論與糾錯(cuò)編碼M,電子工業(yè)出版社,2005 【2】潘新民著.計(jì)算機(jī)通信技術(shù)M.電子工業(yè)出版社,2003 【3】張應(yīng)中,張德明等編著.數(shù)據(jù)通彳t工程.人民郵電出版社,1996 【4】杜煜,姚鴻等編.計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ).電子工業(yè)出版社,2002 【5】王福昌,熊兆飛,黃本雄等編著.通信原理.清華大學(xué)出版社,2006 【6】王興亮著.數(shù)字通信原理與技術(shù)(第二版).西安電子科技大學(xué)出版社,2000 【7】沈越泓,高媛媛,魏
32、以民等編著.通信原理.機(jī)械工業(yè)出版社,2004 【8】黎洪松,張衛(wèi)剛等編著.數(shù)字通彳t原理.西安電子科技大學(xué)出版社,2005 9PeterM.Grant.DigitalCommunications(SecondEdition).ChinaMachinePress 【10】H.S.Black.ModulationTheory.1993,Chap.4附錄 clear;clc;closeall; uncode_sequence=randint(1,12) sequence_length=length(uncode_sequence);%得到原始信號(hào)長度 crc_ccitt=11101;%常用的CRC
33、生成多項(xiàng)式 add_bit=zeros(1,4);%添加冗余比特位 crc_coded_sequence=uncode_sequencezeros(1,4);%初始化輸出檢錯(cuò)碼序列uncode_sequence=uncode_sequenceadd_bit; remainder_bits=uncode_sequence;%初始化余數(shù)數(shù)組 fork=1:sequence_length%開始循環(huán)計(jì)算長除得到最終余數(shù) add_zeros=zeros(1,sequence_length-k);%力口入冗余位參與模2運(yùn)算register_bits=crc_ccittadd_zeros;%構(gòu)造除數(shù)數(shù)組 i
34、fremainder_bits(1)=0%被除數(shù)第一位為0則將除數(shù)所有位置0 register_bits=zeros(1,length(register_bits); end remainder_bits=bitxor(register_bits,remainder_bits); %將除數(shù)與被除數(shù)進(jìn)行異或操作 register_bits=crc_ccitt;%將寄存器恢復(fù)為除數(shù)數(shù)組 remainder_bits(1)=;%去除模2后得到的被除數(shù)的第1位 end add_len=length(crc_coded_sequence)-length(remainder_bits); %生成余數(shù)序列的冗余位以疊加到編碼序列 remainder_bits=zeros(1,add_len),remainder_bits;%余數(shù)序歹!J添力口冗余crc_coded_sequence=crc_coded_sequence+remainder_bits%合成編碼序歹!Jsequence_length=length(crc_coded_sequence);%彳馬至U冗余編碼的長度original_sequenc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生產(chǎn)線調(diào)整與節(jié)能減排的雙重目標(biāo)
- 2025年度市政排水管網(wǎng)雨水調(diào)蓄設(shè)施建設(shè)合同
- 2025年度智能環(huán)保型油漆工程承包合同范本
- 2025年度人工智能企業(yè)虛擬股激勵(lì)合同協(xié)議范本模板
- 2025年度文化產(chǎn)業(yè)發(fā)展項(xiàng)目合同執(zhí)行規(guī)范
- 喝懂一杯中國茶知到智慧樹章節(jié)測(cè)試課后答案2024年秋江西財(cái)經(jīng)大學(xué)
- 2025年度汽車內(nèi)飾件移模加工工藝改進(jìn)合同
- 2025年度航空航天產(chǎn)業(yè)購并重組股權(quán)交易合同
- 農(nóng)藥化肥居間合同委托書
- 2025年度科研機(jī)構(gòu)進(jìn)修人才培養(yǎng)合作協(xié)議
- 古樹名木保護(hù)建設(shè)項(xiàng)目可行性研究報(bào)告
- DB50-T 867.36-2022 安全生產(chǎn)技術(shù)規(guī)范+第36+部分:倉儲(chǔ)企業(yè)
- 幼小銜接學(xué)拼音
- 結(jié)構(gòu)化思維與表達(dá)課件
- 教學(xué)課件:《就業(yè)指導(dǎo)與創(chuàng)業(yè)教育》(中職)
- 有限空間辨識(shí)參考目錄圖片對(duì)照版
- 成本會(huì)計(jì)第一章總論
- 橋式起重機(jī)試驗(yàn)項(xiàng)目及其內(nèi)容方法和要求
- 大小嶝造地工程陸域形成及地基處理標(biāo)段1施工組織設(shè)計(jì)
- 肺斷層解剖及CT圖像(77頁)
- GA∕T 1193-2014 人身損害誤工期、護(hù)理期、營養(yǎng)期評(píng)定
評(píng)論
0/150
提交評(píng)論