1、基本概念
CRC(Cyclic Redundancy Check)是数据通信领域中最常用的一种查错校验码,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行相似的算法以保证数据传输的正确性与完整性。
2、基本原理
这里先介绍“模2除法”的知识,与“算数除法”类似,只不过“模2除法“既不向上借位,也不比较除数与被除数的相同位数值的大小,只要以相同位数相除即可,相当于二进制中的逻辑异或运算。如:100101除以1110,结果为11,见下图:
原理介绍:
在K位信息码后再拼接R位校验码,整个编码长度为N位,因此这种编码也称为(N,K)码。给定一个(N,K)码可以得到一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以就得到计算出K位信息的校验码。
具体生成过程:1)假设要发送的信息的多项式G(x)=x^R+….+1,则对应的生成一个有R+1位的二进制比特串序列,将给出的原帧二进制序