简明的海明码计算方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简明的海明码计算方法

求数据码(信息码,信息位)1011的海明码和纠错位方法

解:

1、将数据位和校验位按照海明码的要求排位

(海明码的校验位在1,2,4,8,----位置上,数据位按照从低到高的顺序写到其对应的位置位

(数据位的位置等于某些校验位的位置之和,确定该数据位有哪些校验位进行校验)

D13=2+1P2P1

D25=4+1P3P1

D36=4+2P3P2

D47=4+2+1P3P2P1

3、计算校验位的值

(采用异或运算,校验位的取值是该校验位对其校验的数据的异或结果)

P1=D1⊕D2⊕D4=1⊕1⊕1=1

P2=D1⊕D3⊕D4=1⊕0⊕1=0

P3=D2⊕D3⊕D4=1⊕0⊕1=0

4、填上校验位得到海明码

(将算出的校验位的值填到校验位的位置上即可得到海明码)

1010101

5、假如数据传输过程中D3位出错,指勿字的计算方法(能查处哪一位出错,纠正该位就达到纠错的目的)。

确定S3S2S1数据

S3=P3⊕D2⊕D3⊕D4=0⊕1⊕1⊕1=1(即P3及P3所校验的数据位异或的结果)

S2=P2⊕D1⊕D3⊕D4=0⊕1⊕1⊕1=1

S1=P1⊕D1⊕D2⊕D4=1⊕1⊕1⊕1=0

则S3S2S1=110,十进制值是6,说明第6位出错。

练习:求101101的海明码

10987654321

D6D5P4D4D3D2P3D1P2P1 101101

相关文档
最新文档