1、CRC原理:

 

 CRC原理及计算示例_接收端

2、CRC校验码的计算示例:

      除数是随机数或按标准选定,CRC的关键是如何求出余数(CRC校验码)。假设选择的CRC生成多项式为G(x)=x^4+x^3+1 要求计算出二进制的序列10110011的CRC校验码。

(1)、

      将多项式转为二进制数,由G(x)=x^4+x^3+1得知,一共5位(总位数=最高位的幂次+1,即4+1=5)根据多项式的含义(多项式只列出二进制值为1的位,也就是这个二进制的第4位、第3位、第0位的二进制均为1,其它位均为0,所有二进制的比特串(除数)为11001

(2)、

A.原数帧:10110011

B.除数:11001 (5位数)

C.新数帧:在原数据帧后面补上(除数总位数-1个)0 ----> 10110011 0000

D.CRC校验码:C/B的余数,余数的位数只能比B少一位不够在左边补0,------> 10110011 0000/11001 = 100(这里只有三位,所以需要在100左边补0为 0100)

E.新发送帧:在A后面加上D(10110011 0100), 接收端收到E,使用E/B看是否有余数,如果没有余数则表明该帧在传输过程中没有出错,否则出了差错 -----> 10110011 0100/11001 =10101000余数为0

CRC原理及计算示例_数据帧_02CRC原理及计算示例_数据帧_03

CRC原理及计算示例_数据帧_04