海明距離

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

兩個碼字的對應比特取值不一樣的比特數稱爲這兩個碼字的海明距離。在一個有效編碼集中,任意兩個碼字的海明距離的最小值稱爲該編碼集的海明距離。舉例以下: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

相關文章
相關標籤/搜索