crc校驗簡記式意思
CRC校驗
CRC即循環冗余校驗碼(Cyclic Redundancy Check):是數據通信領域中最常用的一種查錯校驗碼,其特征是信息字段和校驗字段的長度可以任意選定。循環冗余檢查(CRC)是一種數據傳輸檢錯功能,對數據進行多項式計算,并將得到的結果附在幀的后面,接收設備也執行類似的算法,以保證數據傳輸的正確性和完整性。
工作原理
循環冗余校驗碼(CRC)的基本原理是:在K位信息碼后再拼接R位的校驗碼,整個編碼長度為N位,因此,這種編碼也叫(N,K)碼。對于一個給定的(N,K)碼,可以證明存在一個最高次冪為N-K=R的多項式G(x)。
根據G(x)可以生成K位信息的校驗碼,而G(x)叫做這個CRC碼的生成多項式。 校驗碼的具體生成過程為:假設要發送的信息用多項式C(X)表示,將C(x)左移R位(可表示成C(x)*2R),這樣C(x)的右邊就會空出R位,這就是校驗碼的位置。用 C(x)*2R 除以生成多項式G(x)得到的余數就是校驗碼。
任意一個由二進制位串組成的代碼都可以和一個系數僅為‘0’和‘1’取值的多項式一一對應。例如:代碼1010111對應的多項式為x6+x4+x2+x+1,而多項式為x5+x3+x2+x+1對應的代碼101111。
CRC標準以及簡記式
一、CRC標準
下表中列出了一些見于標準的CRC資料:
* 生成多項式的最高冪次項系數是固定的1,故在簡記式中,將最高的1統一去掉了,如04C11DB7實際上是104C11DB7。 ** 前稱CRC-CCITT。ITU的前身是CCITT。
備注:
(1)生成多項式是標準規定的
(2)CRC校驗碼是基于將位串看作是系數為0或1的多項式,一個k位的數據流可以看作是關于x的從k-1階到0階的k-1次多項式的系數序列。采用此編碼,發送方和接收方必須事先商定一個生成多項式G(x),其高位和低位必須是1。要計算m位的幀M(x)的校驗和,基本思想是將校驗和加在幀的末尾,使這個帶校驗和的幀的多項式能被G(x)除盡。當接收方收到加有校驗和的幀時,用G(x)去除它,如果有余數,則CRC校驗錯誤,只有沒有余數的校驗才是正確的。
(3) 名稱 生成多項式 簡記式* 標準引用
CRC-4 x4+x+1 3 ITU G.704
CRC-8 x8+x5+x4+1 0x31
CRC-8 x8+x2+x1+1 0x07
CRC-8 x8+x6+x4+x3+x2+x1 0x5E
CRC-12 x12+x11+x3+x2+x+1 80F
CRC-16 x16+x15+x2+1 8005 IBM SDLC
CRC16-CCITT x16+x12+x5+1 1021 ISO HDLC,ITU X.25,V.34/V.41/V.42, PPP-FCS
CRC-32 x32+x26+x23+.。.+x2+x+1 04C11DB7 ZIP, RAR, IEEE 802 LAN/FDDI, IEEE 1394, PPP-FCS
CRC-32c x32+x28+x27+.。.+x8+x6+1 1EDC6F41 SCTP。
二、簡記式意思
CRC-4 x4+x+1 3 ITU G.704
CRC-8 x8+x5+x4+1 0x31
CRC-8 x8+x2+x1+1 0x07
CRC-8 x8+x6+x4+x3+x2+x1 0x5E
CRC-12 x12+x11+x3+x+1 80F
CRC-16 x16+x15+x2+1 8005 IBM SDLC
CRC16-CCITT x16+x12+x5+1 1021 ISO HDLC, ITU X.25, V.34/V.41/V.42, PPP-FCS
CRC-32 x32+x26+x23+.。.+x2+x+1 04C11DB7 ZIP, RAR, IEEE 802 LAN/FDDI, IEEE 1394, PPP-FCS
CRC-32c x32+x28+x27+.。.+x8+x6+1 1EDC6F41 SCTP
其中CRC-4 0x3=11 最高次冪省略,其余位次對應冪次,即對應多項式有0、1、4次冪
依次類推:CRC-8 0x31=110001 即對應多項式有0、4、5、8次冪
CRC-16 0x8005= 1000000000000101 即對應多項式有0、2、15、16次冪
非常好我支持^.^
(1) 100%
不好我反對
(0) 0%
相關閱讀:
- [電子說] 如何在Windows系統上設置Docker鏡像源 2023-10-24
- [連接器] 福特線束中最常用的顏色是什么?如何識別福特線束的顏色代碼? 2023-10-24
- [編程語言及工具] RocketMQ的定時任務設計精髓! 2023-10-24
- [電子說] 從零基礎開始,掌握低代碼+ Al 的應用技巧 2023-10-23
- [電子說] 接口統一異常優雅處理介紹及實戰 2023-10-22
- [電子說] 汽車軟件單元測試的要點與意義 2023-10-22
- [電子說] main函數的三個參數 2023-10-21
- [電子說] SymPy:四行代碼秒解微積分 2023-10-21
( 發表人:龔婷 )