关于汉明码的数学原理与计算

数学原理

刚刚上计算机组成原理课的时候,或许会觉得汉明码的横空出世太神奇了,它是怎么知道二进制信息在传输过程中哪一位传错的呢?开始只是死记,后来发现太难记住了,于是想一探究竟,究竟是什么支配着这种编码纠错的可靠性。
首先我们要知道的是,汉明码是只具有一位纠错能力的编码,那么二进制信息的传输校验可以在最多只有一位发生误传这个假设下讨论。
这个问题的一个数学模型是:发送方将一串任意长度的01代码通过一定的处理,使得代码的在只有一位发生传送错误(不包括一位代码的增加或者缺失)或者完全正确的传输送达接收方的前提下,接收方能还原发送方发送的代码。
汉明码给出了一个完美的解答。它的解决方案如下:设欲检测的二进制代码有n位,为使其具有纠错能力,需要增加k位检测为。为了能准确对错误定位以及指出代码没错,新增添的检测位数k应满足

k的位数确定以后,便可由它们所承担的检测任务设定设定它们在被检测代码中的位置以及它们的取值。
设 位代码自左向右依次编为第1,2,3,4,…., 位,而将k为检测为记作 (这里的C应该是check的首字母把。。。),重点来了:
检测的 小组包含1,3,5,7,9,11…………位。
检测的 小组包含2,3,6,7,10,11,14,15……位
检测的 小组包含4,5,6,7,12,13,14,15,……位
检测的 小组包含8,9,10,11,12,13,14,15,24,……位

为什么要这样分呢?
不难发现 小组都是奇数的,我们可以这样给他划分:

再来看 小组,可以这样划分:

小组,可以这样划分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值