平成30年度 III-1

科目: 専門科目 / 分野: 情報工学部門 / 年度: 平成30年度

III-1 問題画像

出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」

符号長7ビット、情報ビット数4ビットのハミング符号による誤り訂正で、受信した符号語1000101の誤り訂正後の符号語を求める問題。パリティ(e0、e1、e2)から誤りの位置を計算する。

解説

この問題で問われていること

ハミング符号のパリティ検査(シンドローム)を計算して、誤りのあるビット位置を特定し、訂正する問題。

解き方

① ハミング(7,4)符号: 3つの検査式の結果(e0, e1, e2)をi=e0+2e1+4e2と読むと、誤りのあるビットの位置になる(0なら誤りなし)
② 受信1000101: e0=1+0+1+1→1、e1=0+0+0+1→1、e2=0+1+0+1→0 → i=3
③ 3ビット目を反転して1010101(④)

正解が正しい理由

受信した符号語は、x1=1、x2=0、x3=0、x4=0、x5=1、x6=0、x7=1。e0=x1+x3+x5+x7=1+0+1+1=3≡1(mod2)。e1=x2+x3+x6+x7=0+0+0+1=1。e2=x4+x5+x6+x7=0+1+0+1=2≡0。したがってi=e0+e1×2+e2×4=1+2+0=3。左から3ビット目を反転すると、1000101→1010101となる。したがって④が正しい。

この問題で必要な基礎

■ mod 2の計算
「mod 2」は2で割った余りを表すので、足した結果が偶数なら0、奇数なら1になります。例えばe₀=1+0+1+1=3は奇数なので1です。

■ iの意味
i=e₀+e₁×2+e₂×4は、e₂e₁e₀を3桁の2進数として読んだ値です。3つの検査結果の組合せで、1〜7ビット目のどこが誤っているかを指し示す仕組みになっています。

各選択肢について

覚えるべきポイント

ハミング(7,4)符号では、3つのパリティ検査の結果(e0、e1、e2)を2進数として読むと、誤りのあるビット位置になる(0なら誤りなし)。検算として、訂正後の符号語のパリティがすべて0になることを確認できる。

キーワード: ハミング符号、誤り訂正、パリティ、シンドローム、符号語、mod2、情報工学部門