海明校驗碼(靠譜的解釋)


 https://www.cnblogs.com/zsswpb/p/5771636.html

【定義】

     海明碼(Hamming Code)是利用奇偶性來檢錯和糾錯的校驗方法。海明碼的構成方法是在數據位之間的確定位置插入k個校驗位,通過擴大嗎距來實現檢錯和糾錯。對於數據位m的數據,加入k位的校驗碼,它應滿足:
 2^k>m+k+1  

   【例子】

     設數據為01101001,試采用校驗位求其偶校驗方式的海明碼。
     (1)確定數據位D和校驗位P在海明碼中的位置:
    由海明碼編碼規則可知:
             pi在海明碼的第2i-1
             比如P4=2^(4-1)=8,所以位於第8位

                         

    (2)確定校驗關系
         這個難點在於如何確定校驗位組。
         舉一個例子來說:H3=D0,海明碼下標為3,我們必須用已知的校驗位所對應的海明碼下標(P1,P2,P3,P4,它們的海明碼下標分別是 1,2,4,8)來表示3,這里3就可以等於1+2。
H5為什么是1+4而不是2+3呢?因為H3不是校驗位,是數據位。
 
          
       
       比如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
 


免責聲明!

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



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