1. 程式人生 > >漢明碼(海明碼)計算方法

漢明碼(海明碼)計算方法

常用 logs 至少 http 其中 span 計算 功能 src

漢明碼是一種具有糾錯功能的校驗碼.本文簡單地介紹漢明碼的計算方法.
漢明碼的目的是能夠糾正一位誤碼.假設信息碼共有 n 位,漢明碼共有 r 位,那麽總共的碼長為 n + r 位.為能檢測出 n + r 位編碼中其中一位的錯誤,漢明碼必須能夠表示至少 n + r + 1 種狀態,其中 n + r 種表示 n + r 位編碼中有一位錯誤,另外還需要一種來表示整個編碼正確無誤.則漢明碼的長度需要滿足下列關系:
2 r >= n + r + 1

技術分享

校驗位的確定 k個校驗位是通過對m+k位復合碼字進行奇偶校驗而確定的。 其中:P1位負責校驗海明碼的第1、3、5、7、…(P1、D1、D2、D4、…)位,(包括P1自己) P2負責校驗海明碼的第2、3、6、7、…(P2、D1、D3、D4、…)位,(包括P2自己) P3負責校驗海明碼的第4、5、6、7、…(P3、D2、D3、D4、…)位,(包括P3自己) 3、5、7、9、11的二進制編碼的第一位為1,所以3、5、7、9、11號位參加第一位校驗位, 類似:3、6、7、10、11號位參加2號位校驗,5、6、7號位參加4號位校驗,9、10、11號位參加8號位校驗 技術分享
漢明碼的糾錯方式實際上是對傳送後的漢明碼形成新的檢測位P 根據P的狀態 直接找出錯誤 因此可得到三個校驗方程及確定校驗位的三個公式:(根據規則進行校驗 如果是配偶原則P=0 配奇原則P=1) P1=B1⊕B3⊕B5⊕B7 P2=B2⊕B3⊕B6⊕B7 P3=B4⊕B5⊕B6⊕B7 例 唐 計原的一道例題 技術分享 註:漢明碼常用來糾錯一位的場合,若欲實現糾錯2位,可以再增加一位就錯位

漢明碼(海明碼)計算方法