- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文章编号:1007-757X(200701-0058-03
汉明码校验原理解析
甘家宝
摘 要:汉明码是一个在原有数据插入若干校验码来进行错误检查和纠正的编码技术,在通讯领域内应用广泛。许多有关网络与通信持术的教科书对汉明码的统码原理及其方法都作了介绍,但是几乎所有的解释都或多或少地存在一些令人费解的地方:
1对公式2k-1≥m+k(其中m是信息长度,k是插入位数的推导解释得不多;
2对检验和纠正错误的原理都未能给出浅显的解释。
3本文通过2进制的两个应用实例,循序淅进导出了汉明码检验和纠错的原理,通俗易懂。
关键词:二进制;汉明码;偶性测试
中图分类号:T N919.3 文献标识码:A
1 前言
近年来,随着网络技术的普及应用,越来越多的人开始学习与网络通信技术相关的课程。笔者在教学课程中发现众多的教科书对于应用比较普遍的校验技术—汉明码校验技术的原理解释得不够详尽,致使许多初学者对此感到迷惑。甚至有网友在互联网上发出了“只知道这么做,不知道什么?”的无奈。本文通过“贵夫人住店”和“猜年龄”等二进制应用实例通用俗易懂地给出了汉明码校验原理解释,可以帮助读者更好地理解汉明码的实现方法及其检错、纠错原理,也可以供相关教师在教学时参考。
2 汉明码校验方法的具体实现
利用汉明码对网络传输数据进行校验时,被传送的数据由两部分组成。一部分是原始信息,另一部分是监督位信息。具本实施步骤如下:
2.1 发送方编码
1根据原始信息的码长确定需要多少个监督位
由于监督位必须设在第1,2,4,8,16,32,.....这些2的整次幂的位置,所以当原始信息是2~4位时,需要3个监督位: 1234567
X X*X***
其中X为监督位,*为信息位;
当原始信息是5~11位时,需要4个监督位: 123456789101112131415
X X*X***X*******
当原始信息是13~26位时,需要5个监督位:
12345678910111213141516171819202122 X X*X***X*******X******
232425262728293031....................................... *********.......................................
一般地,如果原始信息位长度为m,设监督位长度为K,则应有:
2k-1≥m+k
2确定监督位的内容
根据偶性测试(或奇性测试的原理对监督位填写适当的0或1,确保发送出去信息各位上的“1”的个数为偶数。为了实现这一目的,我们先将待发送的原始信息按照上面的规律填写到*号所在的位置;然后分别按照以下数列组的顺序对各监督对各监督位填写0或1就可以了:
1,3,5,7,9,11,13,15,......
2,3,6,7,10,11,14,15,......
4,5,6,7,12,13,14,15,......
8,9,10,11,12,13,14,15.....
......................
作者简介:甘家宝,上海托普信息技术学院软件学院,上海 201300
2.2 接收方解码
接收方在收到发送方的一系列“01”串以后,首先对收到的字串进行偶性测试,检验传输过程是否正确,如果正确,则剔除监督位获取正确信息。
1偶性测试
由于发送时,发送方是在监督位填写了适当的“0”或“1”,确保了各次监督过程的偶性测试都可以得到偶数个1,所以在接收方只需将发送方的步骤再重复一遍即可。如果发现某次未能得到偶数个“1”,说明相应的错误发生了。
值得注意的是,由于是采用偶性测试的办法。所以如果同时出现了偶数个错误,那么将不能正确地被检出。但是出现这种情况概率很小。
2解码
如果通过偶性测试确认收到的数据是正确的,则可以将第1,2,4,8,16,32......等位置上的信息剔除,从而得到原的信息。
2.3 举例
假设待发送的原始信息为100110111011。
1发送方编码
步骤1、确定监督位长度
对照公式:
2k-1≥m+k
原始信息长度为12,监督位长度为3显然太小。
设长度为4,则12+4=16,而24-1=15,小于16,也不行。
所以监督位长度应该为5,也就是说,完整的传输信息应该是17位。
步骤2、占位
将监督位用“X”填好,剩余的位置则原始信息位,将待发送的“100110111011”按原顺序填好。
码字位置1234567891011121314151617监督数字X X X X X
原始信息100110111011复合码字
步骤3、填写监督位内容(1根据第1,3,5,7,9,11,13,15,
17号各位置上的“1”的个数应该为偶数的原则,由于第3,7,9,
11,13,15,17号为“1”
原创力文档


文档评论(0)