天天看點

細說海明碼編碼原理和校驗方法

海明碼編碼原理和校驗方法

3.1.1考點分析
           

曆年網絡工程師考試試題涉及到檢錯與糾錯的相關知識點有:基本概念、海明碼、CRC編碼

前言:(海明碼核心問題)
           

前言:大家在做這種題之前一定要明白一個問題

海明碼是來糾錯檢錯的

,而關于海明碼的一系列問題都是根據校驗位的值的變化找出錯誤,進而進行糾正錯誤。(記住這一句話!!!,如果你題目做多了就會發現這段話是海明碼的出題核心)

基本概念:
           

海明碼是一種糾錯碼,其方法是為需要校驗的

資料位

+

校驗位

,使得校驗位的值決定于某些被校位的資料,當被校資料出錯時,可

根據校驗位的值的變化找到出錯位

,進而糾正錯誤。

教材例題:
           
細說海明碼編碼原理和校驗方法

解答: 以原始資訊

101101

為例,講解推導過程和校驗過程

資訊位(m)表示,校驗位(k)表示

原始資訊的個數 即 m=6 ;由關系式得 6+k+1≤2^k 解不等式 最小k:4

海明碼總長度 m+k 即 6+4=10 總長度:資訊位+校驗位

海明碼排列規則:10個位置是指海明碼的總長度

細說海明碼編碼原理和校驗方法

(1)填寫原始資訊 如上圖,自己可以按照例題模仿走一遍流程

(2)校驗

細說海明碼編碼原理和校驗方法

圖中僅舉出X4的一個例子,很明顯第4位為1的 B8,B9,B10

校驗采用的是(異或)運算 即 相異為1 相同為0

X8=B8⊕B9⊕B10=1⊕0⊕1=0