YB体育循环冗余校验码(CRC)的基本原理及生成方法
发布时间:2023-11-27 19:37:55

  YB体育在数据传输过程中,很难实现无差错传输YB体育。差错传输导致接收方收到的数据发生错误。为尽量提高接收数据的正确率,在接收数据之前需要对数据进行差错

  CRC是一种用于校验通信链路上数字传输准确性的计算方法。其原理是附加在数据序列之后的检验码与数据序列的内容之间存在着某种特定的关系,如果数据序列中的某一位或某些位发生错误,这种特定关系就会被破坏,由于CRC检错能力极强,且检测成本较低,成为数据通信领域最为普遍的校验方式。

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

  CRC是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。

  多项式和二进制数有直接对应关系:x的最高幂次对应二进制数的最高位,以下各位对应多项式的各幂次,有此幂次项对应1,无此幂次项对应0。可以看出:x的最高幂次为R,转换成对应的二进制数有R+1位。

  是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中YB体育,这个数始终保持不变YB体育。

  在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。

  b、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做除后应该使余数不为0。

  CRC校验码位数 = 生成多项式位数 - 1。注意有些生成多项式的简记式中将生成多项式的最高位1省略了。

  CRC检验原理实际上就是在一个p位二进制数据序列之后附加一个r位二进制检验码(序列),从而构成一个总长为n=p+r位的二进制序列;附加在数据序列之后的这个检验码与数据序列的内容之间存在着某种特定的关系。

  如果因干扰等原因使数据序列中的某一位或某些位发生错误,这种特定关系就会被破坏。因此,通过检查这一关系,就可以实现对数据正确性的检验。

  1、将x的最高次幂为R的生成多项式G(x)转换成对应的R+1位二进制数。

  在M后加5个0为计算序列:,然后对P做模2除法运算,得余数r(x)对应的代码:01110。故实际需要发送的数据是。其中CRC校验码就为:01110。