zoukankan      html  css  js  c++  java
  • CRC校验

    CRC校验原理:

    在k位信息码后再拼接r位的校验码,报文编码长度为n位,因此,这种编码又叫(n,k)码。

    定理:对于一个给定的(n,k)码,可以证明,存在一个最高次幂为n=k+r的多项式G(x),存在且仅存在一个R次多项式G(x),使得

    其中:

    m(x) :k次信息多项式,

    r(x) :r-1次校验多项式,

    g(x):生成多项式:

    发送方通过指定的G(x)产生r位的CRC校验码,接收方则通过该G(x)来验证收到的报文码的CRC校验码是否为0。

    假设发送信息用信息多项式C(X)表示,将C(x)左移r位,则可表示成C(x)*2r,这样C(x)的右边就会空出r位校验码的位置,做除法(模2除)

    ,得到的余数R就是校验码。发送的CRC编码是,验证接收到的报文编码是否至正确,依然是做模2除:

    CRC校验手算示例:

    生成多项式:G(X)=X4+X3+1,要求出二进制序列10110011的CRC校验码。

    (1)G(X)=X4+X3+1,二进制比特串为11001;(有X的几次方,对应的2的几次方的位就是1)

    (2)因为校验码4位,所以10110011后面再加4个0,得到101100110000,用“模2除法”(其实就是亦或^)即可得出结果;

     

                                                图5-10 CRC校验码计算示例

     (3)CRC^101100110000得到101100110100。发送到接收端;

     (4)接收端收到101100110100后除以11001(以“模2除法”方式去除),余数为0则无差错;

  • 相关阅读:
    java 文件下载遇到的数个坑
    table标签 在谷歌和ie浏览器下不同的表现效果
    Java Day 19
    Java Day 18
    Java Day 17
    Java Day 16
    Java Day 15
    Java Day 14
    Java Day 13
    Java Day 12
  • 原文地址:https://www.cnblogs.com/Hqx-curiosity/p/12160164.html
Copyright © 2011-2022 走看看