CRC码的简单计算(课下作业)

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

CRC码的计算
• 由以上分析可知,既然除数是随机,或者按标准选定 的,所以CRC校验的关键是如何求出余数,也就是 CRC校验码。 • 下面以一个例子来具体说明整个过程。现假设选择的 CRC生成多项式为G(X) = X4 + X3 + 1,要求出 二进制序列10110011的CRC校验码。具体的计算过 程如下(不会作图没办法啦): • (1)首先把生成多项式转换成二进制数,由G(X) = X4 + X3 + 1可以知道(,它一共是5位(总位数 等于最高位的幂次加1,即4+1=5),然后根据多项 式各项的含义(多项式只列出二进制值为1的位,也 就是这个二进制的第4位、第3位、第0位的二进制均 为1,其它位均为0)很快就可得到它的二进制比特串 为11001。
• 总结计算:只要会把生成多项式按 项系数转化为二进制数作为除数, 在原帧后补上多项式阶数个0得到的 新串作为被除数,做多项式除法时 按“模2除法”,相减异或,商到最 低位余数即为CRC码,将原帧加上 CRC码发送就O啦!谢谢! • 2014-z0
• (2)因为生成多项式的位数为5,根据 前面的介绍,得知CRC校验码的位数为4 (校验码的位数比生成多项式的位数少 1)。因为原数据帧10110011,在它后 面再加4个0,得到101100110000,然 后把这个数以“模2除法”方式除以生 成多项式11001,得到的余数,即得 CRC校验码为0100。具体操作在黑板上 演示。
• 【说明】“模2除法”与“算术除法”类似, 但它既不向上位借位,也不比较除数和被除数 的相同位数值的大小,只要以相同位数进行相 除即可。模2加法运算为:1+1=0,0+1=1, 0+0=0,无进位,也无借位;模2减法运算为: 1-1=0,0-1=1,1-0=1,0-0=0,也无进 位,无借位。相当于二进制中的逻辑异或运算。 也就是比较后,两者对应位相同则结果为 “0”,不同则结果为“1”。如100101除以 1110,结果得到商为11,余数为1,再如 11×11=101。
2.多项式的生成பைடு நூலகம்
CRC码把整个数据块当作一串连续的二进制数据。 代数结构可看作是一个报文码多项式,是基于 将位串看成是系数为0或1的多项式,一个k位 帧可以看成是从x(k-1)到x(0)的k次多项 式的系数序列,这个多项式的阶数:k-1。码 组与多项式系数序列的对应,高位(最左边)是 x的k-1项系数,下一位是x的k-2项的系数,以 此类推,生成多项式的最高位和最低位必须是 1,且生成多项式必须比该校验和的多项式短。 For example,110101有6位,表示成多项式是 x5+x4+x2+0,即它的6个多项式系数分别是1, 1,0,1,0,和1。
• when采用多项式编码的方法,发送方和 接收方必须事先商定一个生成多项式 G(x)。要计算m位帧M(x)的校验和,生 成多项式必须比该校验和的多项式短。 基本思想是:将校验和加在帧的末尾,使 这个带校验和的帧的多项式能被G(x)除 尽。当接收方收到带有校验和的帧时, 用G(x)去除它,如果有余数,则传输出 错。
CRC码的计算
• 1.什么是CRC码? • 循环冗余码校验英文名称为Cyclical Redundancy Check,简称CRC。 它是利用多项式除法及余数的原理来作错 误侦测(Error Detecting)的。实际应用时, 发送装置计算出CRC值并随数据一同发送给接 收装置,接收装置对收到的数据重新计算CRC 并与收到的CRC相比较,若两个CRC值不同, 则说明数据通讯出现错误。
相关文档
最新文档