crc任意位生成多項(xiàng)式
任意位運(yùn)算
自適應(yīng)算法
循環(huán)冗余校驗(yàn)碼(CRC,Cyclic Redundancy Code)是采用多項(xiàng)式的
編碼方式,這種方法把要發(fā)送的數(shù)據(jù)看成是一個(gè)多項(xiàng)式的系數(shù)
,數(shù)據(jù)為bn-1bn-2…b1b0 (其中為0或1),則其對(duì)應(yīng)的多項(xiàng)式為:
bn-1Xn-1+bn-2Xn-2+…+b1X+b0
例如:數(shù)據(jù)“10010101”可以寫為多項(xiàng)式
X7+X4+X2+1。
循環(huán)冗余校驗(yàn)CRC
循環(huán)冗余校驗(yàn)方法的原理如下:
(1) 設(shè)要發(fā)送的數(shù)據(jù)對(duì)應(yīng)的多項(xiàng)式為P(x)。
(2) 發(fā)送方和接收方約定一個(gè)生成多項(xiàng)式G(x),設(shè)該生成多項(xiàng)式
的最高次冪為r。
(3) 在數(shù)據(jù)塊的末尾添加r個(gè)0,則其相對(duì)應(yīng)的多項(xiàng)式為M(x)=XrP(x)
。(左移r位)
(4) 用M(x)除以G(x),獲得商Q(x)和余式R(x),則 M(x)=Q(x)
×G(x)+R(x)。
(5) 令T(x)=M(x)+R(x),采用模2運(yùn)算,T(x)所對(duì)應(yīng)的數(shù)據(jù)是在原數(shù)
據(jù)塊的末尾加上余式所對(duì)應(yīng)的數(shù)據(jù)得到的。
(6) 發(fā)送T(x)所對(duì)應(yīng)的數(shù)據(jù)。
(7) 設(shè)接收端接收到的數(shù)據(jù)對(duì)應(yīng)的多項(xiàng)式為T’(x),將T’(x)除以G(x)
,若余式為0,則認(rèn)為沒有錯(cuò)誤,否則認(rèn)為有錯(cuò)。
標(biāo)簽:
crc
CRC
多項(xiàng)式
位運(yùn)算
上傳時(shí)間:
2014-11-28
上傳用戶:宋桃子