ハミング符号の原理(1)(2)では、検査ビット p1,p2,p3 をそれぞれメモリのアドレス 100、010、001番地に割り当てましたが、101、110、111番地に割り当てる場合は、次のようにして、検査ビット(パリティビット)を求めます。
(1**)(*1*)(**1)
001 a a
010 b b
011 c c c
100 d d
101 p1 p1 p1
110 p2 p2 p2
111 p3 p3 p3 p3
------------------
s1 s2 s3
s1=d+p1+p2+p3 (式1)
s2=b+c+p2+p3 (式2)
s3=a+c+p1+p3 (式3)
ここで、シンドローム(s1,s2,s3)がゼロとなるように、検査ビットp1,p2,p3を求める。
(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
よって、検査ビット(パリティビット)は、
p1=b+c+d
p2=a+c+d
p3=a+b+d
ハミング符号の原理(1)
ハミング符号の原理(2)
ハミング符号の原理(3)
ハミング符号の原理(4) -拡大ハミング符号-
ハミング符号の原理(5) -グレイ・ハミング符号-
ハミング符号の原理(6) -巡回ハミング符号-
(1**)(*1*)(**1)
001 a a
010 b b
011 c c c
100 d d
101 p1 p1 p1
110 p2 p2 p2
111 p3 p3 p3 p3
------------------
s1 s2 s3
s1=d+p1+p2+p3 (式1)
s2=b+c+p2+p3 (式2)
s3=a+c+p1+p3 (式3)
ここで、シンドローム(s1,s2,s3)がゼロとなるように、検査ビットp1,p2,p3を求める。
(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
よって、検査ビット(パリティビット)は、
p1=b+c+d
p2=a+c+d
p3=a+b+d
ハミング符号の原理(1)
ハミング符号の原理(2)
ハミング符号の原理(3)
ハミング符号の原理(4) -拡大ハミング符号-
ハミング符号の原理(5) -グレイ・ハミング符号-
ハミング符号の原理(6) -巡回ハミング符号-
非常に分かり易い説明で参考になりました。
ありがとうございます。