簡介
兩個碼字的對應比特取值不同的比特數稱為這兩個碼字的海明距離。一個有效編碼集中,任意兩個碼字的海明距離的最小值稱為該編碼集的海明距離。
簡單理解
在信息編碼中,兩個合法代碼對應位上編碼不同的位數稱為碼距,又稱海明距離。
幾何意義
n位的碼字可以用n維空間的超立方體的一個頂點來表示。兩個碼字之間的海明距離就是超立方體兩個頂點之間的一條邊,而且是這兩個頂點之間的最短距離。
作用
用於編碼的檢錯和糾錯
為了檢測d個錯誤,需要一個海明距離為d+1的編碼方案。因為在這樣的編碼方案中,d個1位錯誤不可能將一個有效碼字改編成另一個有效碼字。當接收方看到一個無效碼字的時候,它就知道已經發生了傳輸錯誤。類似地,為了糾正d個錯誤,需要一個距離為2d+1的編碼方案,因為在這樣的編碼方案中,合法碼字之間的距離足夠遠,因而即使發生了d位變化,則還是原來的碼字離它最近,從而可以確定原來的碼字,達到糾錯的目的。
計算方法
計算海明距離的一種方法,就是對兩個位串進行異或(xor)運算,並計算出異或運算結果中1的個數。例如110和011這兩個位串,對它們進行異或運算,其結果是:
110⊕011=101
異或結果中含有兩個1,因此110和011之間的海明距離就等於2。