crc任意位生成多項式
任意位運算
自適應算法
循環冗余校驗碼(CRC,Cyclic Redundancy Code)是采用多項式的
編碼方式,這種方法把要發送的數據看成是一個多項式的系數
,數據為bn-1bn-2…b1b0 (其中為0或1),則其對應的多項式為:
bn-1Xn-1+bn-2Xn-2+…+b1X+b0
例如:數據“10010101”可以寫為多項式
X7+X4+X2+1。
循環冗余校驗CRC
循環冗余校驗方法的原理如下:
(1) 設要發送的數據對應的多項式為P(x)。
(2) 發送方和接收方約定一個生成多項式G(x),設該生成多項式
的最高次冪為r。
(3) 在數據塊的末尾添加r個0,則其相對應的多項式為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運算,T(x)所對應的數據是在原數
據塊的末尾加上余式所對應的數據得到的。
(6) 發送T(x)所對應的數據。
(7) 設接收端接收到的數據對應的多項式為T’(x),將T’(x)除以G(x)
,若余式為0,則認為沒有錯誤,否則認為有錯。
標簽:
crc
CRC
多項式
位運算
上傳時間:
2014-11-28
上傳用戶:宋桃子