海明吗码字的求法

网友投稿 826 2022-11-16

海明吗码字的求法

海明吗码字的求法

【例3-1】假定信息码为"0010"。海明码的监督关系为

S2=a2+a4+a5+a6    S1=a1+a3+a5+a6       S0=a0+a3+a4+a6

求海明吗码字。

解析:

(1)用k表示信息位数,r为校验位数.根据信息位数求出校验位数,公式是2^r≥k+r+1,满足这个不等式的最小的r,就是校验位数.

而信息位数则根据信息的长度来确定,如0010,信息位数为4.所以2^r≥4+1+r,可以得出符合条件的最小的r为3,所以校验位数为3.

(2)根据得出的信息位数k=4和校验位数r=3,可以自己得到一个表.

表是这样的,首先他的列数等于k+r=7,但是还有第一列要用来写说明信息,所以共有8列,行数是3行.从右往左填起,第一列分别是位数(纯数字),信息位数(I),校验位数(r).然后填好第一行位数,从右到左,1-7;如下图所示

7

6

5

4

3

2

1

位数

 

 

 

 

 

 

 

信息位数

 

 

 

 

 

 

 

校验位数

 

(3)接下来就是把校验位和信息位填入表格

7

6

5

4

3

2

1

位数

a6

a5

a4

 

a3

 

 

信息位数

 

 

 

a2

 

a1

a0

校验位数

至于为什么这样填呢,接下来我就做一个简单的剖析:

首先我们可以将1-7换成二进制数从001 010 011 100 101 110 111

然后考虑校验位和信息位该往哪里填;

对于001相当于S0出错了,那么我们S0的监督关系与S1和S2进行对比,看看S1里面有的位数是S1和S2里面没有的,显然我们可以推出时a0,以此类推,010和100也就可以找到相应的位数

对于011这时候我们就要换种方式进行对比,由011可知S1和S0出错了,那么我们将S1和S0相同的找出来得到相同的是a3和a6,然后将这两个相同的元素与没有出错的S2里面的元素进行比较,看看S2是否有和S1和S0相同的元素,通过比较可以知道S2中的a6与这2个出错的相同,反过来S2里面没有a3那么就是a3出错了,所以a3就要填到011下面也就是上述表格位数为3的下面去,同理101和110也是这样推出来的

对于111我们就找三者共有的元素那就是a6

通过上述就可以将校验位和信息位的位置填完,接下来就是求每个信息位对应的值。

题目已经给了我们信息码为0010,所以我们将这信息码依次填入表格

7

6

5

4

3

2

1

位数

0

0

1

 

0

 

 

信息位数

a6

a5

a4

 

a3

 

 

校验位数

设S2=S1=S0=0有监督关系可知

a2=a4+a5+a6=0+1+0=1

a1=a3+a5+a6=0+0+0=0

a0=a3+a4+a6=1+0+0=1

这里的加号是异或符号,所以a2a1a0为101

因此海名==海明码码字为"0010101"

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring Boot + Mybatis Plus实现树状菜单的方法
下一篇:【卷积神经网络】卷积层,池化层,全连接层的理解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~