ハミング符号による誤り検出・訂正

基礎理論難易度: ★★★★

4ビットから成る情報ビットx1x2x3x4x_1 x_2 x_3 x_4に対して、

(x1+x2+x3+x5)(x_1 + x_2 + x_3 + x_5) mod 2=02 = 0

(x1+x2+x4+x6)(x_1 + x_2 + x_4 + x_6) mod 2=02 = 0

(x2+x3+x4+x7)(x_2 + x_3 + x_4 + x_7) mod 2=02 = 0

を満たす冗長ビットx5x6x7x_5 x_6 x_7を付加した符号x1x2x3x4x5x6x7x_1 x_2 x_3 x_4 x_5 x_6 x_7を送信する。

受信符号y1y2y3y4y5y6y7y_1 y_2 y_3 y_4 y_5 y_6 y_7が、送信符号と高々1ビットしか異ならないとき、

(y1+y2+y3+y5)(y_1 + y_2 + y_3 + y_5) mod 22

(y1+y2+y4+y6)(y_1 + y_2 + y_4 + y_6) mod 22

(y2+y3+y4+y7)(y_2 + y_3 + y_4 + y_7) mod 22

がそれぞれ0になるかどうかによって、正しい情報ビットx1x2x3x4x_1 x_2 x_3 x_4を求めることが可能である。y1y2y3y4y5y6y7=1100010y_1 y_2 y_3 y_4 y_5 y_6 y_7 = 1100010であるとき、正しい情報ビットはどれか。ここで、a mod bは、aをbで割った余りを表す。

出典: 平成24年度秋期 応用情報技術者 午前 問3