海明校驗原理

2021-05-24 02:17:58 字數 2120 閱讀 4616

①海明校驗的基本思想

將有效資訊按某種規律分成若干組,每組安排乙個校驗位,做奇偶測試,就能提供多位檢錯資訊,以指出最大可能是哪位出錯,從而將其糾正。實質上,海明校驗是一種多重校驗。

②海明校驗的特點

它不僅具有檢測錯誤的能力,同時還具有給出錯誤所在準確位置的能力。

一.校驗位的位數 校驗位的位數與有效資訊的長度有關

設:n--為校驗碼的位數 k--是有效資訊位 r--校驗位(分成r組作奇偶校驗,能產生r位檢錯資訊)

海明碼應滿足 n=k+r≤2r-1 若r=3 則n=k+r≤7 所以k≤4

二.分組原則`

在海明碼中, 位號數(1、2、3、……、n)為2的權值的那些位,即:

1(20)、2(21)、4(22)、8(23)、…2r-1位,作為奇偶校驗位

並記作: p1、p2、p3 、p4、…pr,餘下各位則為有效資訊位。

例如: n=11 k=7 r=4 相應海明碼可示意為

位號   1  2   3   4   5   6   7   8   9   10   11

p佔位 p1 p2 × p3 × × × p4   ×   ×   ×

其中×均為有效資訊,海明碼中的每一位分別被p1p2p3p4… pr 中的一至若干位所校驗,其規律是:

第i位由校驗位位號之和等於i的那些校驗位所校驗

如:海明碼的位號為3,它被p1p2(位號分別為1,2)所校驗

海明碼的位號為5,它被p1p3(位號分別為1,4)所校驗

歸併起來: 形成了4個小組,每個小組乙個校驗位,校驗位的取值,仍採用奇偶校驗方式確定。 

三.編碼、查錯、糾錯原理

以4位有效資訊(b1、b2、b3、b4)和3位校驗位(p1、p2、p3)為例: k=4 r=3

海明序號 1   2   3   4   5   6   7

海明碼     p1 p2 b1 p3 b2 b3 b4

根據表2-8可以看到

(1)每個小組只有一位校驗位,第一組是p1、第二組是p2、第三組是p3。

(2)每個校驗位校驗著它本身和它後面的一些確定位。  

1.編碼原理(採用偶校驗)

1)若有效資訊b1b2b3b4=1011 先將它們分別填入第3、5、6、7位

2)再分組進行奇偶統計,分別填入校驗位p1、p2、p3的值

如:第一組有:p1b1b2b4 因b1b2b4含偶數個1,故p1應取值為0

第二組有:p2b1b3b4 因b1b3b4含奇數個1,故p2應取值為1

第三組有:p3b2b3b4 因b2b3b4含偶數個1,故p3應取值為0

海明編碼為:p1p2b1p3b2b3b4=0110011

2.查錯與糾錯

因為分三組校驗,每組產生一位檢錯資訊、3組共3位檢錯資訊,便構成乙個指誤字,上例指誤字由g1g2g3組成。

其中:g3=p3⊕b2⊕b3⊕b4              p3b2b3b4=0011

g2=p2⊕b1⊕b3⊕b4             p2b1b3b4=1111

g1=p1⊕b1⊕b2⊕b4            p1b1b2b4=0101

採用偶校驗,在沒有出錯情況下g1g2g3=000。由於在分組時,就確定了每一位參加校驗的組別,所以指誤字能準確地指出錯誤所在位。

如:若第3位b1出錯,由於b1參加了第一組和第二組的校驗,必然破壞了第一組和第二組的偶性,從而使g1和g2為1。 因為b1未參加第三組校驗,故g3=0,所以構成的指誤字g3g2g1=011它指出第3位出錯。

反之:若g3g2g1=111 則說明海明碼第7位b4出錯。因為只有第7位b4參加了3個小組的校驗,破壞了三個小組的偶性。

假定:源部件傳送海明碼為:0110011 接收端接收海明碼為:0110011

則: 三個小組都滿足偶校驗要求,這時g3g2g1=000,表明收到資訊正確,可以從中提出有效資訊1011參與運算處理。

糾錯:若接收端收到的海明碼為0110111,分組檢測後指誤字g3g2g1=101,它指出第5位出錯,則只須將第5位變反,就可還原成正確的數碼0110011。

海明校驗法

海明校驗法是軟考學習的乙個比較重要的知識點。下面來詳細的介紹一下海明校驗碼。是一種利用奇偶性來檢錯和糾錯的校驗方法。因此想要到達檢錯糾錯的效果,就要通過加容來進行,也就是通過加大碼距來進行測試 指乙個編碼系統中任意兩個合法編碼之間至少有多少個二進位制位不同。意思就是說最少要改變多少位才能改變成為另外...

海明校驗碼理解 糾錯原理

二 海明校驗碼如何糾錯 雖然上一步已把各位校驗碼求出來了,但是如何實現檢測出哪一位在傳輸過程中出了差錯呢?海明碼也只能檢測並糾正一位錯誤 它又是如何實現對錯誤的位進行糾正呢?其實最關鍵的原因就是海明碼是乙個多重校驗碼,也就是碼字中的資訊碼位同時被多個校驗碼進行校驗,然後通過這些碼位對不同校驗碼的聯動...

海明校驗碼

這是關於計算機基礎的知識。我們都知道計算機系統執行時,各個部件之間要進行資料交換,為了確保資料在傳送的過程中正確無誤,一是提高硬體電路的可靠性,二是提高 的校驗能力,包括查錯和糾錯。此文主要是從海明碼的校驗能力來說,也是使用校驗碼的方法來檢測傳送的資料是否出錯。它的實現原理,是在m個資料位之外加上k...