一串数据1011010111110111001使用CRC校验方式,已知校验使用的二进制数为1110101,生成多项式是什么?发送序列是什么?要有计算过程。
一串数据1011010111110111001使用CRC校验方式,已知校验使用的二进制数为1110101,生成多项式是什么?发送序列是什么?要有计算过程。
题目解答
答案
生成多项式:x6+x5+x4+x2+1
M=1011010111110111001 P=1110101
被除数应该为:1011010111110111001000000
1111101000100111110
1110101)1011010111110111001000000
1110101
1011111
1110101
1010101
1110101
1000001
1110101
1101001
1110101
1110010
1110101
1111110
1110101
1011010
1110101
1011110
1110101
1010110
1110101
1000110
1110101
1100110
1110101
100110
1011010111110111001000000
- 100110
1011010111110111001100110
发送序列:1011010111110111001100110
解析
关键知识点:
- 生成多项式与校验码的关系:生成多项式的二进制形式(系数表示)对应校验码。例如,多项式 $x^6 + x^5 + x^4 + x^2 + 1$ 对应二进制数 $1110101$。
- 发送序列的构造:原始数据后拼接 CRC 校验码,而校验码是通过将原始数据补零后与生成多项式进行二进制除法得到的余数。
解题核心思路:
- 生成多项式:直接根据校验码 $1110101$ 转换为多项式形式。
- 发送序列:通过二进制除法计算余数,将余数拼接在原始数据后。
生成多项式
校验码为 $1110101$,对应多项式形式:
- 二进制位数为 $7$,最高次项为 $x^6$。
- 每位对应系数:$x^6 + x^5 + x^4 + x^2 + 1$。
发送序列计算
-
构造被除数:
原始数据 $1011010111110111001$ 后补 $6$ 个 $0$(生成多项式阶数为 $6$),得到:
$1011010111110111001000000$ -
二进制除法:
用被除数除以生成多项式对应的二进制数 $1110101$,逐位计算余数。最终余数为 $100110$。 -
构造发送序列:
原始数据拼接余数:
$1011010111110111001 \ ||\ 100110 = 1011010111110111001100110$