如果某一数据通信系统采用CRC校验方式,生成多项式G(x)= x4+x+1,目的结点接收到二进制比特序列为1011101010(含CRC校验码)。 (2)如果接收到的二进制比特序列长度正确,则发送端原始二进制比特序列的长度是几位?
时间: 2024-05-06 22:14:47 浏览: 100
lib_crc.zip_crc8_crc8 x8 x2
在使用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位,而不是其他长度。
阅读全文