设要采用CRC编码传送的数据信息x=1001,当生成多项式为G(x)=1101时 ,请写出它的循环校验码。若接收方收到的数据信息x'=1101,请详细说明如何定位错误并纠正错误。
时间: 2023-05-26 16:06:57 浏览: 399
VC编写的CRC循环校验码
5星 · 资源好评率100%
使用CRC编码生成循环校验码的步骤如下:
1. 在数据信息x末尾补充与生成多项式G(x)的次数相同的0,这里补充一个0,得到x=10010
2. 选取与生成多项式G(x)次数相同的二进制数作为标准生成数D,这里选取D为1000
3. 将数据信息x左移G(x)的次数,这里左移3位,得到x'=1001000
4. 将x'除以G(x)得到余数R,将R作为循环校验码,这里R为010
所以,循环校验码为010。
若接收方收到的数据信息x'=1101,此时应该计算x'除以生成多项式G(x)的余数,如果余数为0,则说明接收的数据没有出错;如果余数不为0,则说明接收的数据发生了错误。
具体纠错方法如下:
1. 将接收方收到的数据信息x'左移G(x)的次数,这里同样左移3位,得到x''=1101000
2. 将x''除以G(x),得到余数R,如果R为0,则说明接收的数据没有出错,否则说明接收的数据发生了错误。
3. 将x''中R对应的位置取反即可纠正错误,这里R为010,所以应该将x''的第4位取反,得到x'''=1111000,即纠正后的数据为1110。
阅读全文