
出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」
ハミング距離の計算と、(7,4)ハミング符号で1ビット誤りを訂正して送信ビット列を求める問題。
2つのビット列のハミング距離と、1ビット誤りを含む受信ビット列から元の送信ビット列を求める問題。
① ハミング距離=異なるビットの数。送信ビット列は、付加ビット X5〜X7 が規則どおりになる列を探す
② 1110001 と 0001110 は7ビット全部が異なる → ア=7(④⑤)。受信1001010の X3 を1に直した 1011010 は X5=0+1+1=0、X6=1+1+1=1、X7=1+0+1=0 で規則どおり(④の1001010のままでは X6=0 で合わない)
③ ⑤
「1110001」と「0001110」は全7ビットが異なるのでハミング距離は7(ア)。受信「1001010」の情報ビット1001から付加ビットを計算するとX5=0,X6=0,X7=1となり、受信した010と一致しないので誤りがある。X3のみ誤りと仮定して1011にすると、X5=0+1+1=0、X6=1+1+1=1、X7=1+0+1=0で受信の010と一致する。よって送信ビット列は「1011010」(イ)。したがって⑤が正しい。
ハミング距離が3以上の符号は1ビットの誤りを訂正できる。1ビットずつ反転させて、付加ビットの規則を満たす列を探せばよい。
キーワード: ハミング距離、ハミング符号、誤り訂正、パリティ、情報・論理