《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 解決方案 > 計(jì)算機(jī)體系結(jié)構(gòu)(三) 循環(huán)冗余校驗(yàn)知識

計(jì)算機(jī)體系結(jié)構(gòu)(三) 循環(huán)冗余校驗(yàn)知識

2017-06-22
關(guān)鍵詞: 匯編語言

在校驗(yàn)碼體系中,,有各種校驗(yàn)的方法:有奇偶校驗(yàn)、海明碼校驗(yàn),、循環(huán)冗余校驗(yàn),。今天就跟大家共同探討一下常用的循環(huán)冗余校驗(yàn)吧,。

循環(huán)冗余校驗(yàn)(CRC,Cyclic Redundancy Check),,是最常用的一種差錯(cuò)校驗(yàn)碼,,其特征是信息字段和校驗(yàn)字段的長度可以任意選定。已經(jīng)被廣泛應(yīng)用于網(wǎng)絡(luò)通信即磁盤存儲(chǔ),。

多項(xiàng)式:一個(gè)二進(jìn)制數(shù)可以用一個(gè)多項(xiàng)式來表示,,如1011 表示為 x3+x1+x0 。最高次冪n,,可以轉(zhuǎn)為長度為n+1的二進(jìn)制數(shù),。

CRC編碼組成:在K位信息碼后再拼接R位的校驗(yàn)碼,整個(gè)編碼長度為N位,,因此,,這種編碼又叫(N,K)碼,。


生成多項(xiàng)式:編碼方程除以信息碼的多項(xiàng)式,,得到余數(shù)多項(xiàng)式即為校驗(yàn)碼,解碼方程將接收到的信息除以生成多項(xiàng)式,,若余數(shù)=0,,則說明正確,反則,,則傳輸出錯(cuò),,余數(shù)的大小即為錯(cuò)誤位置。

校驗(yàn)碼的具體生成過程為:

①假設(shè)發(fā)送信息用信息多項(xiàng)式C(X)表示,,將C(x)左移R位,則可表示成C(x)*2的R次方,,這樣C(x)的右邊就會(huì)空出R位,,這就是校驗(yàn)碼的位置。

②移位后的信息 除以 生成多項(xiàng)式G(x)得到的余數(shù)多項(xiàng)式,,可轉(zhuǎn)為R位二進(jìn)制,。

③將余數(shù)嵌入到原信息的后面。

例如:信息位為10100110 ,, 生成多項(xiàng)式為a(x)= x5+x4+x+1

則C(x)=a(x)* x5 = (x7+x5+x2+x)* x5  = x12+ x10 +x7+x6

余數(shù)為x4+x3 ,,轉(zhuǎn)為二進(jìn)制為11000,所以CRC碼為10100110110000 ,。

以上方法是用多項(xiàng)式來解的,,現(xiàn)在我們換用二進(jìn)制方式來試試。

信息位為10100110 ,, 生成多項(xiàng)式為a(x)= x5+x4+x+1,。

則a(x)轉(zhuǎn)換為二進(jìn)制為110011,,信息位左移 R位(即最高次冪+1=6位),即在信息為后補(bǔ)5個(gè)0 ,,得10100110000000,,再除以a(x)轉(zhuǎn)換的110011,取R位余數(shù),,即6位,。然后將余數(shù)嵌入到原信息的后面 ??磮D:

余數(shù)為110000,,6位,正好,,補(bǔ)充到信息位的后面為:10100110110000,,跟上面的方法結(jié)果一致。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。