已知发送数据为1101 0110 11,采用CRC校验,生成多项式为10011,求最终发送数据?
答案为:1101 0110 11 1110
解题步骤如下:
- 找到生成多项式10011,该多项式为除数,用于接收端进行检验
- 发送数据帧为10位,除数为5位,那么选择在发送数据的后面加上5-1=4位0,构成14位新帧(被除数),即1101 0110 11 0000
- 将新帧和多项式进行模二除法运算,得到4位余数(注意:余数的位数需和前面所加0的位数保持一致,也就是比多项式位数少1),1110,这个二进制比特串就是该帧的CRC校验码,也称为FCS帧校验序列
- 将原10位发送数据1101 0110 11和所得4位CRC校验码1110进行拼接,即可得最终的发送数据1101 0110 11 1110
- 最后将这个新帧发送到接收端,接收端将这个新帧对之前选择的除数使用模二除法,如果没有余数,则说明该帧在传输的过程中没有出现差错
补充:模二除法运算
- 四个字:异或运算
- 计算机符号:xor
- 0 xor 0 = 0
- 0 xor 1 = 1
- 1 xor 0 = 1
- 1 xor 1 = 0