假设CRC生成多项式G(X)=X3+X2+1,要发送的二进制数据帧为100101110,求CRC校验码,写出接收端收到的数据帧,并验证接受端的数据正确与否
时间: 2023-06-07 20:09:19 浏览: 221
根据CRC校验原理,发送端在数据帧后面添加余数为0的G(X)位数的0,然后进行除法运算,将计算结果作为CRC校验码加在数据帧后面发送。
对于本题,将100101110后面添加三个0,得到100101110000。然后进行除法运算,即先将G(X)左移两位,与数据帧异或,得到10111110,然后再将G(X)左移一位,与10111110异或,得到10011010,余数为010,将余数添加到发送的数据帧后面得到100101110010。
接收端收到数据帧为100101110010,按照同样的方法进行除法运算,得到余数为0,说明接收端数据正确。
相关问题
CRC生成多项式G(X)=X4+X3+1,求二进制序列10110011的CRC校验码。
首先,将生成多项式G(X)左移一位,变成10111。
然后,在二进制序列10110011的末尾添加4个0,得到101100110000。
接下来,用生成多项式G(X)去除上述结果,即进行模2除法。
首先,将G(X)左移7位,与101100110000的前8位进行异或运算,得到10101000。
然后,将10101000左移3位,与101100110000的下一个8位进行异或运算,得到11001100。
重复以上步骤,直到将所有位都进行异或运算,最终得到余数0011。
因此,二进制序列10110011的CRC校验码为0011。将其附加到原始数据的末尾,得到最终结果101100110011。
在采用crc校验时,若生成多项式g(x)=x4+x3+x+1
采用 CRC 校验时,生成多项式 g(x) 用于计算校验码。对于 g(x)=x4+x3+x+1,它的二进制表示为 10011。
具体的校验过程如下:
1. 假设待校验的数据为 D,按位展开成二进制数 d(x)。
2. 将 d(x) 左移 g(x) 的次数(即 g(x) 的次数减一)得到一个新的数 R(x),R(x) 的次数为 g(x) 的次数。
3. 用 R(x) 除以 g(x),得到商数 Q(x) 和余数 B(x)。
4. 将 B(x) 作为校验码,附加在原数据 D 的末尾。
5. 发送的数据为 D 和 B(x) 的组合。
6. 接收方收到数据后,重复以上过程,若余数为 0,则认为数据没有错误。
注意:在以上过程中,所有的运算都是在有限域 GF(2) 上进行的,也就是说,只有 0 和 1 两个数。