史上最通俗的海明码编码计算、检错和纠错原理解析

合法代码集

所谓合法代码集就是当代码由于未知因素导致出错后,计算机可是识别到错误的代码。不合法代码集:{(001), (010), (101), (111)}。如果(101)出错,可能是(111),那么无法判断是错误代码还是本来就是(111),因此不合法。下面给出合法代码集:{(001),(100), (111)},当有一位发生变化时并不会和代码集中的其他代码发生冲突,因此合法。

编码的最小距离

合法代码集中任意两组合法代码之间二进制位数的最少差异。编码的检错、纠错能力与编码最小距离直接相关,公式描述为:L-1 = D+C(D>=C)

L: 编码的最小距离
D: 检错的位数
C:纠错的位数

汉明码

具有一位纠错能力的编码方案,实质上是使用特殊分组方式的奇偶校验。

奇偶校验

假定需要传输的数据是“00100011”,那么在原数据加上一个校验位,使得“1”的个数是偶数个:“100100011”。当传输到另一端的时候,检查“1”的个数是否是偶数个,如果还是偶数,那么表示没有错误,否则就是失效的数据。

带分组的奇偶校验

为了更加精确的定位出错的二进制位,那么可是将二进制位分组,将“00100011”分成“0010”和“0011”,分别在两个分组前加上一个校验位:“10010”和“00011”,这就构成了“1001000011”,发送到对方的时候,将每个分组的“1”查找一遍,然后考察是否是偶数个,即可更加精确的定位到是哪个分组出错。

汉明码的编码

上边说的都是基于划分的分组方式,汉明码是基于非划分的分组方式。假定存在如下数据位:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值