おしょうしな日記 Thanks 101

科学・技術をわかりやすい言葉で解説。「おしょうしな」とは、山形おきたま弁で「ありがとう」の意味。

ハミング符号の原理(4) -拡大ハミング符号-

2008-12-28 15:30:22 | 科学・技術
ハミング符号の原理(1)~(3)で説明したハミング符号は、1ビット誤り訂正のみしかできず、2ビット以上の誤りの場合には、間違ったデータに訂正されてしまう(誤訂正されてしまう)ものでした。

しかし、先のハミング符号と単一パリティ検査符号とを組み合わせ、1ビット誤り訂正・2ビット誤り検出の可能な拡大ハミング符号(拡張ハミング符号)を作成することができます。

情報ビットと検査ビットのすべてのビットに基づいて作成するシンドローム s0 を追加します。
シンドローム s1、s2、s3のいずれかがゼロ以外で、s0 がゼロの時は、2ビット誤りを示します。

    (1***)(*1**)(**1*)(***1)
1001 a  a           a
1010 b  b       b
1011 c  c       c   c
1100 d  d    d
1101 p1 p1  p1       p1
1110 p2 p2  p2   p2
1111 p3 p3  p3   p3  p3
1000 p4 p4
----------------------------
      s0  s1  s2  s3

s0=a+b+c+d+p1+p2+p3+p4 (式0)
s1=d+p1+p2+p3 (式1)
s2=b+c+p2+p3 (式2)
s3=a+c+p1+p3 (式3)

ここで、シンドローム(s0,s1,s2,s3)がゼロとなるように、検査ビットp1,p2,p3,p4を求める。

(s1,s2,s3)=0
s1=s2=s3=0

(式1)と(式2)より、
s1=s2
d+p1+p2+p3=b+c+p2+p3
d+p1=b+c

両辺にd を足して、
d+d+p1=b+c+d

d+d=0 なので、(モジュロ2加算;同じ数字を足すとゼロ)
p1=b+c+d

(式1)と(式3)より、
d+p1+p2+p3=a+c+p1+p3
d+p2=a+c
p2=a+c+d

(式2)より、
0=b+c+p2+p3
p3=b+c+p2=b+c+a+c+d

c+c=0 なので、(モジュロ2加算;同じ数字を足すとゼロ)
p3=a+b+d

(式0)と(式1)より、
a+b+c+d+p1+p2+p3+p4=d+p1+p2+p3
a+b+c+p4=0
p4=a+b+c

よって、検査ビット(パリティビット)は、
p1=b+c+d
p2=a+c+d
p3=a+b+d
p4=a+b+c

ハミング符号の原理(1)
ハミング符号の原理(2)
ハミング符号の原理(3)
ハミング符号の原理(4) -拡大ハミング符号-
ハミング符号の原理(5) -グレイ・ハミング符号-
ハミング符号の原理(6) -巡回ハミング符号-


最新の画像もっと見る

コメントを投稿