汉明距离理解问题

时间:2015-02-03 12:57:38

标签: hamming-distance

我目前正在尝试理解汉明码 - 或者特别是用于检测和修复错误位的汉明距离。 hamming distance

我很难理解汉明的距离。我知道我正在比较不同的比特字,并找出使这些字不同的比特数( - >汉明距离) - 但我比较的是这些字是什么?

例如:word = 0110 1001 - > (偶数)奇偶校验位在末尾添加:0110(第一个奇偶校验位检查bit1-4,第2个5-8,第3个3,4,5,6,第4个0,1,7,8)。 =>制作(新)字:0110 0001 0110。

我现在用奇偶校验位检查字吗? word1:0110 0(1-4位+奇偶校验位1)。字2:0001 1(第5-8位+奇偶校验位2)。 word3:1000 1(位3,4,5,6,+奇偶校验位3)。字4:0101 0(位0,1,7,8 +奇偶校验位4)。

word1-> word2:汉明距离4. word2-> word3:汉明距离3. word3-> word4:汉明距离4

或者我在这里完全错了?

1 个答案:

答案 0 :(得分:0)

你应该(并且根据你的描述 )使用汉明码,而不是汉明距离。他们是不同的东西。至于检查错误,来自维基百科Hamming code

  

要检查错误,请检查所有奇偶校验位。的模式   错误,称为错误综合症,识别出错误的位。我摔倒   奇偶校验位是正确的,没有错误。否则,总和了   错误奇偶校验位的位置标识错误位。   例如,如果位置1,2和8中的奇偶校验位指示a   错误,然后位1 + 2 + 8 = 11出错。如果只有一个奇偶校验位指示   错误,奇偶校验位本身出错。

汉明码中汉明距离的作用是解释为什么汉明码只能校正1位并检测2位错误的方法。通过应用汉明码,所有有效字被汉明距离3分开。任何翻转1位的故障将导致与正确字相距1汉汉的字。可以通过转到最近的正确单词来纠正。任何翻转2位的错误都会产生一个与正确单词相距2个汉明距离的单词,但也会产生距离另一个正确单词2个汉明距离的单词。因此,只能检测到2个故障。由于所有正确的单词相隔3个距离,因此无法检测到3位或更多位的错误。