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则无差错;

  • 相关阅读:
    test3
    test2
    test
    移动布局之流式布局
    移动端布局
    如何将本地项目上传到Github上
    node: 使用res.send()时报错RangeError [ERR_HTTP_INVALID_STATUS_CODE]: Invalid status code: *
    字体图标
    pip install Wikipedia2Vec时报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc4 in position 41: invalid continuation byte
    tensorflow与keras版本不匹配问题
  • 原文地址:https://www.cnblogs.com/Hqx-curiosity/p/12160164.html
Copyright © 2011-2022 走看看