海明距離

海明距離

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

簡介

兩個碼字的對應比特取值不同的比特數稱為這兩個碼字的海明距離。一個有效編碼集中,任意兩個碼字的海明距離的最小值稱為該編碼集的海明距離。

簡單理解

在信息編碼中,兩個合法代碼對應位上編碼不同的位數稱為碼距,又稱海明距離。

幾何意義

n位的碼字可以用n維空間的超立方體的一個頂點來表示。兩個碼字之間的海明距離就是超立方體兩個頂點之間的一條邊,而且是這兩個頂點之間的最短距離。

作用

用於編碼的檢錯和糾錯

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

計算方法

計算海明距離的一種方法,就是對兩個位串進行異或(xor)運算,並計算出異或運算結果中1的個數。例如110和011這兩個位串,對它們進行異或運算,其結果是:

110⊕011=101

異或結果中含有兩個1,因此110和011之間的海明距離就等於2。

相關詞條

相關搜尋

熱門詞條

聯絡我們