問 題
D1~D4 をデータビットとし,関係式
P1 = D1 ⊕ D2 ⊕ D4
P2 = D1 ⊕ D3 ⊕ D4
P3 = D2 ⊕ D3 ⊕ D4
により冗長ビット P1,P2,P3 を求めることにより,ハミング符号 D1 D2 D3 D4 P1 P2 P3 を構成した。
このハミング符号 D1 D2 D3 D4 P1 P2 P3 に1 ビットの誤りが発生して,1001111 となったとすると,元のハミング符号 D1 D2 D3 D4 P1 P2 P3 として正しいのはどれか。
なお,「⊕」は排他的論理和を表し,次式が成り立つ。
0 ⊕ 0 = 0
0 ⊕ 1 = 1
1 ⊕ 0 = 1
1 ⊕ 1 = 0
1. 0001111
2. 1000110
3. 1000111
4. 1001001
5. 1101111
正解 (1)
解 説
1 ビットの誤りが発生したとあります。つまり、1つだけ「0が 1 になっちゃった」 もしくは「1が0になっちゃった」ということです。選択肢 2,4 だと 2 箇所間違ったことになります。よって、正解は 1,3,5 です。
選択肢 1 の 0001111 が元のハミング符号と仮定します。
D1 = 0、D2 = 0、D3 = 0、D4 = 1 ということです。
すると P1,P2,P3 は全て 0 ⊕ 0 ⊕ 1 なので 1 です。
データビット(D1~D4) とハミング符号(P1~P3) の対応は妥当です。
この元のハミング符号(0001111) の一番左のビットに誤りが発生し 「1001111」 となったと考えれば、矛盾ありません。
よって、正解は 1 です。
コメント