海明距离

信息编码中,两个合法代码对应位上编码不一样的位数称为码距,又称海明距离。编码

两个码字的对应比特取值不一样的比特数称为这两个码字的海明距离。在一个有效编码集中,任意两个码字的海明距离的最小值称为该编码集的海明距离。举例以下:10101和00110从第一位开始依次有第一位、第4、第五位不一样,则海明距离为3。spa

 

几何意义:get

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

做用

用于编码的检错和纠错百度

为了检测d个错误,须要一个海明距离为d+1的编码方案。由于在这样的编码方案中,d个1位错误不可能将一个有效码字改编成另外一个有效码字。当接收方看到一个无效码字的时候,它就知道已经发生了传输错误。相似地,为了纠正d个错误,须要一个距离为2d+1的编码方案,由于在这样的编码方案中,合法码字之间的距离足够远,于是即便发生了d位变化,则仍是原来的码字离它最近,从而能够惟一肯定原来的码字,达到纠错的目的。方法

计算方法

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

110⊕011=101错误

异或结果中含有两个1,所以110和011之间的汉明距离就等于2。ps

 

参考:百度文库tar