软考
APP下载

CRC冗余校验例题

CRC即循环冗余校验,是一种常用的数据校验方法,常用于数据通信中。在数据传输过程中,由于干扰或其他原因,数据可能会发生错误,CRC校验可以检测出这些错误。本文将以“CRC冗余校验例题”为主题,从定义、实现方法和例题分析等多个角度介绍CRC校验。

1. 定义

CRC冗余校验是一种数据校验方法,其校验的核心思想在于,将需要传输的数据看成是一个二进制的多项式,对其进行处理得到余数。如果余数为0,说明传输过程中没有发生错误;否则说明数据发生了错误,需要重新传输。

2. 实现方法

对于一个由n个比特组成的数据序列,CRC校验需要通过以下步骤实现:

1)确定生成多项式G(x)。G(x)的选取需要满足一定的要求:首项系数为1,二项次幂最高项为n,最低项不为0。

2)将数据序列看成是G(x)的m次幂乘以另一个多项式Q(x),并将结果取模。这里的m取决于G(x)的次数。

3)将模运算的结果看成是原始数据序列D(x)后加上一个n-m位的冗余序列R(x)。将D(x)和R(x)发送过去,接收方根据G(x)对其进行校验,如果余数为0,则传输成功。

3. 例题分析

以一个8位(即n=8)的数据序列为例:10110010,假设选取生成多项式G(x)= x3 + x + 1,那么G(x)的3次幂为x3,次高位为0,最低位为1。可以将数据序列看成是G(x)的5次幂乘以另一个多项式Q(x),即:

D(x) = x5 + x4 + x2

然后将结果取模,得到余数为001。将余数作为冗余序列R(x),将原始数据序列D(x)和R(x)发送出去,接收方根据G(x)对其进行校验。如果校验通过,接收方可以得到正确的数据序列D(x),否则就需要重新发送数据。

4.

备考资料 免费领取:软件设计师报考指南+考情分析+思维导图等 立即下载
真题演练 精准解析历年真题,助你高效备考! 立即做题
相关阅读
软件设计师题库