线性分组码最小汉明距离_[Base]汉明码 Hamming Code介绍

什么是汉明码

汉明码是一种线性分组码。线性分组码是指将信息码序列划分为长度为k的序列段,在每一段后面附加r位的监督码,且监督码和信息码之间构成线性关系,即它们之间可由线性方程组来联系。这样构成的抗干扰码称为线性分组码。其中监督码和信息码之间的关系计算结果称为校正子(英文Syndrome)。 汉明码被常用在通讯领域的编码和纠错,也用于内存ECC纠错。

汉明码长度

设码长为n,信息码序列长度为k,监督码长度为r= n - k。 如果需要纠正一位出错,因为长度为n的序列上每一位都可能出错,一共有n种情况,另外还有不出错的情况,所以我们必须用长度为r的监督码表示出n+1种情况。 而长度为r的监督码一共可以表示2 ^ r种情况。 因此必须满足: 2 ^ r >= n + 1,即r>= log(n+1)。

举例:

1)     假如中k = 8, r = 4。显然,2的4次方等于16,大于8+4+1=13。

2)     如果要校验纠正的数据长度为64位,先将64以2为底求对数,结果为6;再计算64+6+1=71,那么显然汉明码也得用7位(2的7次方为128,大于64+7+1=72)。

汉明码校验关系公式

我们以一个例子来说明。假设k=4,需要纠正一位错误,则:

 2^r >= n + 1 = k + r + 1 = 4 + r + 1
解得r >= 3。我们取r=3,则码长为3+4=7。用b1,b2, b3…b7位置表示这7个码元。用S1,S2, S3表示三个监督关系式中的校正子。我们作如下规定(这个规定是任意的):

S3

S2

S1

线性码各bit位置

0

0

0

无错

0

0

1

b1

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值