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になるかどうかによって、正しい情報ビット x1x2x3x4 を求めることが可能である。y1y2y3y4y5y6y7 = 1100010 であるとき、正しい情報ビットはどれか。ここで、a mod b は、a を b で割った余りを表す。
ア 0100
イ 1000
ウ 1100
エ 1101
エ
ハミング符号に関する問題である。ハミング符号は、データに冗長ビットを付加して、1ビットの誤りを訂正できるようにしたものである。
(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
であるから、1つ目の式に含まれず、2つ目と、3つ目の式に含まれるビットを発見すればよい。この条件に合うのは、y4であるから、y4のビットが誤っていることが分かる。
従って正しい情報ビットは、1101である。
問1 | 目次 | 問3 |