CRC循环冗余码及其详细计算

本文其实是B站教学视频的搬运:链接点击

循环冗余校验码的定义

循环冗余校验码由信息码n位和校验码k位构成。k位校验位拼接在n位数据位后面,n+k为循环冗余校验码的字长,又称这个校验码(n+k,n)码。
n位信息位可以表示成为一个报文多项式M(x),最高幂次是xn-1。约定的生成多项式G(x)是一个k+1位的二进制数,最高幂次是xk。将M(x)乘以xk,即左移k位后,除以G(x),得到的k位余数就是校验位。这里的除法运算是模2除法,即当部分余数首位是1时商取1,反之商取0。然后每一位的减法运算是按位减,不产生借位。

循环冗余校验码的特点

理论上可以证明循环冗余校验码的检错能力有以下特点:①可检测出所有奇数位错;②可检测出所有双比特的错;③可检测出所有小于、等于校验位长度的突发错。

什么是模2运算

在这里插入图片描述

CRC码的计算

在这里插入图片描述
下面有两个多项式,M(x)代表发送信息的多项式,G(x)代表校验位信息

在这里插入图片描述
上面两个式子所代表的二进制吗根据多项式每项的系数得出

在这里插入图片描述
为什么是要在信息的二进制码上加3个0,是根据右边式子的最高次幂是3,所以左边的式子乘以2的3次方

在这里插入图片描述
再将上面的两个二进制数做模二除法
在这里插入图片描述
这里有一个规则,每一步得出的二进制数将抹掉一位,此时如果它的首位是0,那么除数就商0,如果是1,就商1,得出下一个被除数。
在这里插入图片描述
当得到的结果小于除数时,就是余数
在这里插入图片描述
循环冗余校验码就是这样的出来的

具体怎么校验

在这里插入图片描述

上图是黄色的是发送塔,蓝色的是接收塔,发送方和接收方的一个约定是G(x),(两方都知道)
在这里插入图片描述

如果接收方收到的信息不能整除检验码,就说明信息有错,反之如上

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值