校驗碼 迴圈冗餘校驗碼

2021-10-09 18:28:44 字數 918 閱讀 8142

迴圈冗餘校驗碼,又稱crc碼。它利用生成多項式來為k個資料位產生r個校驗位來進行編碼。其編碼長度為k+r。

迴圈冗餘校驗碼由兩部分組成,左邊為資訊碼(資料),右邊為校驗碼,如下圖

若資訊碼佔k位,則校驗碼就佔n-k位,其中,n為crc碼的字長,所以又稱為(n,k)碼。校驗碼位數越多,校驗能力越強。

crc編碼的計算

採用的是模2運算,其加減運算的規則是按位運算,不發生借位和進製。

下面以例項解釋:

假設使用的生成多項式是g(x)=x3+x+1。4位的原始報文為1010,求編碼後的報文。

解:1、將生成多項式g(x)=x3+x+1轉換成對應的二進位制除數1011。

轉換方式為xi中的i對應二進位制數的指數2^i。如上式x3+x+1可解為

2、生成多項式有4位(r+1)。

注意:4位的生成多項式計算所得的校驗碼為3位,r為校驗碼位數(校驗碼的位數=二進位制除數字數-1)。

要把原始報文c(x)=1010左移3位(即校驗碼的位數),低位補0,變成1010 000,即被除數

3、用生成多項式對應的二進位制除數對左移3位後的原始報文(即1010 000)進行模2除(高位對齊),相當於按位異或得到的餘位011,所以最終編碼為:1010 011。如下圖

所得的商沒有意義,餘數保留r位(即校驗碼的位數)。然後將原資料與校驗碼(即上面所求得的餘數)拼接在一起,就構成了乙個crc碼。

迴圈冗餘校驗碼

crc cyclic redundancy check 迴圈冗餘校驗碼 是常用的校驗碼,在早期的通訊中運用廣泛,因為早期的通訊技術不夠可靠 不可靠性的 是通訊技術決定的,比如電磁波通訊時受雷電等因素的影響 不可靠的通訊就會帶來 確認資訊 的困惑,書上提到紅軍和藍軍通訊聯合進攻山下的敵軍的例子,第一天...

迴圈冗餘校驗碼

crc碼是由兩部分組成,前部分是資訊碼,就是需要校驗的資訊,後部分是校驗碼,如果crc碼共長n個bit,資訊碼長k個bit,就稱為 n,k 碼。它的編碼規則是 將原資訊碼 kbit 左移r位 k r n 運用乙個生成多項式g x 也可看成二進位制數 用模2除上面的式子,得到的餘數就是校驗碼。非常簡單...

迴圈冗餘校驗碼

本文先講述crc校驗原理等資訊,最後闡述crc 直接計算法 和高效查表法。一 基本原理 crc檢驗原理實際上就是在乙個p位二進位制資料序列之後附加乙個r位二進位制檢驗碼 序列 從而構成乙個總長為n p r位的二進位制序列 附加在資料序列之後的這個檢驗碼與資料序列的內容之間存在著某種特定的關係。如果因...