經常使用檢錯原理

1、基本概念編碼

     實際的通訊鏈路都不是理想的,比特在傳輸過程當中可能會產生差錯:1可能變爲0,0可能變爲1,稱爲比特差錯。spa

     在一段時間內,傳輸錯誤的比特佔所傳輸比特總數的比率稱爲誤碼率BER(Bit Error Rate)。it

    提升數據代碼的抗干擾能力. 這必須在原二進制代碼長度的基礎上增長几位二進制代碼的長度,使相應數據具備必定的冗餘度。基礎

    編碼有必定的檢錯能力,編碼必需要有必定的冗餘度,編碼器的冗餘性只是檢錯的必要條件,而不是充分條件。原理

    碼重:編碼中1的個數。如01100010B的碼重爲3循環

    碼距:兩個編碼不相同的位數。兩個編碼之間的碼距等於它們「異或」操作結果的碼重。例如:01101100B ^10001001B=11100101B  碼距爲5。二進制

2、奇偶校驗通信

    在原編碼的基礎上增長一位奇偶檢驗位,使得整個編碼的碼重固定爲奇數(奇校驗)或偶數(偶校驗)數據

    當干擾持續時間很短(如常見的尖峯干擾),即當差錯單個出現,奇偶檢驗便可以達成檢錯的目的。計算機

         如:奇校驗  發送:1101101  -----------------接收端:1101100     「1」數量奇性改變,可檢錯。

                                        1101101 -----------------0111101                   產生2位誤碼,奇校驗沒法檢錯

    當連續出現幾個差錯時,簡單的奇偶校驗不能發現,這也是奇偶檢驗的缺點。

3、和校驗

     若是一串信息有「n」個字節,對這n個字節進行"加"運算,而後將結果附在字節後面進行傳輸,附加的字節就是校驗和。

    在計算機中經常使用兩種加法  一、邏輯異或   二、加法指令

4、循環冗餘校驗CRC(應用最普遍)

     基本原理是將一段信息當作一段二進制,而後用一個特定的數去除它,最後將餘數做爲校驗附在信息後,在接收端一樣處理。

其根本思想就是先在要發送的幀後面附加一個數(這個就是用來校驗的校驗碼,但要注意,這裏的數也是二進制序列的,下同),生成一個新幀發送給接收端。固然,這個附加的數不是隨意的,它要使所生成的新幀能與發送端和接收端共同選定的某個特定數整除(注意,這裏不是直接採用二進制除法,而是採用一種稱之爲「模2除法」)。到達接收端後,再把接收到的新幀除以(一樣採用「模2除法」)這個選定的除數。由於在發送端發送數據幀以前就已經過附加一個數,作了「去餘」處理(也就已經能整除了),因此結果應該是沒有餘數。若是有餘數,則代表該幀在傳輸過程當中出現了差錯。

相關文章
相關標籤/搜索