迴圈冗餘校驗碼

2021-06-26 00:21:22 字數 756 閱讀 2145

crc碼是由兩部分組成,前部分是資訊碼,就是需要校驗的資訊,後部分是校驗碼,如果crc碼共長n個bit,資訊碼長k個bit,就稱為(n,k)碼。它的編碼規則是:

將原資訊碼(kbit)左移r位(k+r=n)

運用乙個生成多項式g(x)(也可看成二進位制數)用模2除上面的式子,得到的餘數就是校驗碼。

非常簡單,要說明的:模2除就是在除的過程中用模2加,模2加實際上就是我們熟悉的異或運算,就是加法不考慮進製,公式是:

0+0=1+1=0,1+0=0+1=1

即『異』則真,『非異』則假。

由此得到定理:a+b+b=a也就是『模2減』和『模2加』直值表完全相同。

有了加減法就可以用來定義模2除法,於是就可以用生成多項式g(x)生成crc校驗碼。

a、生成多項式的最高位和最低位必須為1。

b、當被傳送資訊(crc碼)任何一位發生錯誤時,被生成多項式做模2除后應 該使餘數不為0。

c、不同位發生錯誤時,應該使餘數不同。

d、對餘數繼續做模2除,應使餘數迴圈。

例如:

g(x)=x^4+x^3+x^2+1,(7,3)碼,資訊碼110產生的crc碼就是:

對於g(x)=x^4+x^3+x^2+1的解釋:(都是從右往左數)x4就是第五位是1,因為沒有x1所以第2位就是0。

11101 |110,0000(設a=11101 ,b=1100000)

用b除以a做模2運算得到餘數:1001

餘數是1001,所以crc碼是1001,傳輸碼為:110,1001

校驗碼 迴圈冗餘校驗碼

迴圈冗餘校驗碼,又稱crc碼。它利用生成多項式來為k個資料位產生r個校驗位來進行編碼。其編碼長度為k r。迴圈冗餘校驗碼由兩部分組成,左邊為資訊碼 資料 右邊為校驗碼,如下圖 若資訊碼佔k位,則校驗碼就佔n k位,其中,n為crc碼的字長,所以又稱為 n,k 碼。校驗碼位數越多,校驗能力越強。crc...

迴圈冗餘校驗碼

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

迴圈冗餘校驗碼

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