海明码和CRC编码的图解和详细计算过程

2019-09-01 18:16

一、CRC编码

1、已知多项式和原报文,求CRC编码,如:使用多项式G(x)=x^5 + x^4 + x +1,对报文10100110进行CRC编码,则编码后的报文是什么? 方法与步骤:

步骤1:对报文10100110,在末尾添加所给多项式的最高次阶个0,如本题为x^5,则添加5个0,变为:1010011000000。

步骤2:由多项式G(x)=x^5 + x^4 + x +1,得其阶数为1的二进制编码为:110011。 步骤3:步骤1中求得的1010011000000对步骤2中求得的110011进行模二除法,所得到的余数即为校验码,把校验码添加在原报文尾部即为所求的编码报文1010011011000,具体如下:

2.已知道接收到的CRC编码,求原编码或判断是否出错,如:已知G(x)=x^5 + x^4 + x +1,接收的为1010011011001,问是否出错?

步骤一:由多项式G(x)=x^5 + x^4 + x +1,得其阶数为1的二进制编码为:110011。 步骤二:用接收的报文1010011011001对步骤一的110011进行模二除法,看余数是否为0,如为0则正确,如不为0,则出错,计算余数为1,则出错。如下图:

二、海明码

1.求海明码,如:求1011海明码。

步骤一:求校验码位数r,公式为:2^r ≥r+k+1的最小r。题目中为2^3≥3+4+1,所以取r=3,即校验码为3位。

步骤二:画图,并把原码的位编号写成2的指数求和的方式,其中位编号长度为原码和校验码个数之和,从1开始。校验码插在2的阶码次方的位编号下,且阶小于r。如下:

原码的位编号写成2的指数求和: 7=2^2+2^1+2^0; 6=2^2+2^1; 5=2^2+2^0; 3=2^1+2^0;

步骤三:求校验位,即每个校验位的值为步骤二中“原码的位编号写成2的指数求和”式子中相应2的阶出现的位编号下原码的值异或。即:

r0=I4异或I2异或I1=1; (2^0次出现在7,5,3位,其对应的值为I4,I2,I1)

r1=I4异或I3异或I1=0; (2^1次出现在7,6,3位,其对应的值为I4,I3,I1)

r2=I4异或I3异或I2=0; (2^0次出现在7,6,5位,其对应的值为I4,I3,I2)

把r0,r1,r2带入海明码,得所求的海明码为:1010101

2.已知海明码,求原码或判断是否出错并改正错位,如:信息位8位的海明码,接收110010100000时,判断是否出错,并求出发送端信息位。

步骤一:求校验码位数r,公式为:2^r ≥r+k+1的最小r。题目中为2^4≥4+8+1,所以取k=4,即校验码为4位。

步骤二:根据作图,求得信息位编码和发过来的校验码记为r,并由原编码从新计算出新的校验码与发来的校验码r进行异或运算,具体如下:

得到,原码11000100,发送来的校验码r为1000 再根据求R,把原码的位编号写成2的指数求和: 12=2^3+2^2; 11=2^3+2^1+2^0; 10=2^3+2^0; 9=2^3+2^0;

7=2^2+2^1+2^0; 6=2^2+2^1; 5=2^2+2^0; 3=2^1+2^0;

求得:

S3=r3异或(I8异或I7异或I6异或I5) S2=r2异或(I8异或I4异或I3异或I2)

S1=r1异或(I7异或I6异或I4异或I3异或I1) S0=r0异或(I7异或I5异或I4异或I2异或I1)

S3S2S1S0,其十进制为0,表示没出错,如果不为零,则其十进制数即为出错的位。

本题S3S2S1S0=1001,十进制为9,即第九位出错。改过来既为:11010100


海明码和CRC编码的图解和详细计算过程.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:云南个旧市北郊教育联合会2017八年级政治下学期第二次月考(期中

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: