> 文档中心 > 细说海明码编码原理和校验方法

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

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

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