怎样计算CRC

来源:百度知道 编辑:UC知道 时间:2024/06/02 07:00:32
已知信息位为1100,生成多项式G(x) = x3+x+1,求CRC码。
M(x) = 1100 M(x)*x3 = 1100000 G(x) = 1011
M(x)*x3 / G(x) = 1110 + 010 /1011 R(x) = 010
CRC码为: M(x)*x 3+R(x)=1100000+010 =1100010
其原理是:CRC码一般在k位信息位之后拼接r位校验位生成。编码步骤如下:
(1)将待编码的k位信息表示成多项式 M(x)。
(2)将 M(x)左移 r 位,得到 M(x)*xr 。
(3)用r+1位的生成多项式G(x)去除M(x)*xr 得到余数R(x)。
(4)将M(x)*xr 与R(x)作模2加,得到CRC码。
什么是M(x),还有什么是G(x)?CRC到底是怎么计算的?
我的数学不是很好,看不懂上面那些,请知道的朋友信息解析上面给出的计算过程?到底CRC是怎样计算的???

M(X)是信息位,G(X)是生成多项式
计算过程如下:
(1)已知信息位为1100,则多项式M(X)为1100;
(2)将M(X)左移r 位,r 为3,则得到M(x)*xr =M(x)*x3 = 1100000 ;
(3)用生成多项式G(x)去除M(x)*xr 得到余数R(x),即1100000/1100=010,R(x) = 010;
(4) 将M(x)*xr 与R(x)作模2加,得到CRC码 ,即1100000+010 =1100010