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


漢明碼是一種具有糾錯功能的校驗碼.本文簡單地介紹漢明碼的計算方法.
漢明碼的目的是能夠糾正一位誤碼.假設信息碼共有 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位,可以再增加一位就錯位


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM