平成23年度秋期 応用情報技術者試験 午前 問3
符号長7ビット,情報ビット数4ビットのハミング符号による誤り訂正の方法を,次のとおりとする。 受信した7ビットの符号語x1x2x3x4x5x6x7(xk=0又は1)に対して c0=x1+x3+x5+x7 c1=x2+x3+x6+x7 c2=x4+x5+x6+x7 (いずれもmod2での計算) を計算し,c0,c1,c2の中に少なくとも一つは0でないものがある場合には, i=c0+c1×2+c2×4 を求めて,左からiビット目を反転することによって誤りを訂正する。 受信した符号語が1000101であった場合,誤り訂正後の符号語はどれか。
- ア 1000001
- イ 1000101
- ウ 1001101
- エ 1010101
解答・解説を見る
正解:エ
AI解説
受信語1000101をx1〜x7に割り当てると、x1=1,x2=0,x3=0,x4=0,x5=1,x6=0,x7=1である。検査式を計算すると、c0=x1+x3+x5+x7=1+0+1+1=3→mod2で1、c1=x2+x3+x6+x7=0+0+0+1=1、c2=x4+x5+x6+x7=0+1+0+1=2→mod2で0。誤り位置i=c0+c1×2+c2×4=1+2+0=3となり、左から3ビット目を反転すると1000101→1010101。したがってエが正解である。 ア: 1000001は7ビット目を反転した結果であり、誤り位置の計算i=3と一致しない。 イ: 1000101は受信語そのままで、c0,c1に1があるため誤りが存在しており、訂正が必要である。 ウ: 1001101は4ビット目を反転した結果であり、i=3と一致しない。 エ: 正しい。i=3から3ビット目の0を1に反転した1010101が訂正後の符号語である。 💡 ハミング符号は「シンドローム(c0,c1,c2)を2進数として読むと誤りビット位置になる」仕組み。mod2の計算は1の個数が奇数なら1、偶数なら0と数えると速い。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。