CRC校验

今天我们的主题是——CRC校验

一、什么是CRC校验?

  在MAC帧格式中最后有4个字节是CRC校验,究竟什么是CRC校验?

  CRC即循环冗余校验码:是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。

二、如何校验?

  CRC检验原理实际上就是在一个p位二进制数据序列之后附加一个r位二进制检验码(序列),从而构成一个总长为n=p+r位的二进制序列;任何一个二进制数列都可以和一个系数仅仅为‘0’和‘1’的多项式一一对应。比如:

x^6+x^4+x^2+x^1+1 该多项式对应的二进制序列为:1010111。

具体校验步骤:

【例】假设使用的生成多项式是G(X)=X3+X+1。4位的原始报文为1010,求编码后的报文。

解:

1、将生成多项式G(X)=X3+X+1转换成对应的二进制除数1011;

2、此题生成多项式有4位(R+1)(注意:4位的生成多项式计算所得的校验码为3位,R为校验码位数),要把原始报文   1010左移3位变成1010000;

3、用生成多项式对应的二进制数对左移3位后的原始报文进行模2除(高位对齐),相当于按位异或,即相同为0,相   异为1,不考虑进位与借位

  1010000

  ^1011

  ------------------

  0001000

  1000(左移三位)

  ^1011

  ------------------

  0011

  得到的余位0011,校验码需要三位就是011,所以最终编码为:1010011

三、几点说明

1、CRC是一种常用的检错码,并不能用于自动纠错

2、只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。

3、仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(只是非常近似的认为是无差错的),并不能保证可   靠传输。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值