CRC冗餘校驗碼

2021-08-03 04:51:00 字數 1209 閱讀 4395

1、基本概念

crc(cyclic redundancy check)是資料通訊領域中最常用的一種查錯校驗碼,對資料進行多項式計算,並將得到的結果附在幀的後面,接收裝置也執行相似的演算法以保證資料傳輸的正確性與完整性。

2、基本原理

這裡先介紹「模2除法」的知識,與「算數除法」類似,只不過「模2除法「既不向上借位,也不比較除數與被除數的相同位數值的大小,只要以相同位數相除即可,相當於二進位制中的邏輯異或運算。如:100101除以1110,結果為11,見下圖:

原理介紹:

在k位資訊碼後再拼接r位校驗碼,整個編碼長度為n位,因此這種編碼也稱為(n,k)碼。給定乙個(n,k)碼可以得到乙個最高次冪為n-k=r的多項式g(x)。根據g(x)可以就得到計算出k位資訊的校驗碼。

具體生成過程:1)假設要傳送的資訊的多項式g(x)=x^r+….+1,則對應的生成乙個有r+1位的二進位制位元串串行,將給出的原幀二進位制序列左移r位,則右邊空出的r位就是校驗碼的位置。

2)用左移過的原幀二進位制序列「模2除以」多項式二進位制位元串串行所得的餘數即為crc校驗碼,將校驗碼放在原幀二進位制序列左移空出的位置得到新的幀。

3)將新幀傳送給接收端,接收端用接受到的新幀「模2除以」原幀(原資訊序列),如果餘數為0,則證明該幀資料在傳輸過程中沒有出差錯。

3、例題詳解:假設選擇的crc生成多項式為g(x)=x^4+x^3+1,要求出二進位制序列10110011的crc校驗碼。

求解過程:

1)首先由生成多項式g(x)=x^4+x^3+1得到二進位制位元串n為11001,且crc校驗碼位數r=4(二進位制位元串為5位,crc校驗碼位數比二進位制位元串少一位)。

2)原幀為10110011,將其左移r個位,在它後面再加4個0得101100110000,然後把這個數以「模2除法」方式除以1)得到的二進位制位元串,得到的餘數(crc碼)為0100.

3)將2)計算的crc碼替換原幀101100110000後面的4個0,得新幀101100110100.再把這個新幀傳送給接收端。

4)接收端收到新幀之後以「模2除法」方式除以原幀11001,驗證其餘數是否為0。若為0,則證明該幀資料在傳輸過程中沒有出現差錯,否則出現了差錯。

CRC校驗(迴圈冗餘校驗碼)

一 概念 crc即迴圈冗餘校驗碼 是資料通訊領域中最常用的一種查錯校驗碼,其特徵是資訊字段和校驗欄位的長度可以任意選定。迴圈冗餘檢查 crc 是一種資料傳輸檢錯功能,對資料進行多項式計算,並將得到的結果附在幀的後面,接收裝置也執行類似的演算法,以保證資料傳輸的正確性和完整性。二 工作原理 迴圈冗餘校...

CRC迴圈冗餘校驗碼

1 crc crc迴圈冗餘校驗碼是資料通訊中的一種查錯校驗碼。迴圈冗餘檢查對資料進行多項式計算,將計算結果附加在幀後面,接收資料的裝置執行模2運算,保證資料傳輸的正確性和完整性。2.模2除法 不向上借位,只要除數和被除數的位數相同就可進行計算,不比較它們的大小 模2運算中用到了模2減法,與邏輯異或相...

迴圈冗餘校驗碼CRC

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