首页 生活常识

海明码的概念是什么

日期:2024-06-14 15:22:22   编辑:雪原皓月 

一、什么是海明码

海明码是在原数据中的一些固定位置,插入一个0(或1),以进行奇(或偶)校验位,虽然使原数据变长,但可使其拥有纠错能力。

能侦测并更正一个比特的错误;

若有两个比特出错,则只能侦测,不能更正;

若有三个或更多的比特出错,则不能侦测,更不能更正。


二、海明码简述

  • 假设 数据位为 n 位,校验位有 k 位,则海明码有 n + k 位,且 n 和 k 需满足 2 − 1 ≥ n + k 等式( 可以用 2k − 1 > n 简化计算 )。如:

当 n = 8 时,则 k = 4 ;

当 n = 16 时,则 k = 5 。

  • 用符号 D 代表数据位,P 代表校验位,H 代表海明码,则 P = 2−1 ,也就是说 第 i 个校验位在海明码的第 2−1 个位置上。当确定好校验位在海明码的位置之后,剩下的位置则由数据位进行填充。(也就是2的幂次方位上)
  • 每一位海明码都会被校验到,其中,被校验的海明码它的下标等于参与校验的所有检验码下标之和( 对应存放 D 时 ),而校验位由自身校验( 对应存放 P 时 )。

如上:校验位p由自己校验,数据位H(x)由最靠近自己的校验位P(i)对应的数据位H(i)加上最近的检验位P(i)前面的校验位P(j)对应的数据位H(j),即H(x)=H(i+j)

如:H11前一位P4对应H8,则应该加上H3,由于H3是数据位,则往前推,加上H2和H1,分别对应P4 P2 P1

异或运算的规则是:

0 ⨁ 0 = 0 0 ⨁ 1 = 1

1 ⨁ 1 = 0 1 ⨁ 0 = 1

三、海明码纠错

接收端在接收到海明码后,对将校验位 P 与其相对应的数据位 D 进行异或运算,并根据运算结果生成编码结果 G4G3G2G1(这里还是以数据位 8 位时举例,若是 16 位,则结果为 G5G4G3G2G1)。

注意观察 P 和后面的 D 组数据之间的关系,如果进行偶检验,没有错误时,G4、G3、G2、G1 应该全为0( 奇校验时无错全为1 )。不全为0则说明发生了错误,且 G4、G3、G2、G1的值化成十进制值 m 就指出了海明码的第 m 个位置出现了错误,如 G4、G3、G2、G1 = 1110 说明海明码 H7出现了错误。

四、示例

若要传输的值为10101101,则根据上述校验值P(a)为0100,假设传输中出现差错,接收方,接收值为10100101,则当前校验值P(b)为0011,P(a)与P(b)异或运算后值G为0111,换算为十进制值为7,则可知第七位H7出错,将该位求反,即0求反为1,接收差错值可由10100101纠错为正确值10101101


H12

H11

H10

H9

H8

H7

H6

H5

H4

H3

H2

H1


D7

D6

D5

D4

P4

D3

D2

D1

P3

D0

P2

P1

数据

1

0

1

0


1

1

0


1



校验值A





0




1


0

0

接收值

1

0

1

0


0

1

0


1



接收后校验值B





0




0


1

1

AB异或运算G





0




1


1

1

你感兴趣的

三菱电机空调售后服务号码24小时实时反馈-今-日-更-新

三菱电机空调24小时售后客服中心:400-883-8253三菱电机空调,作为一家资深且信誉卓著的服务提供商,自成立以来便专注于为各界客户提供安全可靠的产品质量与维护解决方案。我们不仅拥有完备的工商注册资质,并且每一项服务均经过相关单位严格备案,确保每一次上门服务既专业又合法,给予客户十足的安

飞达仕中央空调-全国各售后热线实时反馈-今-日-资-讯

如电器使用过程中出现问题给您带来不便,我们深表歉意,麻烦您拨打公司客服热线(400-883-8253),我们将安排工作人员为您提供上门维修服务,感谢您的来电! 服务区域;全市各区及周边等辖区均有维修网点,统一报修,就近安排维修上门服务一、能工巧匠:为您提供优质服务《工程师背景

尊威集成灶售后服务24小时服务热线-全国400服务号码实时反馈-今-日-更-新

尊敬的用户,感谢您选择尊威集成灶。在您使用过程中,如遇到问题,请随时联系我们。售后服务热线:400-883-8253(参考使用说明书),我们将24小时为您提供服务。以下为尊威集成灶常见故障及维修方法,希望能为您提供帮助。尊威集成灶售后服务24小时服务热线-全国400服务号码实时反馈-今-日-更-

海牌集成灶|全国服务实时反馈-今-日-更-新

尊敬的用户,感谢您选择海牌集成灶。在您使用过程中,如遇到问题,请随时联系我们。售后服务热线:400-883-8253(参考使用说明书),我们将24小时为您提供服务。以下为海牌集成灶常见故障及维修方法,希望能为您提供帮助。海牌集成灶|全国服务实时反馈-今-日-更-新日常使用故障及处理方法在

鑫百达指纹锁客服号码售后号码大全及维修网点查询实时反馈全+境+到+达

鑫百达指纹锁售后服务电话400-883-8253越来越多的人意识到家财安全的重要性,为了保护贵重物品的安全,鑫百达指纹锁成为了很多家庭的必备品。而鑫百达指纹锁作为国内知名品牌,其专业服务备受广大消费者的赞誉。鑫百达指纹锁专业服务电话(以产品说明书或保修卡电话为准),全方位解决您的家财安全问题。

特畅恒智能锁全国售后服务网点号码实时反馈-今-日-更-新

特畅恒智能锁售后服务电话:400-883-8253特畅恒智能锁24小时客服热线:400-883-8253特畅恒智能锁24小时人工客服、线下专业全国网点及各地区 专业人员服务团队等专属服务,整个报修流程规范有序,后期同步跟踪查询公开透明。所有专业团队均经过专业培训、持证上岗,所用配

图文推荐

  • 三菱电机空调售后服务号码24小时实时反馈-今-日-更-新

  • 飞达仕中央空调-全国各售后热线实时反馈-今-日-资-讯

  • 尊威集成灶售后服务24小时服务热线-全国400服务号码实时反馈-今-日-更-新

  • 海牌集成灶|全国服务实时反馈-今-日-更-新

  • 鑫百达指纹锁客服号码售后号码大全及维修网点查询实时反馈全+境+到+达

  • 特畅恒智能锁全国售后服务网点号码实时反馈-今-日-更-新