CRC校驗原理與計算方法整理

2021-10-10 20:25:15 字數 1148 閱讀 2795

1、crc(迴圈冗餘校驗)概述

crc(迴圈冗餘校驗)是一種編碼技術,主要作用是確保傳輸的資料準確無誤。

2、crc編碼原理

crc編碼採用多項式除法的原理,將要傳輸的資訊除以乙個預先確定的多項式,得到的余式就是所需的crc檢驗碼。

假設需要傳送的資訊為1000_0000,crc生成多項式為g(x) = x^8+x^2+x+1(二進位制序列為1_0000_0111)。

1、依據crc生成多項式可知crc校驗碼的位寬為(8=9-1)。

2、初始化crc校驗碼的值為0,並將其新增到資訊後,使資訊序列轉換為1000_0000_0000_0000。

3、依據「模2運演算法」計算crc校驗碼,計算步驟如下圖所示。每次計算都是消除高次項,然後移入新的資料,再進行下一次計算,直到所有的資料計算完成。

生成多項式

__________1_0_0_0_0_0_1_1

商100000111

1000_0000_0_0_0_0_0_0_0_0

1000_0011_1

_000_0011_1_0

餘數_000_0000_0_0

__00_0011_1_0_0

餘數__00_0000_0_0_0

___0_0011_1_0_0_0

餘數___0_0000_0_0_0_0

_____0011_1_0_0_0_0

餘數_____0000_0_0_0_0_0

______011_1_0_0_0_0_0

餘數______000_0_0_0_0_0_0

_______11_1_0_0_0_0_0_0

餘數_______10_0_0_0_0_1_1_1

________1_1_0_0_0_1_1_1_0

餘數________1_0_0_0_0_0_1_1_1

__________1_0_0_0_1_0_0_1

餘數4、crc計算步驟描述。

如上圖所示,其計算結果可以描述為如下:

1、初始化crc暫存器的值為1000_0000。

2、檢測crc暫存器的最高位是否為1;

crc[15]=1;crc = (crc<<1 )^ g(x);

crc[15]=0;crc = crc<<1;

3、一直迴圈8次後,輸出crc校驗碼。

CRC校驗原理與計算

crc,cyclic redundancy check 迴圈冗餘校驗。1,crc的原理 crc校驗的原理在很多地方寫的都比較詳細,也比較複雜,但其本質就是一種校驗碼的計算方法。收 發雙方在通訊之前要約定好乙個多項式 介紹原理的地方也叫做生成多項式,其實就是一串二進位製碼,關於多項式跟二進位製碼的對應...

CRC 迴圈冗餘校驗碼 的計算方法

迴圈冗餘校驗crc cyclical redundancy check 字段位於尾部,有32位,有時稱為ieee ansi標準的crc32.要使用乙個n位crc監測 資料傳輸錯誤,被檢查的訊息首先要追加n位0形成乙個擴充套件訊息 使用模2除法 除以乙個n 1位的值,這個作為出書的紙稱為生成 多項式。...

校驗和計算方法

1.說明 1 校驗和覆蓋的內容 ip校驗和 ip首部。icmp校驗和 icmp首部 icmp資料 2.計算校驗和的步驟 1 把校驗和字段設定為0。2 把需要校驗的資料看成以16位為單位的數字組成,依次進行二進位制反碼求和。3 把得到的結果存入校驗和字段中。另外udp tcp資料報的長度可以為奇數位元...