一串数据1011010111110111001使用CRC校验方式,已知校验使用的二进制数为1110101, 生成多项式是什么?发送序列是什么?要有计算过程。
时间: 2024-02-29 07:56:05 浏览: 75
这是一个CRC校验的问题,需要使用生成多项式来计算出校验和,并将其附加在发送序列的末尾。下面是解题步骤:
1. 将要发送的数据转换成二进制数:1011010111110111001。
2. 将校验使用的二进制数转换为十进制数:117。
3. 将生成多项式转换成二进制数:1110101。
4. 在要发送的数据末尾添加足够的零以容纳生成多项式的位数(即添加 6 个零):1011010111110111001000000。
5. 将生成多项式左移,使其最高位和要发送的数据的最高位对齐:1110101000000000000。
6. 从要发送的数据的最高位开始,依次将每一位与生成多项式进行异或操作,如果结果为 1,则将生成多项式的位数覆盖到要发送的数据中,否则将生成多项式的位数覆盖到要发送的数据中:10110101111101110010000001110。
7. 得到的结果就是发送序列。校验和为 01110。
8. 生成多项式为 x^6 + x^5 + x^3 + x^2 + 1。
计算过程如下:
1011010111110111001 000000
1110101
----------
1011010111110111001 011101
1110101 0000000
----------
10110101111101110010000001110
因此,发送序列为 10110101111101110010000001110,校验和为 01110,生成多项式为 x^6 + x^5 + x^3 + x^2 + 1。
相关问题
如果某一数据通信系统采用CRC校验方式,生成多项式G(x)= x4+x+1,目的结点接收到二进制比特序列为1011101010(含CRC校验码)。 (2)如果接收到的二进制比特序列长度正确,则发送端原始二进制比特序列的长度是几位?
在使用CRC校验方式时,发送端需要在原始数据后面加上一段校验码,使得整个数据包能够被G(x)整除,其中G(x)为生成多项式。
对于本题,我们已知生成多项式G(x)为x^4 + x + 1,接收端收到的二进制比特序列为1011101010,包含了CRC校验码。
接下来,我们需要进行CRC校验,判断接收到的数据是否正确。具体步骤如下:
1. 将接收到的二进制比特序列转换为多项式B(x):B(x) = x^9 + x^7 + x^6 + x^3 + x^1
2. 对B(x)进行除法运算,除以G(x):B(x) / G(x) = Q(x) ... R(x)
3. 如果余数R(x)为0,则说明数据传输正确;否则,说明数据传输错误。
我们进行除法运算的过程如下:
```
x^5 + x^4 + x^3 + x^2 + x^1
___________________________________
x^4 + x + 1 | x^9 + x^7 + x^6 + x^3 + x^1
x^9 + x^5 + x^4
_______________
x^7 + x^6 + x^3 + x^1
x^7 + x^5 + x^4
_______________
x^6 + x^3 + x^1
x^6 + x^4 + x
_______________
x^5 + x^3 + x^1
x^5 + x^2 + 1
_______________
x^3 + x^1
x^3 + x^2 + x
_______________
x^2 + 1
```
因此,我们得到:B(x) / G(x) = x^5 + x^4 + x^3 + x^2 + x^1 + (x^2 + 1) / G(x)
余数R(x)为x^2 + 1。
根据CRC校验的原理,如果余数R(x)为0,则说明数据传输正确。因此,我们可以得出以下结论:
接收端收到的数据传输正确,原始二进制比特序列的长度为9位。
解释:由于生成多项式G(x)的次数为4,因此校验码的长度为4位。接收端收到的二进制比特序列长度为10位,其中包含了4位的校验码。因此,原始二进制比特序列的长度为10位减去4位,即为6位。但是,由于在数据传输过程中可能会出现一些错误,导致接收端收到的数据比原始数据长度短,因此实际上原始二进制比特序列的长度可能是9位、8位、7位或6位。根据CRC校验结果,我们可以确定原始二进制比特序列的长度为9位,而不是其他长度。
要发送的数据是1101011011,已知CRC码的生成多项式G(X) = X4 + X + 1,求校验序列FCS。
### 回答1:
我可以为您计算CRC校验序列FCS:
首先,将要发送的数据1101011011左移4位变成11010110110000,即在末尾补上4个0,作为校验序列的初始值。
然后,用生成多项式G(X) = X^4 + X + 1,对11010110110000进行除法运算,得到余数0101,即为校验序列FCS。
因此,校验序列FCS为0101。
### 回答2:
要发送的数据是1101011011,已知CRC码的生成多项式G(X) = X^4 + X + 1。
首先,将发送数据拓展为11010110110000,其中后面添加了4个零,以便可以进行CRC校验。
然后,用生成多项式G(X)对扩展后的数据进行除法运算。由于生成多项式的次数为4,所以我们进行4次除法运算。
首先,将G(X)左移4位,得到10000。将此位数与扩展数据的前5位进行异或运算,即1101011011 xor 10000,结果为1010110111。将此结果作为新的被除数。
然后,将G(X)左移3位,得到1000。将此位数与新的被除数的前4位进行异或运算,即1010110111 xor 1000,结果为1010111111。将此结果作为新的被除数。
然后,将G(X)左移2位,得到100。将此位数与新的被除数的前3位进行异或运算,即1010111111 xor 100,结果为1010111011。将此结果作为新的被除数。
最后,将G(X)左移1位,得到10。将此位数与新的被除数的前2位进行异或运算,即1010111011 xor 10,结果为1010111001。将此结果作为新的被除数。
当无法再移动G(X)时,未被除尽的数据1010111001就是校验序列FCS。
因此,校验序列FCS为1010111001。
### 回答3:
要发送的数据是1101011011,CRC码的生成多项式G(X) = X^4 + X + 1。求校验序列FCS。
首先,将要发送的数据与0进行异或运算,并在最高位补充4个0,得到新的数据111010110110000。
然后,用生成多项式G(X)对新的数据进行除法运算。
第一步,将G(X)的最高次项X^4与新数据的头部相对应的4位数1110进行异或运算,结果为1010。然后将这个结果与新数据的第5位进行异或运算,结果为0000。将这个结果继续与新数据的第6位进行异或运算,结果为0000。将这个结果继续与新数据的第7位进行异或运算,结果为0000。依此类推,直到将所有的新数据都用完。
最终,除法运算得到的余数为0000,即为校验序列FCS。
因此,校验序列FCS为0000。