题目
已知D为1010101010,G为10101,请给出CRC中R的值
题解
- 这一道题主要是考察循环荣誉编码,CRC是一种多项式编码,因为该编码能够将要发送的比特串看成系数是0和1的一个多项式,对比特串的操作被解释为多项式算术。
- d比特的数据D,发送方与接受方首先要协商一个r+1的比特模式,称为生成多项式。将其表示为G,G的最高有效位是1.
- 其中对于一个给定的数据段D,长度为d,发送方要选择r个附加比特R,并将它们附加到D上,使得得到的是d+r比特模式,用模2算术加号能够被G整除。
- 在计算的过程中用异或进行计算。因此在计算的过程没有进位或者借位。
- 所以有如下的公式:
=>
=>
- 所以上面的计算结果是:
G D 补充 5 - 1 = 4个0
10000 1000
10101 | 1010101010 0000
101010
1010 0
1010 1
1000
所以上面的结果是 1000
附
每个CRC都能够检测小于r+1比特的突发差错,此外大于r+1比特的突发差错都能够以概率被检测到。