Hamming Code海明码学习笔记.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hamming Code海明码学习笔记

Hamming Code海明码学习笔记 Hamming Code海明码学习笔记.txt你出生的时候,你哭着,周围的人笑着;你逝去的时候,你笑着,而周围的人在哭!喜欢某些人需要一小时,爱上某些人只需要一天,而忘记一个人得用一生海明码是奇偶校验的一种扩充。它采用多位校验码的方式,在这些校验位中的每一位都对不同的信息数据位进行奇偶校验,通过合理地安排每个校验位对原始数据进行校验位组合,可以达到发现错误,纠正错误的目的。  假设数据位有m位,如何设定校验位k的长度才能满足纠正一位错误的要求呢?我们这里做一个简单的推导。   k位的校验码可以有 个值。显然,其中一个值表示数据是正确的,而剩下的 –1个值意味着数据中存在错误,如果能够满足: –1m + k (m + k为编码后的总长度),在理论上k个校验码就可以判断是哪一位(包括信息码和校验码)出现问题。   1.编码步骤   (1)根据信息位数,确定校验位数,2r≥k+r+1,其中,k为信息位数,r为校验位数。求出满足不等式的最小r,即为校验位数。   (2)计算机校验位公式。   表1-3 校验位公式表 … 12 11 10 9 8 7 6 5 4 3 2 1 位数 … I8 I7 I6 I5 I4 I3 I2 I1 信息位 … r3 r2 r1 r0 校验位   表1-3其实可以当成一个公式来套用,如有已经编码的数据 1100 1001 0111。我们只需把这些数据填充到校验公式,即可得到信息位与校验位。填充的方法是这样的,首先看数据的最低位(即右边第1位),最低位为1,把1填充在公式表的r0位置,接着取出数据的次低位数据(即右边第2位),把它填充到r1位置,把右边第3位数填充到I1位置。依此类推,我们可以得到表1-4。   表1-4 校验位公式实例表 … 12 11 10 9 8 7 6 5 4 3 2 1 位数 … 1 1 0 0 0 0 1 1 信息位 … 1 0 1 1 校验位   表中第2行数据为1100 001 1,这就是数据1100 1001 0111的编码信息,而表格第3行是1 011,这便是较验位。   注意:   ·校验位rn 所在位数为2n,其余由信息位填充;   ·信息位下标从1开始,而校验位下标从0开始。   例如:I8 对应的第十二位12=23+22,I7,对应的第十一位11=23+21+20,I6 对应的第十位10=23+21,I5 对应的第九位9=23+20,一直写到I1对应的第三位。   校验位rn 由前面位数写成2的幂之和中包含2n 的位数对应的信息位之和构成   例如: r3=I8 I7 I6 I5   注意:其中“ ”是异或运算,在异或运算中:   0 1=1;   1 0=1;   0 0=0;   1 1=0;   (3)求校验位。根据上面我们所说的计算公式可以求出校验位。   (4)求海明码。根据上面的表格填充后,写出海明码。   2.纠错步骤   (1)根据海明码的信息位和校验位的分布规则,找出接收到的数据的信息位以及校验位。   表1-5校验位公式表 … 12 11 10 9 8 7 6 5 4 3 2 1 位数 … I8 I7 I6 I5 I4 I3 I2 I1 信息位 … r3 r2 r1 r0 校验位   如有已经编码的数据 1100 1001 0111,则可以根据上表得到编码的信息为:1100 001 1;校验位为:1 011,详细过程在“编码步骤”已详细说明。 (2)接收端对校验位进行验证   Sn= rn ( 校验)+ rn (接收)   (3)判断校正因子是否有错,并改正。   Sn Sn-1 Sn-2……S0二进制对应的是那位就是那位出错,将其改正完成纠错。如1001为第九位,将第九位1变0 (或0变1) 即可。   例题1   求信息1011的海明码。   解答:   我们可以按照上面所说的编码步骤进行解题:   (1)2r≥4+r+1,确定校验们为3位23≥4+3+1。   (2)列出公式表格。   表1-6校验位公式表 7 6 5 4 3 2 1 位数 I4 I3 I2 I1 信息位 r2 r1 r0 校验位   7=22+21+20,6=22+21,5=22+20,3=21+20   r2=I4+ I3+ I2   r1= I4+ I3+ I1   r0= I4+ I2+ I1   (3)根据公式得r 2 =0,r1 =0,r0=1   (4)加入表格。   表1-7 对表1-6填充数据后的表格 7 6 5 4 3 2 1 位数 1 0 1 1 信息位 0

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档