海明距離

海明距離

在信息編碼中,兩個合法代碼對應位上編碼不同的位數稱爲碼距,又稱海明距離。兩個碼字對應比特取值不同的比特數稱爲兩個碼字的海明距離。例如10101和00110從第一位開始依次有第一位、第四、第五位不同,則海明距離爲3。

海明距離用於編碼的檢錯和糾錯。爲了檢測d個錯誤,需要一個海明距離爲d+1的編碼方案。因爲在這樣的編碼方案中,d個1位錯誤不可能將一個有效碼字改編成另一個有效碼字。當接收方看到一個無效碼字的時候,它就知道已經發生了傳輸錯誤。類似地,爲了糾正d個錯誤,需要一個距離爲2d+1的編碼方案,因爲在這樣的編碼方案中,合法碼字之間的距離足夠遠,因而即使發生了d位變化,則還是原來的碼字離它最近,從而可以確定原來的碼字,達到糾錯的目的。