汉明码

初学汉明码时,往往总是觉得很奇怪。其实原理很简单的。

我们先明确几个概念:


设汉明距离为d。

我们再来看汉明码的判断标准:

          公式一:          如果要检测e个错码,则要求汉明距离  d≥e+1

          公式二:        若要纠正t个错码,则要求汉明距离 d≥2*t+1

          公式三:  若要同时检测e个错码而又纠正t个错码  则汉明距离d≥e+t+1(e≥t)


我们来简单思考一个,如何检测出错码?

其实很简单:只要我们错误的码无法变成正确的码。我们假设汉明距离为d,则只要你错误的位数小于d,不就无法得到正确的编码吗!所以公式一得证。

那我们来看公式二,想要纠正错码,那我们其实意义上就是让几个正确的码即使变化了几个位,我们仍能分清楚它是由谁变来的。

假设有两个正确编码A和B,此时要纠正的范围是t,如图示


其实意义就是让正确的码在t位错码范围内不产生重叠。即公式二的意义是,在变化t位时编码A,B产生的错码不能相同。

所以我们要求d≥2*t+1,不然就会产生重叠。导致无法识别。

公式三可由公式一和公式二得。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值