- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
海明码学习过程探究(我的学习探讨之路)
这是我学习过程中花好几个小时解决的问题,现在与大家分享一下
注意: 鉴于本人水平有限,有些东西是个人的理解,可能不是那么很标准, 请大侠们多多指 教,
首先了解几个概念:
异或 的运算方法是一个二进制运算:
1A仁0 0A0=0 1A0=1 0A仁1
两者相等为 0,不等为 1.异或的作用:交换两个整数的值时可以不用第三个参数。
如a=11,b=9.以下是二进制
a=aAb=1011A1001=0010;
b=bAa=1001A0010=1011;
a=aAb=0010A1011=1001;
这样一来 a=9,b=11 了。
海明码 是在原编码的基础上附加 1 部分代码, 使其满足纠错码的条件, 原编码可将它称
为信息码,附加码称为校验码 (又可称为监督码或冗余码 ) 。编码效率最高。它属于线性分组 码,由于线性码的编码和译码容易实现,至今仍是应用最广泛的 1 类码。
海明校验的特点不仅具有检测错误的能力,同时还具有给出错误所在准确位置的能力。好了现在我们开始看看怎么去求海明码和他是怎样去纠错的。
海明码编码可遵循以下四个步骤:
1 。由信息位数,根据海明不等式,确定校验位数
2。确定校验码位置
3。确定校验码的值
4。求出汉明码我们现在具体看一下:
1.海明不等式2的r次方减一大于等于 k+r (根据信息位数,确定校验位数, 2人卜1 k+『其
中,k为信息位数,r为校验位数。求出满足不等式的最小 r,即为校验位数。)
2.确定校验码位置
从理论上讲校验码位可放在任何位置,但习惯上将它放于位置 1, 2, 4, 8……等位置。感
觉记住这几个位置就行,
51CT0.com
本图片来自51 CTOS客 Blog .51 cto .corn
若未注明出业则为非法转载
备注:(对于校验位少的可用强记法记住所在位置,而对于位数较多的强记法就不适用,在 这里介绍1种公式法,不用死记硬背,即可求出各校验码的位置。
校验位rn对应的位置为2n, n的取值从0开始,则:
r0=20=1 r仁 21=2 r2=22=4 r3=23=8
将校验位填在表格1对应的单元格内,其余位用信息码填充。 表格1中,位数是指数据存放
在第几位,共11位,用In表示(n的取值从1至11)。
11 10 9 8 7 6 5 4 3 2 1 位数
1 0 0 r3 1 1 0 r2 1 r1 r0 编码
)
3?确定校验码的值(成功与否的关键)
用我自己的话写(带有局限性):海明码的位号拆分成校验码位号的 2的N-1次幕的和 如
图2.6备注说明 然后校验码的值就等于所校验的所有位值的异或值。 over下面是从网上找
的详细解答。
在海明码中, 位号数(1、2、3、……、n)为2的权值的那些位,即:
1(20)、2(21)、4(22)、8(23)、…2r-1 位,作为奇偶校验位并记作:P1、P2、P3、P4、…Pr,余下各位则为有效信息位。
例如:N=11 K=7 r=4 相应海明码可示意为
位号1011
位号
10
11
P 占位 P1 P2 尺3 XX P4
其中X
其中X均为有效信息,海明码中的每一位分别被
P1P2P3P4 - Pr 中的一至若干位所校验,其
规律是:
第i位由校验位位号之和等于 i的那些校验位所校验
女口:海明码的位号为 3,它被P1P2 (位号分别为1,2)所校验
海明码的位号为5,它被P1P3 (位号分别为1,4)所校验
归并起来:形成了 4个小组,每个小组一个校验位,校验位的取值,仍采用奇偶校验方式确
如表2 6、表2 7所示:
51CT0.com
本图片来§51 CTOS客 Blog .51
若未注明出处则为非法转载
51CT0.com
本图片来§51 CTOS客 Blog .51
若未注明出牡则为非法转载
(自我认知:感觉就是码位的拆分,拆分成校验码的 2的N — 1次方幕的和)
其次,校验位rn由信息码对应位数的幕之和形式中包含有 n的信息码异或而得,从表格
2.6 2.7分析可知,pl的值由111 (信息码为1)、19 (信息码为0)、17位(信息码为1 )、15 位(信息码为0)、13 (信息码为1)对应的信息码异或而得,
4?求海明码。根据上面的校验码公式表表格填好后,写出海明码。
5?校验
若有17位长的信息码为1001101,由7位信息码,求出了汉明码为10011100101,若该编码 传输被接收时,第 7位变成了 0,接收端如何来判断并且纠正错误呢?
在海明码中,通过校验因子进行验证,校验因子公式为 Sn=rn(校验码)O + Rr接收码)
rn(校验码)即为所对应的r的取值,Rn(接收码)为由信息码对应位数的幕之和形式中包含有 n
的信息码异或而得。
如表格4
文档评论(0)