ハミング符号とは,データに冗長ビットを付加して,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 (・・・式1)
X1⊕X2⊕X4⊕P2=0 (・・・式2)
X1⊕X2⊕X3⊕P3=0 (・・・式3)
となるように決める。ここで⊕は排他的論理和を表す。
ハミング符号 1110011 には1ビットの誤りが存在する。誤りビットを訂正したハミング符号はどれか。
(令和4年春期 午前Ⅰ 問1)
ア:0110011 イ:1010011 ウ:1100011 オ:1110111
以下、解説
①問題文より各変数に入る値を表にしてみます。
X1 | X2 | X3 | P3 | X4 | P2 | P1 |
1 | 1 | 1 | 0 | 0 | 1 | 1 |
②問題文より各式に値を代入してみます。
X1⊕X3⊕X4⊕P1=0 (・・・式1)⇒ 1⊕1⊕0⊕1 = 1
X1⊕X2⊕X4⊕P2=0 (・・・式2)⇒ 1⊕1⊕0⊕1 = 1
X1⊕X2⊕X3⊕P3=0 (・・・式3)⇒ 1⊕1⊕1⊕0 = 1
③排他的論理和より、全ての値が1になりました。 0=誤り無し、1=誤り有りから、どの変数に誤りがあるか推測します。
④式1/2/3より、全ての式にX1が含まれていることがわります。
⑤ ④よりX1の値が誤りであることから、値を1 ⇒ 0にすれば良いことがわかります。
X1 | X2 | X3 | P3 | X4 | P2 | P1 |
1 ⇒ 0 | 1 | 1 | 0 | 0 | 1 | 1 |