


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、摘要差錯(cuò)控制在數(shù)據(jù)通信過程中能發(fā)現(xiàn)或糾正差錯(cuò), 把差錯(cuò)限制在盡可能小的允 許范圍內(nèi)的技術(shù)和方法, 當(dāng)信號(hào)在物理信道中傳輸時(shí), 線路本身電氣特性造成的 隨機(jī)噪聲、 信號(hào)幅度的衰減、 頻率和相位的畸變、 電氣信號(hào)在線路上產(chǎn)生反射造 成的回音效應(yīng)、相鄰線路間的干擾以及各種外界因素都會(huì)造成信號(hào)的失真, 由此, 在數(shù)據(jù)通信中,將會(huì)使接收端收到的二進(jìn)制數(shù)位和發(fā)送端實(shí)際發(fā)送的二進(jìn)制位不 一致,從而造成由“ 0”變成“ 1”或由“ 1”變成“ 0”的差錯(cuò)。本設(shè)計(jì)研究了 CRC循環(huán)冗余校驗(yàn)碼的原理,以及利用MATLAB寸CRC-16碼進(jìn) 行了編程和編譯仿真,實(shí)現(xiàn)了 CRC循環(huán)冗余校驗(yàn)碼的編碼及校驗(yàn),在接收端收到
2、 通過校驗(yàn)的本課程設(shè)計(jì)主要研究線性分組碼 CR(循環(huán)冗余校驗(yàn)碼)的編譯碼的 設(shè)計(jì)和仿真, 在實(shí)際的通信系統(tǒng)中, 由于信道傳輸特性不理想以及加性噪聲的影 響,傳輸?shù)男畔⒅胁豢杀苊獾貢?huì)發(fā)生錯(cuò)誤, 影響通信系統(tǒng)的傳輸可靠性。 隨著數(shù) 字通信碼,從而確定傳輸過程是否出錯(cuò),得到的結(jié)論和理論上是一致的。 關(guān)鍵詞:CRC編碼、譯碼第 1 章 前言循環(huán)冗余校驗(yàn)碼 CRC(Cyclical Redundancy Checking) 是目前通信系統(tǒng)中最 常用的一種差錯(cuò)控制編碼。 循環(huán)冗余校驗(yàn)碼是一種高效率且可靠的方法 , 由線性 分組碼分支而來的 , 是一種通過多項(xiàng)式除法檢測錯(cuò)誤的很不尋常而又巧妙的方 法 , 一
3、方面它有很強(qiáng)的檢測能力 , 二是它的編碼器電路及錯(cuò)誤檢測器電路都很 容易實(shí)現(xiàn),它的優(yōu)點(diǎn)使它在通信系統(tǒng)中得到了廣泛的應(yīng)用。利用CRC進(jìn)行檢錯(cuò)的 過程可簡單描述為 : 在發(fā)送端根據(jù)要傳送的二進(jìn)制碼序列 , 以一定的規(guī)則產(chǎn)生一 個(gè)校驗(yàn)用的監(jiān)督碼(CRC碼),附在原始信息后邊,構(gòu)成一個(gè)新的二進(jìn)制碼序列數(shù), 然后發(fā)送出去。在接收端根據(jù)信息碼和 CRC碼之間所遵循的規(guī)則進(jìn)行檢驗(yàn),一旦 傳輸過程中發(fā)生差錯(cuò) , 則信息碼元與監(jiān)督碼元之間的關(guān)系遭到破壞 , 從而可以發(fā) 現(xiàn)錯(cuò)誤,乃至糾正錯(cuò)誤。CRC校驗(yàn)采用多項(xiàng)式編碼方法,被處理的數(shù)據(jù)塊表示為一 個(gè)二進(jìn)制多項(xiàng)式。本次課設(shè)使用的是MATLA語言軟件進(jìn)行設(shè)計(jì)與仿真。M
4、ATLA語言是一種計(jì) 算機(jī)程序設(shè)計(jì)語言。 主要適用于矩陣運(yùn)算及控制和信息處理領(lǐng)域的分析設(shè)計(jì)。 它 使用方便、輸入簡捷、運(yùn)算高效、內(nèi)容豐富, 并且很容易由用戶自行擴(kuò)展, 因此, 它的應(yīng)用范圍廣泛,是當(dāng)前已成為教學(xué)和科研中最常用而必不可少的工具。第2章循環(huán)冗余校驗(yàn)碼CRC的基本原理2.1循環(huán)冗余校驗(yàn)碼CRC的介紹在計(jì)算機(jī)通信中用得最廣泛的檢錯(cuò)碼是一種漏檢率低得多也便于實(shí)現(xiàn)的循 環(huán)冗余校驗(yàn)碼CRC(Cyclical RedundancyChecking) 又稱多項(xiàng)式碼。這是因?yàn)椋?任何一個(gè)由二進(jìn)制串組成的代碼,都可以唯一的與一個(gè)只含有0和1兩個(gè)系數(shù)的 多項(xiàng)式建立對(duì)應(yīng)的關(guān)系。一個(gè) k位幀可以看成是從X
5、k 1到X0的k次多項(xiàng)式的系數(shù)序列,這個(gè)多項(xiàng)式的階數(shù)為k 1,高位(最左邊)是Xk 1項(xiàng)的系數(shù),下一 位是Xk 2的系數(shù),以此類推。例如,代碼1010111對(duì)應(yīng)的多項(xiàng)式為 X6 X4 X2 X 1,同樣,多項(xiàng)式X5 X3 X2 X 1對(duì)應(yīng)的代碼為101111。CRC校驗(yàn)的基本思想是利用線性編碼理論,在發(fā)送端根據(jù)要傳送一個(gè)n比特的幀或者報(bào)文,發(fā)送器生成一個(gè)r比特的序列,稱為幀檢驗(yàn)序列(FCS。這樣所 形成的幀將由(n r)比特組成。這個(gè)幀剛好能被某個(gè)預(yù)先確定的數(shù)整除。接收器 用相同的數(shù)去除外來的幀,如果無余數(shù),則認(rèn)為無差錯(cuò)。循環(huán)冗余校驗(yàn)碼與奇偶校驗(yàn)碼不同,后者是字符校驗(yàn)一次,而前者是字符串校驗(yàn)一
6、次。在同步串行通信中,幾乎都是用這種校驗(yàn)方法。一個(gè)n位的循環(huán)碼是由k位信息位加上r位校驗(yàn)位組成的,其中r=n-k。如圖1 所示。k位r 位(r=n-k)信息位校驗(yàn)位(CRC校驗(yàn))圖1 n位循環(huán)碼通常把這樣的新組成的二進(jìn)制位序列叫做循環(huán)冗余碼(CRC。表征CRC碼的多項(xiàng)式叫生成多項(xiàng)式。K位二進(jìn)制數(shù)加上r位CRC碼后,即信息位要向左移 (n-r)位,這相當(dāng)于B(X)乘以XArB(X)被生成多項(xiàng)式除,得整數(shù)多項(xiàng)式加上余數(shù) 多項(xiàng)式。由以上分析可知,CRC校驗(yàn)的關(guān)鍵是如何求出余數(shù),此余數(shù)即為校驗(yàn)碼 (CRC 校驗(yàn)碼)。以前通常用數(shù)字電路來實(shí)現(xiàn),而現(xiàn)在用計(jì)算機(jī)來完成。2.2 循環(huán)冗余校驗(yàn)碼(CRC原理循環(huán)
7、冗余校驗(yàn)碼(CRC的基本原理是:在 K位信息碼后再拼接R位的校驗(yàn) 碼,整個(gè)編碼長度為N位,因此,這種編碼又叫(N, K)碼。對(duì)于一個(gè)給定的(N, K)碼,可以證明存在一個(gè)最高次幕為 N-K=R的多項(xiàng)式G(x)。根據(jù)G(x)可以生成 K位信息的校驗(yàn)碼,而G(x)叫做這個(gè)CRC碼的生成多項(xiàng)式。校驗(yàn)碼的具體生成過程為:假設(shè)發(fā)送信息用信息多項(xiàng)式f(X)表示,將f(x)左移R位(則可表示成f(x)*X R,這樣f(x)的右邊就會(huì)空出R位,這就是校驗(yàn) 碼的位置。通過f(x)* X R除以生成多項(xiàng)式G(x)得到的余數(shù)就是校驗(yàn)碼。下面介 紹幾個(gè)基本概念1、多項(xiàng)式與二進(jìn)制數(shù)碼多項(xiàng)式和二進(jìn)制數(shù)有直接對(duì)應(yīng)關(guān)系:x的
8、最高幕次對(duì)應(yīng)二進(jìn)制數(shù)的最高位, 以下各位對(duì)應(yīng)多項(xiàng)式的各幕次,有此幕次項(xiàng)對(duì)應(yīng)1,無此幕次項(xiàng)對(duì)應(yīng)0??梢钥闯觯簒的最高幕次為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)=X4+f+X+1,可轉(zhuǎn)換為二進(jìn)制數(shù)碼11011。而發(fā)送信息位1111,可轉(zhuǎn)換為數(shù)據(jù)多項(xiàng)式為f(x)=X 3+X?+X+1o2、生成多項(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除檢測和確定錯(cuò)誤位置。應(yīng)滿足以下條件
9、:a、 生成多項(xiàng)式的最高位和最低位必須為1ob、 當(dāng)被傳送信息(CRC碼)任何一位發(fā)生錯(cuò)誤時(shí),被生成多項(xiàng)式做模2除 后應(yīng)該使余數(shù)不為0oc、不同位發(fā)生錯(cuò)誤時(shí),應(yīng)該使余數(shù)不同。d、對(duì)余數(shù)繼續(xù)做模2除,應(yīng)使余數(shù)循環(huán)。將這些要求反映為數(shù)學(xué)關(guān)系是比較復(fù)雜的。但可以從有關(guān)資料查到常用的對(duì)應(yīng)于不同碼制的生成多項(xiàng)式如圖 2所示:NK碼距dG(x)多項(xiàng)式G(x)743x3+x+1101174332.x +x +11101734x +x +x +11110173442.x+x +x+11011115113x 4+x+1100111575x +x +x +x +11110100013126352.x +x +11
10、001013121510x +98653,x +x +x +x +x +11110110100163573x6+x+110000116351512 10x +x +542.x +x +x +110100001101011041102416152ax +x +x +1圖2常用的生成多項(xiàng)式3、模2除(按位除)模2除做法與算術(shù)除法類似,但每一位除(減)的結(jié)果不影響其它位,即不 向上一位借位。所以實(shí)際上就是異或。然后再移位做下一位的模2減。步驟如下:a、用除數(shù)對(duì)被除數(shù)最高幾位做模 2減,沒有借位。b、除數(shù)右移一位,若余數(shù)最高位為1,商為1,并對(duì)余數(shù)做模2減。若余數(shù) 最高位為0,商為0,除數(shù)繼續(xù)右移一位
11、。c、一直做到余數(shù)的位數(shù)小于除數(shù)時(shí),該余數(shù)就是最終余數(shù)。4、CR(碼的生成步驟(1)將x的最高幕次為R的生成多項(xiàng)式G(x)轉(zhuǎn)換成對(duì)應(yīng)的R+1位二進(jìn)制數(shù)。(2)將信息碼左移R位得到多項(xiàng)式f(x)*X R。(3)用生成多項(xiàng)式(二進(jìn)制數(shù))對(duì) f(x)*X R做模2除,得到余數(shù)(即校驗(yàn) 碼)。(4)將余數(shù)多項(xiàng)式加到f(x)*X R中,得到完整的CRC碼?!纠考僭O(shè)使用的生成多項(xiàng)式是 G(x)=x3+x+1。4位的原始報(bào)文為1010,求 編碼后的報(bào)文。解:(1) 將生成多項(xiàng)式G(x)=x3+x+1轉(zhuǎn)換成對(duì)應(yīng)的二進(jìn)制除數(shù)1011。(2) 此題生成多項(xiàng)式有4位(R+1),要把原始報(bào)文F(x)左移3 (R)位
12、變 成 1010000(3) 用生成多項(xiàng)式對(duì)應(yīng)的二進(jìn)制數(shù)對(duì)左移4位后的原始報(bào)文進(jìn)行模2除:1001商10100001011除數(shù)1000101111- 余數(shù)(校驗(yàn)位)(4)編碼后的報(bào)文(CRC碼):1010000+111010011CR(碼為1010011 (和糾錯(cuò))。在接收端收到了 CRC碼后用生成多項(xiàng)式為G(x)去做模2除,若得到余數(shù)為0, 則碼字無誤。若得到余數(shù)不為0,則接收的數(shù)據(jù)有錯(cuò)。5、通信與網(wǎng)絡(luò)中常用的CRC在數(shù)據(jù)通信與網(wǎng)絡(luò)中,通常k相當(dāng)大,由一千甚至數(shù)千數(shù)據(jù)位構(gòu)成一幀, 而 后米用CRC碼產(chǎn)生r位的校驗(yàn)位。它只能檢測出錯(cuò)誤,而不能糾正錯(cuò)誤。一般取 r=16,標(biāo)準(zhǔn)的 16 位生成多項(xiàng)
13、式有 CRC-14 x16+x15+x2+1 和 CRC-CCITF16152.x +x +X+1。CRC碼在發(fā)送端編碼和接收端校驗(yàn)時(shí),都可以利用事先約定的生成多項(xiàng)式G(X)來得到。k位要發(fā)送的信息位可對(duì)應(yīng)于一個(gè)(k 1)次多項(xiàng)式K(X),r位冗余位則對(duì)應(yīng)于一個(gè)(r 1)次多項(xiàng)式R(X),由k位信息位后面加上r位冗余位組成的n k r位碼字則對(duì)應(yīng)于一個(gè)(n 1)次多項(xiàng)式T(X) Xr?K(X) R(X)由信息位產(chǎn)生冗余位的編碼過程,就是已知K(X)求R(X)的過程。在 CRC碼中可以通過找到一個(gè)特定的r次多項(xiàng)式G(X)(其最高項(xiàng)X r的系數(shù)恒為1),然 后用Xr?K(X)去除以G(X),得到的
14、余式就是R(X)。特別要強(qiáng)調(diào)的是,這些多 項(xiàng)式中的“ +”都是模2加(也即異或運(yùn)算),此外,這里的除法用的也是模 2 除法,即除法過程中用到的減法是模 2減法,它和模2加法的運(yùn)算規(guī)則一樣,都 是異或運(yùn)算,這是一種不考慮加法進(jìn)位和減法借位的運(yùn)算,即10011011 1111000011001010101001100101000101010110在進(jìn)行基于模2運(yùn)算的多項(xiàng)式除法時(shí),只要部分余數(shù)首位為1,便可上商1, 否則上商0。然后按模2減法求得余數(shù),該余數(shù)不計(jì)最高位。當(dāng)被除數(shù)逐位除完 時(shí),最后得到比除數(shù)少一位的余數(shù)。 此余數(shù)即為冗余位,將其添加在信息位后便 構(gòu)成CRC碼字。若傳輸過程無錯(cuò),則接收方
15、收到的碼字也對(duì)應(yīng)于此多項(xiàng)式, 也即接收到的碼 字多項(xiàng)式能被G(X)整除。因而接收端的校驗(yàn)過程就是將接收到的碼字多項(xiàng)式除 以G(X)的過程。若余式為零則認(rèn)為傳輸無差錯(cuò),若余式不為零則傳輸有差錯(cuò)第3章循環(huán)冗余校驗(yàn)碼CRC的系統(tǒng)分析3.1循環(huán)冗余校驗(yàn)碼CRC算法設(shè)定循環(huán)冗余校驗(yàn)碼CRC是線性分組碼的一種,具有嚴(yán)密的代數(shù)學(xué)理論。循環(huán)碼 除了具有線性分組碼的封閉性,即兩個(gè)循環(huán)碼組的模二加仍是一個(gè)循環(huán)碼組外, 還具有循環(huán)性,即一個(gè)循環(huán)碼組循環(huán)移位后,將最右端的碼組移至左端,仍是一 個(gè)循環(huán)碼組。本次課程設(shè)計(jì)選取循環(huán)冗余校驗(yàn)CRC碼的生成多項(xiàng)式G(x) x x 1。3.2循環(huán)冗余校驗(yàn)碼CRC算法分析碼編碼規(guī)則
16、CRC碼是由兩部分組成,前部分是信息碼,就是需要校驗(yàn)的信息;后部分是 校驗(yàn)碼,如果CRC碼共長n個(gè)bit,信息碼長k個(gè)bit,就稱為(n,k )碼。它的編碼規(guī)則是:1、移位:將原信息碼(kbit )左移r位(k+r= n)2、相除:運(yùn)用一個(gè)生成多項(xiàng)式G(x)(也可看成二進(jìn)制數(shù))用模 2除以生成多項(xiàng)式G(x),得到的余數(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加直值表完全相同。有了加減法就可以用來定義
17、模 2除法,于是就可以用生成多項(xiàng)式g(x)生成CRC校驗(yàn)碼。322 CRC校驗(yàn)碼的性質(zhì)可靠性:除了正好數(shù)據(jù)塊的比特值是按除數(shù)值變化的錯(cuò)誤外, 循環(huán)冗余校驗(yàn)講檢測出其 他所有錯(cuò)誤,甚至對(duì)于上面所提到的四比特錯(cuò)誤一一這種情況放生的可能性仍然 是很小的。而且,常用的CRC除數(shù)通常有17或是33比特,使得不可檢測的錯(cuò)誤 可能降低到幾乎近于零。3.3 系統(tǒng)流程圖利用MATLAB寸CRC循環(huán)冗余校驗(yàn)碼的生成及還原過程進(jìn)行仿真,其編碼的圖3 系統(tǒng)流程圖第4章循環(huán)冗余校驗(yàn)碼CRC程序設(shè)計(jì)根據(jù)循環(huán)冗余校驗(yàn)碼CRC勺編碼原理用MATLAB件寫出以下程序代碼,程 序中運(yùn)用了 CRC-16 碼,首先自定義一個(gè)生成多項(xiàng)
18、式 G(x) x4 x3 1,將生成 多項(xiàng)式系數(shù)寫成二進(jìn)制序列 1 1 0 0 1 ,然后編碼序列后面補(bǔ)零,補(bǔ)零勺個(gè)數(shù)比 生成多項(xiàng)式二進(jìn)制序列位數(shù)少一位, 補(bǔ)零后勺編碼序列作為被除數(shù), 生成多項(xiàng)式 二進(jìn)制序列作為除數(shù),進(jìn)行長除,求出余數(shù),此余數(shù)為冗余位。而循環(huán)冗余校驗(yàn) 碼CRC是編碼序列加冗余位,在此次課程設(shè)計(jì)中即為 1 1 0 1 1 0 0 1 1 0 1 1 1, 如果得到的循環(huán)冗余校驗(yàn)碼 CR進(jìn)制序列除以生成多項(xiàng)式二進(jìn)制序列, 若余數(shù) 為零,則譯碼無差錯(cuò),若余數(shù)不為零,則譯碼有差錯(cuò)。4.1循環(huán)冗余校驗(yàn)碼CRC編碼程序MATLABS 程%CRC 編碼主程序 clear;clc;close
19、 all;uncode_sequence=input輸入信息碼:');%信息碼sequence_length = length(uncode_sequence);% 得到原始信號(hào)長度 crc_ccitt = 1 1 0 0 1;% 常用的CRC生成多項(xiàng)式add_bit = zeros(1,4);% 添加冗余比特位crc_coded_sequence = uncode_sequence zeros(1,4);% 初始化輸出檢錯(cuò)碼序列 uncode_sequence = uncode_sequence add_bit;remainder_bits = uncode_sequence;% 初
20、始化余數(shù)數(shù)組for k = 1:sequence_length% 開始循環(huán)計(jì)算長除得到最終余數(shù)add_zeros = zeros(1,sequence_length-k);% 加入冗余位參與模 2 運(yùn)算 register_bits = crc_ccitt add_zeros;% 構(gòu)造除數(shù)數(shù)組if remainder_bits(1) = 0% 被除數(shù)第一位為 0 則將除數(shù)所有 位置 0register_bits = zeros(1,length(register_bits); end remainder_bits = bitxor(register_bits,remainder_bits);%
21、將除數(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ù)序列添加冗余 crc_coded_sequence = crc_coded_sequence + remainder_bits%
22、 合成編碼序列 sequence_length = length(crc_coded_sequence);% 得到冗余編碼的長度 original_sequence = crc_coded_sequence; % 初始化輸出序列 crc_ccitt = 1 1 0 0 1;% 常用的 CRC 生成多項(xiàng)式remainder_bits = crc_coded_sequence;% 初始化余數(shù)數(shù)組cycle_length = sequence_length-length(crc_ccitt)+1%; 計(jì)算長除法的循環(huán)周期 for k = 1:cycle_length% 開始循環(huán)計(jì)算長除得到最終余數(shù)a
23、dd_zeros = zeros(1,cycle_length-k); % 加入冗余位參與模 2 運(yùn)算 register_bits = crc_ccitt add_zeros;% 構(gòu)造除數(shù)數(shù)組if remainder_bits(1) = 0% 被除數(shù)第一位為 0 則將除數(shù)所有位置0register_bits = zeros(1,length(register_bits); endremainder_bits = bitxor(register_bits,remainder_bits);% 將除數(shù)與被除數(shù)進(jìn)行異或操 作 register_bits = crc_ccitt;% 將寄存器恢復(fù)為除數(shù)數(shù)
24、組 remainder_bits(1) = ;% 去除模 2 后得到的被除數(shù)的第 1 位endif sum(remainder_bits) = 0%傳輸碼元中沒有發(fā)生奇數(shù)個(gè) 錯(cuò)誤orig in al_seque nee = crc_coded_seque nce(1:cycle_le ngth)elseerr = 1%碼元傳輸發(fā)生錯(cuò)誤end根據(jù)循環(huán)冗余校驗(yàn)碼CRC勺編碼原理用MATLAB件寫出以上程序代碼,程序中運(yùn)用了 CRC-16碼,首先自定義一個(gè)生成多項(xiàng)式 G(x) x4 x3 1,將生成多項(xiàng)式系數(shù)寫成二進(jìn)制序列1 1 0 0 1,然后編碼序列后面補(bǔ)零,補(bǔ)零的個(gè)數(shù)比 生成多項(xiàng)式二進(jìn)制序列位
25、數(shù)少一位, 補(bǔ)零后的編碼序列作為被除數(shù),生成多項(xiàng)式 二進(jìn)制序列作為除數(shù),進(jìn)行長除,求出余數(shù),此余數(shù)為冗余位。而循環(huán)冗余校驗(yàn) 碼CRC是編碼序列加冗余位,在此次課程設(shè)計(jì)中即為 1 1 0 1 1 0 0 1 1 0 1 1 1, 如果得到的循環(huán)冗余校驗(yàn)碼 CR進(jìn)制序列除以生成多項(xiàng)式二進(jìn)制序列, 若余數(shù) 為零,則譯碼無差錯(cuò),若余數(shù)不為零,則譯碼有差錯(cuò)。用MATLABS碼程序如圖4-1所示。圖4-1 循環(huán)冗余校驗(yàn)碼CRC編碼、譯碼程序仿真編碼、譯碼之后的結(jié)果如圖4-2所示血 MATLAB 71Q0 RJOlOft .,.-.J|£M圖4-2 循環(huán)冗余校驗(yàn)碼CRC編碼、譯碼仿真結(jié)果第5章循環(huán)
26、冗余校驗(yàn)CRC的結(jié)果分析CRC校驗(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)與奇偶校驗(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ò)。CRC校驗(yàn)的關(guān)鍵是如何求出余數(shù),此余數(shù)即為校驗(yàn)碼(CRC校驗(yàn)碼。 以前用數(shù)字電路來實(shí)現(xiàn),而現(xiàn)在可以用計(jì)算機(jī)來完成。為了傳輸?shù)恼_性,在接收端要有
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 石家莊試卷小學(xué)英語
- 語文-福建省龍巖市2025年高中畢業(yè)班三月教學(xué)質(zhì)量檢測(龍巖一檢)試題和答案
- 盤錦水洗石施工方案
- 綠化駁岸施工方案
- 紅外報(bào)警系統(tǒng)施工方案
- 2025年蒙氏數(shù)學(xué)區(qū)別上下標(biāo)準(zhǔn)教案
- 2025屆山東省泰安市肥城市中考適應(yīng)性考試生物試題含解析
- 取消銷售合同范本
- 合伙餐飲合同范例多人
- 2013版裝修合同范例
- 中國兒童呼吸道合胞病毒感染診療及預(yù)防指南(2024)解讀
- 本科畢業(yè)生登記表自我鑒定范文(8篇)
- 腦梗塞的急救護(hù)理
- 二零二四年度幼兒園學(xué)生午餐配送合同
- 讀后續(xù)寫+摯友離別:不舍與成長交織的瞬間+講義 高一上學(xué)期期中聯(lián)考英語試題
- 2024中華人民共和國學(xué)前教育法學(xué)習(xí)解讀課件
- 2024-2030年中國飾面板行業(yè)發(fā)展?fàn)顩r及前景趨勢(shì)研究報(bào)告
- 企業(yè)智能云盤方案之AI知識(shí)庫應(yīng)用
- 春季傳染病預(yù)防課件動(dòng)態(tài)課件
- 家居家具保養(yǎng)與清潔指導(dǎo)書
- 2023年員工手冊(cè)范本(適用于公司全體員工手冊(cè))
評(píng)論
0/150
提交評(píng)論