校驗方法一

二進制數據通過傳送、存取等環節,會發生誤碼(1變成0或0變成1),這就有如何發現及糾正誤碼的問題。全部解決此類問題的方法就是在原始數據(數碼位)基礎上增長几位校驗(冗餘)位。
1、碼距
一個編碼系統中任意兩個合法編碼(碼字)之間不一樣的二進數位(bit)數叫這兩個碼字的碼距,而整個編碼系統中任意兩個碼字的的最小距離就是該編碼系統的碼距。
如圖1所示的一個編碼系統,用三個bit來表示八個不一樣信息中。在這個系統中,兩個碼字之間不一樣的bit數從1到3不等,但最小值爲1,故這個系統的碼距爲 1。若是任何碼字中一位或多位被顛倒了,結果這個碼字就不能與其它有效信息區分開。例如,若是傳送信息001,而被誤收爲011,因011還是表中的合法碼字,接收機仍將認爲011是正確的信息。
然而,若是用四個二進數字來編8個碼字,那麼在碼字間的最小距離能夠增長到2,如圖2的表中所示。
信息序號
二進碼字
a2 a1 a0
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
圖 1
信息序號
二進碼字
a3 a2 a1 a0
0 0 0 0 0
1 1 0 0 1
2 1 0 1 0
3 0 0 1 1
4 1 1 0 0
5 0 1 0 1
6 0 1 1 0
7 1 1 1 1
圖 2
注意,圖8-2的8個碼字相互間最少有兩bit的差別。所以,若是任何信息的一個數位被顛倒,就成爲一個不用的碼字,接收機能檢查出來。例如信息是 1001,誤收爲1011,接收機知道發生了一個差錯,由於1011不是一個碼字(表中沒有)。然而,差錯不能被糾正。假定只有一個數位是錯的,正確碼字能夠是1001,1111,0011或1010。接收者不能肯定原來究竟是這4個碼字中的那一個。也可看到,在這個系統中,偶數個(2或4)差錯也沒法發現。
爲了使一個系統能檢查和糾正一個差錯,碼間最小距離必須至少是「3」。最小距離爲3時,或能糾正一個錯,或能檢二個錯,但不能同時糾一個錯和檢二個錯。編碼信息糾錯和檢錯能力的進一步提升須要進一步增長碼字間的最小距離。 圖8-3的表歸納了最小距離爲1至7的碼的糾錯和檢錯能力。
碼距
碼 能 力
檢錯  糾錯
1
2
3
4
5
6
7
0    0
1    0
2 或 1
2 加 1
2 加 2
3 加 2
3 加 3
圖3
碼距越大,糾錯能力越強,但數據冗餘也越大,即編碼效率低了。因此,選擇碼距要取決於特定系統的參數。數字系統的設計者必須考慮信息發生差錯的機率和該系統能允許的最小差錯率等因素。要有專門的研究來解決這些問題。
相關文章
相關標籤/搜索