CRC循环冗余校验

Posted shinedaisiki

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CRC循环冗余校验相关的知识,希望对你有一定的参考价值。

CRC检验原理实际上就是在一个p位二进制数据序列之后附加一个r位二进制检验码(序列),从而构成一个总长为n=p+r位的二进制序列

附加在数据序列之后的这个检验码与数据序列的内容之间存在着某种特定的关系。

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

 

 

 

示例:

设需要发送的信息为M = 1010001101,CRC8=X5+X4+X2+1产生多项式对应的代码为P = 110101,R=5。

在M后加5个0为计算序列:101000110100000,然后对P做模2除法运算,得余数r(x)对应的代码:01110。

故实际需要发送的数据是101000110101110。其中CRC校验码就为:01110。

技术分享图片

 

 

 

示例二:

技术分享图片

 

 参考:https://blog.csdn.net/d_leo/article/details/73572373

https://blog.csdn.net/qq_32616315/article/details/71374965

以上是关于CRC循环冗余校验的主要内容,如果未能解决你的问题,请参考以下文章

算法CRC 循环冗余校验

循环冗余校验(CRC)算法入门

CRC循环冗余校验

CRC循环冗余校验码总结(转)

循环冗余校验(CRC)算法原理分析及实战

写给嵌入式程序员的循环冗余校验(CRC)算法入门引导