利用海明码的监督关系式求解码字

  关于海明码的介绍,前面几篇博客中已经说明了。这里主要是介绍如何根据海明码的监督关系式求解海明码的码字。下面主要以典型例题的方式介绍如何求解。

例题1:

     假定信息码为0010,海明码的监督关系式为:

       S2 = a2+a4+a5+a6

       S1 = a1+a3+a5+a6

       S0 = a0+a3+a4+a6

     求解海明码的码字。

解:(1)由监督关系式可知冗余码为a2 a1 a0,共三位。

       (2)冗余码与信息码合成的海明码是:0 0 1 0 a2 a1 a0,共七位。可通过表格示意如下:

 

a6a5a4a3a2a1a0
0010S2S1S0

               设S2 = S1 = S0 = 0,也即假定a2=a1=a0=0,由监督关系式得:

               S2 = a2+a4+a5+a6 = 0 + 1 +0 + 0 = 1,(“+”号代表异或运算)

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

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

           所以S2S1S0=a2a1a0=101,则海明码的码字为:0010101。

 

例题2:

     使用海明码进行纠错,7 位码长(x7x6x5x4x3x2x1),其中4 位数据,监督关系式为:

    c0 = x1+x3+x5+x7

    c1 =x2+x3+x6+x7

    c2 =x4+x5+x6+x7

    如果接收到的码字为1000101,那么纠错后的码字是?

解:海明码码字可示意如下表:

 

x7x6x5x4x3x2x1
1000101

             c0 = x1+x3+x5+x7 = 1+1+0+1=1

    c1 =x2+x3+x6+x7 = 0+1+0+1=0

    c2 =x4+x5+x6+x7 = 0+0+0+1=1

通过监督关系式的异或运算可得c2c1c0=101,  二进制101对应的十进制为5,也就是1000101从右往左数的第五位出错了,第五位是0,正确的应该是1,所以纠错后的码字是1010101。

 

 

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值