海明碼編碼原理和校驗方法
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