《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > 計算機體系結構(三) 循環(huán)冗余校驗知識

計算機體系結構(三) 循環(huán)冗余校驗知識

2017-06-22
關鍵詞: 匯編語言

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

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

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

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


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

校驗碼的具體生成過程為:

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

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

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

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

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

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

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

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

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

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


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