控制工程师论坛

现场总线

从我粘来的例子中"生成多项式G(X)=X^4+X^3+1=11001"是怎么得来的?

yk_wangyu
yk_wangyu

2009-10-10

从数学方法进行推导:
首先,设信息多项式M(X)=X^5+X^4+X+X^0=110011,信息多项式你可以理解为你正要进行CRC校
验的串数据流,当然可以是任意的。
然后设生成多项式G(X)=X^4+X^3+1=11001,(多项式是进行校验的关键,比如HDLC的CRC16校验
是X^16+X^15+X^2+1=11000000000000101)。
OK,接下去就可以做了。

1。CRC校验位数应该比G(X)少一位,不要问为什么哦。所以这里应该是4位。
2。M(X)*CRC位数=(X^5+X^4+X+X^0)X^4=1100110000
3。然后用第2步的结果除以G(X),
   即1100110000/11001,我们只要余数,商没有用,得余数是1001(过程自己在纸上写)。
这个余数就是CRC校验字符。
4。好了把信息多项式M(X)加上CRC校验字符就是整个经过个CRC校验的码,就是1100111001。

 

 

再问一个就是M(X)与G(X)有什么关系?

回帖

评论2

总共 , 当前 /
首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China