CRC校驗的原理

2021-10-09 23:59:37 字數 860 閱讀 4278

crc全稱是:cyclic redundancy check,翻譯過來就是:迴圈冗餘校驗碼。是在資料通訊領域中一種十分常用的查錯校驗碼,和串列埠通訊中常用的奇偶校驗是屬於同一種型別的。都是進行資料查錯的演算法,而不具有糾錯能力。

資料傳送方(tx)與接收方(rx)進行交換時,採用crc進行資料檢錯時,確定資料在傳送過程中沒有發生錯誤。其基本實現原理是tx側在乙個將要傳送的資料報後加上n位crc校驗碼,rx側接收 資料報+n位crc校驗碼。而新增crc校驗碼的基本原則,通過收發雙方協議確定新增n位crc校驗碼,就是根據原資料與多項式所對應的資訊進行模2除法得到的。根據常用的多項式:g(x)=x4+x3+1,所對應的資訊**為:11001,或者多項式:g(x)=x8+x7+x6+x5+x3+1,所對應的資訊**為:111010001。這也是分別對應著常用的crc4,crc8所採用的常用多項式,(而crc4,crc8中的多項式有很多種)。收發雙方也可以設定相關多相關多項式,位數,型別均可自行設定,用於雙方進行資料校驗。

由上圖計算計算得出的餘數就是crc校驗碼,將資料新增到原資料後,傳送給接收方,接收方接收到原資料+crc校驗碼,利用相同的多項式,進行同樣的模2除法,若餘數為0,則表示接收的資料無誤。

選擇crc位數,也就是選擇合適的多項式(g(x)=x4+x3+1),並得到多項式對應的資料字段(11001),

在原資料(11101101)後新增n位0資料(111011010000)進行模2運算,得到其餘數(0011),注意新增0的個數字為4位,而多項式的資訊欄位為5位,這並不矛盾。

將餘數新增到原資料後(111011010011),進行傳送,

接收到原資料+crc校驗碼,用相同的多項式資料字段進行模2除法,若餘數為0,表示接收資料無誤。

CRC校驗原理

crc校驗原理 1 迴圈校驗碼 crc碼 是資料通訊領域中最常用的一種差錯校驗碼,其特 徵是資訊字段和校驗欄位的長度可以任意選定。2 生成crc碼的基本原理 任意乙個由二進位制位串組成的 都可以和乙個系 數僅為 0 和 1 取值的多項式一一對應。例如 1010111對應的多項 式為x6 x4 x2 ...

CRC校驗原理

以下內容摘自筆者即將出版的最新著作 深入理解計算機網路 一書。本書將於12月底出版上市,敬請留意!本書原始目錄參見此文 5.3.2 迴圈冗餘校驗檢錯方案 上節介紹的奇偶校驗碼 pcc 只能校驗一位錯誤,本節所要介紹的迴圈冗餘校驗碼 crc 的檢錯能力更強,可以檢出多位錯誤。1.crc校驗原理 crc...

CRC校驗原理

基本概念 crc即迴圈校驗碼是資料通訊中最常用的一種差錯校驗碼。資訊欄位的長度和校驗碼的長度是任意的。基本原理 在k位資訊碼的後面加上r位校驗碼,整個長度是n位,n k r。給定乙個 n,r 碼,可以證明存在乙個最高次冪為r的多項式g x 根據g x 可以生成k位資訊的校驗碼,而g x 叫做這個cr...