海明碼的編碼和檢驗

2021-08-28 11:18:10 字數 797 閱讀 7868

我們在寄快遞時,會填寫乙個單子,在填寫完成之後自己要進行一下核對,再然後是快遞員也要進行核對,這就屬於一種校驗,這種方式時比較簡單的。而計算機系統在執行時,各個部件之間要進行資料交換,為了保證資料在傳輸過程中的汙物,通常使用校驗碼的方法來檢測傳送的資料是否出錯,常用的的方法奇偶叫研發、海明碼和迴圈冗餘校驗碼。現在主要討論海明校驗碼

【定義】
海明碼(hamming code)是利用奇偶性來檢錯和糾錯的校驗方法。海明碼的構成方法是在資料位之間的確定位置插入k個校驗位,通過擴大嗎距來實現檢錯和糾錯。對於資料位m的資料,加入k位的校驗碼,它應滿足:

m+k+1<2^k

【例子】

設資料為01101001,試採用校驗位求其偶校驗方式的海明碼。

1)確定資料位d和校驗位p在海明碼中的位置:

由海明碼編碼規則可知:

pi在海明碼的第2i-1

比如p4=2^(4-1)=8,所以位於第8位

2)確定校驗關係

這個難點在於如何確定校驗位組。

舉乙個例子來說:h3=d0,海明碼下標為3,我們必須用已知的校驗位(p1,p2,p3,p4)來表示3,這裡3就可以等於1+2。

比如p1 的校驗位為**中紅色標記出來所對應的海明碼的位數

故:p1校驗:p1,d0,d1,d3,d4,d6

p1=d0⊕d1⊕d3⊕d4⊕d6=1⊕0⊕1⊕0⊕1=1

⊕符號:代表異或,相同則為0,不同則為1。只要仔細一定可以計算正確。

p2、p3、p4的海明碼計算也是如此,關鍵是要找出正確的校驗位組,所以海明校驗碼:011001001101

海明碼編碼原理及其解釋

一.糾正一位錯的海明碼的位數k 的選取必須符合下式 當資訊位為8 位時,海明碼校驗碼共有 4位,而當資訊位為 20位時,其校驗碼需要 5位。這是理論上進行糾錯需要用到的最少位。解釋 k位的糾錯碼能指明的位置最多為個,即從0.0 到1.1 除去0.0 表示第0 位出錯 沒有錯誤 再減去糾錯碼本身占用 ...

海明碼的編碼和校驗方法

海明碼 也叫漢明碼 具有一位糾錯能力。本文以1010110這個二進位制數為例解釋海明碼的編碼和校驗方法。編碼確定校驗碼的位數x 設資料有n位,校驗碼有x位。則校驗碼一共有2x種取值方式。其中需要一種取值方式表示資料正確,剩下2x 1種取值方式表示有一位資料出錯。因為編碼後的二進位制串有n x位,因此...

海明碼的編碼和校驗方法

海明碼 也叫漢明碼 具有一位糾錯能力。本文以1010110這個二進位制數為例解釋海明碼的編碼和校驗方法。編碼確定校驗碼的位數x 設資料有n位,校驗碼有x位。則校驗碼一共有2x種取值方式。其中需要一種取值方式表示資料正確,剩下2x 1種取值方式表示有一位資料出錯。因為編碼後的二進位制串有n x位,因此...