crc校驗(yàn)簡(jiǎn)記式意思
CRC校驗(yàn)
CRC即循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check):是數(shù)據(jù)通信領(lǐng)域中最常用的一種查錯(cuò)校驗(yàn)碼,其特征是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。循環(huán)冗余檢查(CRC)是一種數(shù)據(jù)傳輸檢錯(cuò)功能,對(duì)數(shù)據(jù)進(jìn)行多項(xiàng)式計(jì)算,并將得到的結(jié)果附在幀的后面,接收設(shè)備也執(zhí)行類似的算法,以保證數(shù)據(jù)傳輸?shù)恼_性和完整性。
工作原理
循環(huán)冗余校驗(yàn)碼(CRC)的基本原理是:在K位信息碼后再拼接R位的校驗(yàn)碼,整個(gè)編碼長(zhǎng)度為N位,因此,這種編碼也叫(N,K)碼。對(duì)于一個(gè)給定的(N,K)碼,可以證明存在一個(gè)最高次冪為N-K=R的多項(xiàng)式G(x)。
根據(jù)G(x)可以生成K位信息的校驗(yàn)碼,而G(x)叫做這個(gè)CRC碼的生成多項(xiàng)式。 校驗(yàn)碼的具體生成過程為:假設(shè)要發(fā)送的信息用多項(xiàng)式C(X)表示,將C(x)左移R位(可表示成C(x)*2R),這樣C(x)的右邊就會(huì)空出R位,這就是校驗(yàn)碼的位置。用 C(x)*2R 除以生成多項(xiàng)式G(x)得到的余數(shù)就是校驗(yàn)碼。
任意一個(gè)由二進(jìn)制位串組成的代碼都可以和一個(gè)系數(shù)僅為‘0’和‘1’取值的多項(xiàng)式一一對(duì)應(yīng)。例如:代碼1010111對(duì)應(yīng)的多項(xiàng)式為x6+x4+x2+x+1,而多項(xiàng)式為x5+x3+x2+x+1對(duì)應(yīng)的代碼101111。
CRC標(biāo)準(zhǔn)以及簡(jiǎn)記式
一、CRC標(biāo)準(zhǔn)
下表中列出了一些見于標(biāo)準(zhǔn)的CRC資料:
* 生成多項(xiàng)式的最高冪次項(xiàng)系數(shù)是固定的1,故在簡(jiǎn)記式中,將最高的1統(tǒng)一去掉了,如04C11DB7實(shí)際上是104C11DB7。 ** 前稱CRC-CCITT。ITU的前身是CCITT。
備注:
?。?)生成多項(xiàng)式是標(biāo)準(zhǔn)規(guī)定的
?。?)CRC校驗(yàn)碼是基于將位串看作是系數(shù)為0或1的多項(xiàng)式,一個(gè)k位的數(shù)據(jù)流可以看作是關(guān)于x的從k-1階到0階的k-1次多項(xiàng)式的系數(shù)序列。采用此編碼,發(fā)送方和接收方必須事先商定一個(gè)生成多項(xiàng)式G(x),其高位和低位必須是1。要計(jì)算m位的幀M(x)的校驗(yàn)和,基本思想是將校驗(yàn)和加在幀的末尾,使這個(gè)帶校驗(yàn)和的幀的多項(xiàng)式能被G(x)除盡。當(dāng)接收方收到加有校驗(yàn)和的幀時(shí),用G(x)去除它,如果有余數(shù),則CRC校驗(yàn)錯(cuò)誤,只有沒有余數(shù)的校驗(yàn)才是正確的。
(3) 名稱 生成多項(xiàng)式 簡(jiǎn)記式* 標(biāo)準(zhǔn)引用
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。
二、簡(jiǎn)記式意思
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 最高次冪省略,其余位次對(duì)應(yīng)冪次,即對(duì)應(yīng)多項(xiàng)式有0、1、4次冪
依次類推:CRC-8 0x31=110001 即對(duì)應(yīng)多項(xiàng)式有0、4、5、8次冪
CRC-16 0x8005= 1000000000000101 即對(duì)應(yīng)多項(xiàng)式有0、2、15、16次冪
非常好我支持^.^
(1) 100%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [電子說] 如何在Windows系統(tǒng)上設(shè)置Docker鏡像源 2023-10-24
- [連接器] 福特線束中最常用的顏色是什么?如何識(shí)別福特線束的顏色代碼? 2023-10-24
- [編程語言及工具] RocketMQ的定時(shí)任務(wù)設(shè)計(jì)精髓! 2023-10-24
- [電子說] 從零基礎(chǔ)開始,掌握低代碼+ Al 的應(yīng)用技巧 2023-10-23
- [電子說] 接口統(tǒng)一異常優(yōu)雅處理介紹及實(shí)戰(zhàn) 2023-10-22
- [電子說] 汽車軟件單元測(cè)試的要點(diǎn)與意義 2023-10-22
- [電子說] main函數(shù)的三個(gè)參數(shù) 2023-10-21
- [電子說] SymPy:四行代碼秒解微積分 2023-10-21
( 發(fā)表人:龔婷 )