循环冗余检错码CRC


模2运算

模2加以及模2减等同于异或运算,即相同得0,相异得1

模2乘法模2除法样例如下



循环冗余检错码CRC

  1. 任何一个k位的帧看成为一个k-1次的多项式M(x):1011001 看成 x^6+x^4+x^3+1(k项k-1阶多项式)
  2. 设定一个多项式编码生成多项式G(x),G(x)为r阶,G(x)任意,但r<k(虽然这么说但一般有个标准)
  3. 计算x^rM(x)/G(x) = Q(x)+R(x),其中Q(x)为商、R(x)为余数
  4. 这样(x^rM(x)-R(x))一定能被G(x)整除,即余数为0,否则说明出现错误

样例:


  • 帧:1101011011
  • 除数:10011(也就是G(x))
  • 传输帧:11010110111110(帧数据后面先添加4个0,然后再加上余数1110)

具体过程:11010110110000/10011得余数1110 ,11010110110000-1110 = 11010110111110,所以编码后得CRC码为:11010110111110

当这个码字达到接收方时,如CRC码在接收端能被10011整除则说明接收正确,如果不能被整除,则被检测到已出错


生成多项式G(x)的国际标准




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值