CRC校验算法学习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CRC校验算法学习
CRC(Cyclic Redundancy Check)校验算法是一种常用的数据传输错误
检测算法,通过采用二进制多项式除法进行计算,能够高效地检测出传输
过程中出现的错误。

1.需要进行校验的数据被看作是一个二进制数,以位序从高到低排列。

2.被检测的数据被除以一个预先选定的标准除数(也称为生成多项式),生成的余数被附加到原始数据后面,形成一个新的数据。

3.发送方将新的数据传输给接收方。

4.接收方接到数据后,进行同样的除法运算,如果所得的余数为0,
说明传输过程中没有出现错误;如果余数不为0,说明传输过程中出现了
错误。

1.算法简单,实现方便。

2.高效地检测出错误,能够探测到大多数单比特错、双比特错和比特
异或错。

1.确定生成多项式G,以二进制形式表示。

生成多项式的最高次幂为n,其最低项系数为1,其他项的系数可以为0或1、G的位数为n+1
2.将待发送的数据D转换为二进制形式,并在其最高位前面补n个0,得到扩展后的数据M。

3.计算M除以G的余数,即CRC值,记为R。

4.在待发送的数据D的末尾添加余数R,得到带有CRC校验码的数据T,将T发送给接收方。

5.接收方接收到数据T后,将数据与G进行除法运算,计算得到余数
R'。

6.如果R'等于0,则说明数据传输没有发生错误;如果R'不等于0,
则说明发生了错误。

除了基本的CRC校验算法,还存在许多衍生的CRC算法,如CRC-8、CRC-16和CRC-32等。

这些算法在生成多项式和数据处理方式上有所不同,适用于不同的应用场景。

总结来说,CRC校验算法是一种用于数据传输错误检测的算法,通过
二进制多项式除法进行计算,能够高效地检测出传输过程中出现的错误。

它具有算法简单、高效检测错误等优势,并且在各种领域有广泛应用。

相关文档
最新文档