ハミング距離と誤り訂正
解説
ポイント
ハミング距離の数え方と,7ビットのハミング符号で1ビットの誤りを直して送信ビット列を求める問題です。
考え方と解き方
ハミング距離は,同じ長さの2つのビット列でちがっている位置の数です。
誤りを直すには,受信した X1〜X4 から検査ビット X5〜X7 を計算し直し,受信した X5〜X7 と比べます。合わない検査ビットの組合せで,誤った位置が1つに決まります。
ア:「1110001」と「0001110」を1けたずつ比べると,1と0,1と0,1と0,0と1,0と1,0と1,1と0 で,7けたともちがいます。ア=7
イ:受信「1001010」なので X1=1,X2=0,X3=0,X4=1,受信した X5=0,X6=1,X7=0
- 計算し直すと X5 = 0+0+1 = 1,X6 = 1+0+1 = 2 → 0,X7 = 1+0+1 = 2 → 0
- 計算した (1,0,0) と受信した (0,1,0) を比べると,X5 と X6 が合わず,X7 は合っています
- X5 と X6 の両方の式に入り,X7 の式に入らないのは X3 です。X3 が誤っています
- X3 を 0 → 1 に直すと「1011010」。確かめ:X1〜X4 = 1,0,1,1 から X5 = 0,X6 = 1,X7 = 0 で,受信した検査ビットと一致します。答えは ア 7,イ 「1011010」
ほかの選択肢
①・④(イが「1001010」):受信したままの列です。検査ビットを計算し直すと合わないので,誤りが残っています。
覚えておくこと
- ハミング距離:同じ長さのビット列で,ちがっている位置の数
- mod 2 は2で割った余り。1の個数が偶数なら 0,奇数なら 1
- ハミング符号の誤り訂正:検査ビットを計算し直し,合わない検査ビットの組合せから誤った1ビットの位置を決める
- X1 は X6・X7,X2 は X5・X7,X3 は X5・X6,X4 は X5・X6・X7 の式に入る
出典:令和元年度 技術士第一次試験 基礎科目 I-2-5(公益社団法人日本技術士会) ジャンル:情報・アルゴリズム