ハミング符号とは,データに冗長ビットを付加して,1ビットの誤りを訂正できるようにしたものである。ここでは,X1,X2,X3,X4 の4ビットから成るデータに,3ビットの冗長ビット P3,P2,P1 を付加したハミング符号 X1 X2 X3 P3 X4 P2 P1 を考える。付加したビット P1,P2,P3 は,それぞれ X1 ⊕ X3 ⊕ X4 ⊕ P1 = 0 X1 ⊕ X2 ⊕ X4 ⊕ P2 = 0 X1 ⊕ X2 ⊕ X3 ⊕ P3 = 0 となるように決める。ここで,⊕ は排他的論理和を表す。 ハミング符号 1110011 には1ビットの誤りが存在する。誤りビットを訂正したハミング符号はどれか。
ア. 0110011
ハミング符号は、データに冗長ビットを付加し、検査式(排他的論理和)が成り立つかどうかで1ビットの誤り位置を特定して訂正する仕組み。受信符号 1110011 は並びが X1X2X3 P3 X4 P2 P1 なので、X1=1,X2=1,X3=1,P3=0,X4=0,P2=1,P1=1 となる。3つの検査式に代入すると、X1⊕X3⊕X4⊕P1 = 1⊕1⊕0⊕1 = 1(≠0で不成立)、X1⊕X2⊕X4⊕P2 = 1⊕1⊕0⊕1 = 1(不成立)、X1⊕X2⊕X3⊕P3 = 1⊕1⊕1⊕0 = 1(不成立)。3式すべてに共通して現れるビットは X1 だけであり、X1 を 1→0 に反転すると3式すべてが0になる。よって誤りは先頭ビットで、訂正後は 0110011 となり、アが正解。
ap-2018h30h-a の過去問一覧へ戻る・問3