首页 > 其他分享 >海明距离

海明距离

时间:2022-12-06 11:36:16浏览次数:51  
标签:错误 海明 距离 异或 码字 编码方案


在​信息编码​​中,两个合法代码对应位上编码不同的位数称为​码距​,又称海明距离。举例如下:10101和00110从第一位开始依次有第一位、第四、第五位不同,则海明距离为3。

几何意义:

n位的码字可以用​n维空间​的超立方体的一个顶点来表示。两个码字之间的海明距离就是超立方体两个顶点之间的一条边,而且是这两个顶点之间的最短距离。

作用:

用于编码的检错和纠错

为了检测d个错误,需要一个海明距离为d+1的编码方案。因为在这样的编码方案中,d个1位错误不可能将一个有效码字改编成另一个有效码字(至少需要d+1位才能将一个有效码转换为另一个有效码,因为海明距离为d+1)。当接收方看到一个无效码字的时候,它就知道已经发生了传输错误。类似地,为了纠正d个错误,需要一个距离为2d+1的编码方案,因为在这样的编码方案中,合法码字之间的距离足够远,因而即使发生了d位变化,则还是原来的码字离它最近,(离原来的码字距离为d位,离其他码字距离为d+1),从而可以唯一确定原来的码字,达到纠错的目的。

计算方法:

计算海明距离的一种方法,就是对两个位串进行异或(xor)运算,并计算出异或运算结果中1的个数。例如110和011这两个位串,对它们进行异或运算,其结果是:

110⊕011=101

异或结果中含有两个1,因此110和011之间的海明距离就等于2。

CAN中的用途:

CAN提供海明距离6(CAN网络的理论值)。这表示可检测到五个随机分布的位错误。
此外,可检测到最多15位的突发性错误。CAN不提供位校正机制。

标签:错误,海明,距离,异或,码字,编码方案
From: https://blog.51cto.com/u_15903730/5915574

相关文章