CRC迴圈冗餘校驗碼

2021-08-02 16:31:44 字數 1115 閱讀 9268

1、crc

crc迴圈冗餘校驗碼是資料通訊中的一種查錯校驗碼。

迴圈冗餘檢查對資料進行多項式計算,將計算結果附加在幀後面,接收資料的裝置執行模2運算,保證資料傳輸的正確性和完整性。

2.模2除法

①不向上借位,只要除數和被除數的位數相同就可進行計算,不比較它們的大小;

②模2運算中用到了模2減法,與邏輯異或相似:

1-1=0, 1-0=1, 0-1=1 , 0-0=0,

③例子:

3.crc校驗的步驟

(1)選擇乙個生成多項式,作為對接收的幀進行除法運算時的除數,生成多項式可以寫為二進位制形式;

(2)計算crc校驗碼位數k=生成多項式位數-1,在要傳送的資料幀後加k個0,除第一步用生成多項式轉化的二進位制數(使用模2除法),得到的餘數即為crc校驗碼;

(3)把得到的校驗碼crc加到原資料幀後,構成乙個新資料幀傳送到接收端,接收端將新幀除以之前選擇的除數(模2除法),如果沒有餘數,則表明該資料幀在傳輸過程中沒有出錯,否則出錯;

4.crc校驗例子:

假設crc生成多項式g(x)=x5+x4+x+1,要傳送的二進位制資料幀為100101110,求crc校驗碼:

①把生成多項式轉換為二進位制數:110011;

②由生成多項式的位數為6可知,crc校驗碼的位數為5,所以在資料幀後加5個0,變為10010111000000,將這個數使用模2除法除以生成多項式110011,得到餘數即crc校驗碼11010;

③用得到的crc校驗碼替換掉資料幀中的5個0,形成新的幀10010111011010,將這個新幀傳送給接收端;

④接收端收到新幀後,用新幀除以上面的多項式110011(模2除法),如果餘數為0,該資料幀在傳輸過程中沒有出錯,否則出錯;(經驗證餘數為0)

迴圈冗餘校驗碼CRC

一 基本原理 crc檢驗原理實際上就是在乙個p位二進位制資料序列之後附加乙個r位二進位制檢驗碼 序列 從而構成乙個總長為n p r位的二進位制序列 附加在資料序列之後的這個檢驗碼與資料序列的內容之間存在著某種特定的關係。如果因干擾等原因使資料序列中的某一位或某些位發生錯誤,這種特定關係就會被破壞。因...

CRC迴圈冗餘校驗碼

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

迴圈冗餘校驗碼 CRC

演算法 雙方預先規定好乙個二進位制數,即生成多項式,這個多項式最高最低位均為1。多項式短於幀長度。設生成多項式為r 1位,即將傳送的幀長為m位,則幀在後面加上r個0,得到乙個m r位的數。用新得到的數對生成多項式取餘,然後新得到的數加上餘數就是發出的幀。例 第一行的幀為原本的幀,規定的生成多項式為1...