


綜合上面我們求一下信息1011的海明碼是多少?
答:
我們知道信息位有4位,即為n=4,求得公式中校驗(yàn)位K=3。所以海明碼一共7位:H7-H1 ; 信息位:D3-D0; 校驗(yàn)位:P3-P1。
求P3-P1在海明碼中的位置。根據(jù)圖中下面這句話。我們可以求得位置。

p1= 2的(1-1)次方=1
p2=>2
p3=>4
| H7 | H6 | H5 | H4 | H3 | H2 | H1 |
|---|---|---|---|---|---|---|
| D3 | D2 | D1 | P3 | D0 | P2 | P1 |
| 1 | 0 | 1 | P3 | 1 | P2 | P1 |
校驗(yàn)位在海明碼中的位置:P1----1 P2----2 P3----4
現(xiàn)在我們需要求得P1-P3的值,我們的海明碼就出來了。

我們需要根據(jù)上圖里面的這句話來得出信號位是通過那幾位校驗(yàn)碼校驗(yàn)的。
H1(P1)----->P1
H2(P2)----->P2
H3(D0)------>3=1+2 ---> P1,P2
H4(P3)----->P3
H5(D1)-----> 5=4+1----> P3,P1
H6(D2)----->6=4+2 ---->P3,P2
H7(D3)----->7=4+2+1---> P1,P2,P3
eg: H7 下標(biāo)為7, 校驗(yàn)碼下標(biāo)有1,2,4。 則需要7=4+2+1 。所以P1,P2,P3都參與了D3的校驗(yàn)。
接下來我們統(tǒng)計(jì)一個(gè)各個(gè)校驗(yàn)位校驗(yàn)的信號位有哪些。
P1---->P1,D0,D1,D3
P2---->P2,D0,D2,D3
P3---->P3,D1,D2,D3
進(jìn)行異或運(yùn)算(相同為0,相異為1)
P1=D0⊕D1⊕D3=111=1
P2=D0⊕D2⊕D3=101=0
P3=D1⊕D2⊕D3=101=0
所以海明碼為:1010101。
檢錯(cuò)計(jì)算: 本來是1011,假如傳過來的是1001。(D1出錯(cuò)了)
則從又到左D0=1 D1=0, D2=0, D3=1
G1=P1⊕D0⊕D1⊕D3=1101=1
G2=P2⊕D0⊕D2⊕D3=0101=0
G3=P3⊕D1⊕D2⊕D3=000*1=1
G3G2G1=101
如果是偶校驗(yàn),則需要全部為0,如果是奇校驗(yàn)全部為1。
101的10進(jìn)制。則是海明碼里面的第5位出錯(cuò)。H5(D1)出錯(cuò)。則D1取反,得到。1001-->1011 。 這樣就實(shí)現(xiàn)了檢錯(cuò),改錯(cuò)了。