碼距
碼距的定義:
同一編碼中,任意兩個合法編碼之間不同二進制數位數的最小值
什麼意思?
比如:0011
與0001
還有1111
都是有效的編碼,0011
與0001
隻有一位不同,所以這一組有效編碼的碼距就是1
碼距有什麼用呢?
碼距是用來檢測有效編碼發生錯誤滴
舉個例子:
假如有一組有效的二進制數字0000,0011,1100,0110,1001,1010,0101
,這一組的碼距是2,在傳輸過程中如果0000
被傳為0001
,隻有一位發生錯誤,那麼計算機就可以檢測出來這個錯誤,而且不管是哪一個編碼,隻要誤傳的位數為1那麼都可以檢測出來。
但是假如有一組有效的三位二進制數數據000,001,010,011,101,110,111
這一組的碼距就是1,在傳輸過程中如果000
被誤傳為001
,由於001
也是有效數據,所以就會將000
當作001
瞭,無法檢測發生瞭錯誤。
也就是說,當碼距 geq e + 1 時可以檢測出錯誤位數 leq e 的編碼傳輸錯誤
再舉個例子:
關於奇偶校驗碼,僅考慮偶校驗碼的情況:
對於一個3位二進制數,再加上一位校驗碼隻可能得到以下幾種情況:1001,1010,1100,1111,0000
其碼距為2,所以在傳輸過程中,如果某一位編碼發生瞭一位錯誤就可以檢測出來,當發生瞭兩位錯誤後就無能為力瞭。