题目:设要采用CRC编码传送的数据信息x=1001,当生成多项式为G(x)=1101时,请写出它的循环校验码。若接收方收到的数据信息x' =1101,说明如何定位错误并纠正错误
根据题目描述,需要采用CRC编码对数据信息x=1001进行编码,生成多项式为G(x)=1101。下面是计算循环冗余校验码的步骤:
1.首先将数据信息x乘以x的次数,使得它的位数与G(x)相同,即:
1001000
2.对于得到的结果,用G(x)除以它,得到余数R(x):
1001000 / 1101 = 100...11
R(x) = 11
3.将余数R(x)附加在数据信息x的后面,得到编码后的信息:
100111
因此,循环冗余校验码为011。
接收方收到的数据信息为x'=1101,需要定位并纠正错误。接收方进行如下操作:
1.将接收到的数据信息x'乘以x的次数,使得它的位数与G(x)相同,即:
1101000
2.对于得到的结果,用G(x)除以它,得到余数R(x):
1101000 / 1101 = 1001...01
R(x) = 01
3.如果余数R(x)为0,则说明接收到的数据信息没有错误;否则,就需要进行纠错。
4.接收方将接收到的数据信息x'与余数R(x)异或,得到错误位置的多项式
E(x):
E(x)=x^2+1
接收方将错误位置的多项式E(x)加上接收到正确的数据信息:
x'+E(x)=1101+(x^2+1)=1110
因此,正确的数据信息为1110。接收方可以使用这个正确的数据信息进行后续的处理。
需要注意的是,CRC编码只能检测错误和定位错误的位置,而不能纠正错误。因此,在接收方进行纠错时,只能将错误的位翻转过来,而不能将错误的位变为正确的值。如果需要进行纠错,则需要采用其他的编码方式,如海明编码或重复编码等。
原文链接:https://www.cnblogs.com/asinria/p/17249934.html
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:设要采用CRC编码传送的数据信息x=1001,当生成多项式为G(x)=1101时,请写出它的循环校验码。若接收方收到的数据信息x’ =1101,说明如何定位错误并纠正错误 - Python技术站