海明码(简单转化)

原创 2018年04月17日 00:13:17

有效信息转换为海明码进行发送,转换过程如下:


例子:

有效信息:10011100

1.海明码不等式

设N为校检码的位数,K是有效信息位,r是校检位,则有海明不等式:

N = K+r < 2^r ;

2.校验位+有效信息位的表示

在海明码中,位号数(1,2,3,4....)为2的权值的那些位,即1(2的0次方),2(2的1次方),4(2的平方)位,作为奇偶校检位,记作:P1,P2,P3.....余下各位则为有效信息位

10011100有8个有效信息位,则海明码可表示为:

位号(a)123456789101112
P占位P1P21P3001P41100

3.确定校验位对应的二进制数值(即0,1)

海明码中的每一位分别被P1,P2,P3....Pr中的一至若干位所校验,规律为:

第i位由校验位位号之和等于i的那些校验位所校验

引入表格:

海明码位号占用的检验位位号备注
11

1 = 1

222 = 2
31,23 = 1+2
444 = 4
51,45 = 1+4
62,46 = 2+4
71,2,47 = 1+2+4
888 = 8
91,89 = 1+8
102,810 = 2+8
111,2,811 = 1+2+8
124,812 = 4+8

每个校验位所校检的位号

校验位位号被校检位位号
1(P1)1,3,5,7,9,11
2(P2)2,3,6,7,10,11
4(P3)4,5,6,7,12
8(P4)8,9,10,11,12

条件备齐,检验位数值由其对应的被校检位位号对应数值之和来确立

如P1 = a1+a3+a5+a7+a9 = 0+1+0+1+1+0 = 1(没有进位,1+1为0),

以此类推,P2 = 1,P3 = 1,P4 = 0

至此,10011100对应海明码彻底推出:111100101100


5.校验

来到最有意思的环节,改掉海明码中任意一位数值,都能从错误的海明码中把这一位找出来,一下为校验过程

改掉以上例子中的第3位,即改为110100101100,再次计算校验码Pn的值,

P1 = a1+a3+a5+a7+a9 = 1,P2 = 1, P3 = 0, P4 = 0;

此时检验码由大到小从左到右排列,即为0011,化成十进制是3,即检验出第3位被修改过了,此时只需修改第三位的数值,即0变1,1变0,即为正确的传输信息。

海明码的局限性在于只能检验并修改1位错误的信息。

 

OpenGL实现RGB到YUV的转化

-
  • 1970年01月01日 08:00

海明码教程解析示例……

  • 2008年12月23日 12:18
  • 3KB
  • 下载

(看得懂的)海明码的编码和校验方法

转载自:http://www.cnblogs.com/scrutable/p/6052127.html 看了半天就这个看懂了。所以转载了。 海明码(也叫汉明码)具有一位纠错...
  • flyyufenfei
  • flyyufenfei
  • 2017-05-16 09:37:22
  • 7439

海明码的生成

海明校验码具有检测错误的能力,同时还具有找出错误所在位置的能力。海明码的编码原理:给出信息,组成信息位:,其余位置填充位置码,海明码由此组成。 给定信息. 构建海明码: 其中,pi的值由和bi...
  • theArcticOcean
  • theArcticOcean
  • 2016-02-10 14:52:50
  • 943

软考学习--海明码

求信息1011的海明码.     求解步骤:     (1)用k表示信息位数,r为校验位数.根据信息位数求出校验位数,公式是2^r≥k+r+1,满足这个不等式的最小的r,就是校验位数.     ...
  • liuyanlinglanq
  • liuyanlinglanq
  • 2013-09-21 16:09:49
  • 1281

海明码的生成与解码

  • 2012年10月10日 08:34
  • 2KB
  • 下载

c语言实现的海明码算法

  • 2009年12月12日 12:41
  • 6KB
  • 下载

【软考】——海明码和CRC码

软考的过程遇到海明码和CRC的码,觉得不是很了解,查了一下资料,整理下。也是帮助自己理解,同样希望可以大家理解海明码和CRC校正码。 海明码     核心公式:2r ≥k+r+1 其中k为信息...
  • jiadajing267
  • jiadajing267
  • 2016-10-27 20:47:53
  • 1062

海明码编码示例

在写编码步骤之前,先来熟悉几个表示符号:          编码规则                  下面以8为数据位编码步骤为例:    一,确定D与P在海明码中的位置 ...
  • lhc2207221755
  • lhc2207221755
  • 2014-09-27 22:28:53
  • 1998

海明码详解(如何计算海明码)

  • 2011年05月04日 18:18
  • 96KB
  • 下载
收藏助手
不良信息举报
您举报文章:海明码(简单转化)
举报原因:
原因补充:

(最多只允许输入30个字)