4ビットから成る情報ビットx1x2x3x4に対して、
(x1 + x2 + x3 + x5) mod 2 = 0
(x1 + x2 + x4 + x6) mod 2 = 0
(x2 + x3 + x4 + x7) mod 2 = 0
を満たす冗長ビットx5x6x7を付加した符号x1x2x3x4x5x6x7を送信する。
受信符号y1y2y3y4y5y6y7が、送信符号と高々1ビットしか異ならないとき、
(y1 + y2 + y3 + y5) mod 2
(y1 + y2 + y4 + y6) mod 2
(y2 + y3 + y4 + y7) mod 2
がそれぞれ0になるかどうかによって、正しい情報ビットx1x2x3x4x を求めることが可能である。
y1y2y3y4y5y6y7 = 1100010であるとき、正しい情報ビットはどれか。
ここで、a mod b は、a を b で割った余りを表す。
ア | 0100 |
イ | 1000 |
ウ | 1100 |
エ | 1101 |
答え エ
【解説】
y1y2y3y4y5y6y7 = 1100010なので
(y1 + y2 + y3 + y5) mod 2 = (1 + 1 + 0 + 0) mod 2 = 0
(y1 + y2 + y4 + y6) mod 2 = (1 + 1 + 0 + 1) mod 2 = 1
(y2 + y3 + y4 + y7) mod 2 = (1 + 0 + 0 + 0) mod 2 = 1
になり、modが1となった2つの式に共通のy4の0が誤っていることがわかり、正しいy1y2y3y4 = 1101(エ)になる。
【キーワード】
・ハミング符号