天天看点

细说海明码编码原理和校验方法

海明码编码原理和校验方法

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