最常用的差錯控制方法有奇偶校驗法、迴圈冗餘校驗法和漢明碼等。這些方法用於識別資料是否發生傳輸錯誤,並且可以啟動校正措施,或者捨棄傳輸發生錯誤的資料,要求重新傳輸有錯誤的資料塊。 1. 奇偶校驗法 奇偶校驗法是一種很簡單並且廣泛使用的校驗方法。這種方法是在每一位元組中加上一個奇偶校驗位,並被傳輸,即每個位元組傳送九位資料。資料傳輸以前通常會確定是奇校驗還是偶校驗,以保證傳送端和接收端採用相同的校驗方法進行資料校驗。如果校驗位不符,則認為傳輸出錯。 奇校驗是在每個位元組後增加一個附加位,使得“1”的總數為奇數。奇校驗時,校驗位按如下規則設定:如果每位元組的資料位中“1”的個數為奇數,則校驗位為“0”若為偶數,則校驗位為“1”。奇校驗通常用於同步傳輸。而偶校驗是在每個位元組後增加一個附加位,使得“1”的總數為偶數。偶校驗時,校驗位按如下規則設定:如果每位元組的資料位中“1”的個數為奇數,則校驗位為“1”;若為偶數,則校驗位為“0”。偶校驗常用於非同步傳輸或低速傳輸。 校驗的原理是:如果採用奇校驗,傳送端傳送的一個字元編碼(含校驗位)中,“1”的個數一定為奇數個,在接收端對接收字元二進位制位中的“1”的個數進行統計,若統計出“1”的個數為偶數個,則意味著傳輸過程中有1位(或奇數位)發生差錯。事實上,在傳輸中偶然—位出錯的機會最多,故奇偶校驗法經常採用。 然而,奇偶校驗法並不是一種安全的檢錯方法,其識別錯誤的能力較低。如果發生錯誤的位數為奇數,那麼錯誤可以被識別,而當發生錯誤的位數為偶數時,錯誤就無法被識別了,這是因為錯誤互相抵消了。數位的錯誤,以及大多數涉及偶數個位的錯誤都有可能檢測不出來。它的缺點在於:當某一資料分段中的一個或者多位被破壞時,並且在下一個資料分段中具有相反值的對應位也被破壞,那麼這些列的和將不變,因此接收方不可能檢測到錯誤。常用的奇偶校驗法為垂直奇偶校驗、水平奇偶校驗和水平垂直奇偶校驗。 2. 垂直奇偶校驗 垂直奇偶校驗是在垂直方向上以列的形式附加上校驗位。資料格式及其傳送順序: 設垂直奇偶校驗的編碼效率為R,則:式中,m為碼字的定長位數,n為碼字的個數。 垂直奇偶校驗又稱為縱向奇偶校驗,它能檢測出每列中發生的奇數個錯誤,偶數個錯誤,因而對差錯的漏檢率接近1/2。 3. 水平奇偶校驗 水平奇偶校驗是在水平方向上以行的形式附加上校驗位。 設水平奇偶校驗的編碼效率為R,則:式中,m為碼字的定長位數,n為碼字的個數。 水平奇偶校驗又稱為橫向奇偶校驗,它不但能檢測出各段同一位上發生的奇數個錯誤,而且還能檢測出突發長度≤m的所有突發錯誤,其漏檢率要比垂直奇偶校驗法低,但是實現水平奇偶校驗時,一定要使用資料緩衝器。 4. 水平垂直奇偶校驗 水平垂直奇偶校驗是在結合水平奇偶校驗和垂直奇偶校驗的基礎上形成的一種校驗方法。它是在一批字元傳送之後,另外增加一個稱為“方塊校驗字元”的檢驗字元,方塊校驗字元的編碼方式是使所傳輸字元程式碼的每個縱向列中位程式碼的“1”的個數成為奇數(或偶數)。 式中,m為碼字的定長位數,n為碼字的個數。 設水平垂直奇偶校驗的編碼效率為R,則: 水平垂直奇偶校驗又稱為縱橫奇偶校驗。它能檢測出傳輸過程中發生的所有3位或3位以下的錯誤、奇數個錯誤、大部分偶數個錯誤以及突發長度≤m+1的突發錯誤,可使誤位元速率降至原誤位元速率的百分之一到萬分之一,有較強的檢錯能力,但是有部分偶數個錯誤不能檢測出來。水平垂直奇偶校驗還可以自動糾正差錯,使誤位元速率降低2~4個數量級,適用於中、低速傳輸系統和反饋重傳系統,被廣泛用於通訊和某些計算機外部裝置中。 5. 迴圈冗餘校驗法 迴圈冗餘校驗(CRC,Cyclic Redundancy Check)法由分組線性碼的分支而來,主要應用於二元碼組。它是利用除法及餘數的原理來作錯誤偵測(Error Detecting)的。 這是一種比較精確、安全的檢錯方法,能夠以很大的可靠性識別傳輸錯誤,並且編碼簡單,誤判機率很低,但是這種方法不能夠校正錯誤。迴圈冗餘校驗法在通訊系統中得到了廣泛的應用,特別適用於傳輸資料經過有線或無線介面時識別錯誤的場合。下面重點介紹迴圈冗餘校驗法。
最常用的差錯控制方法有奇偶校驗法、迴圈冗餘校驗法和漢明碼等。這些方法用於識別資料是否發生傳輸錯誤,並且可以啟動校正措施,或者捨棄傳輸發生錯誤的資料,要求重新傳輸有錯誤的資料塊。 1. 奇偶校驗法 奇偶校驗法是一種很簡單並且廣泛使用的校驗方法。這種方法是在每一位元組中加上一個奇偶校驗位,並被傳輸,即每個位元組傳送九位資料。資料傳輸以前通常會確定是奇校驗還是偶校驗,以保證傳送端和接收端採用相同的校驗方法進行資料校驗。如果校驗位不符,則認為傳輸出錯。 奇校驗是在每個位元組後增加一個附加位,使得“1”的總數為奇數。奇校驗時,校驗位按如下規則設定:如果每位元組的資料位中“1”的個數為奇數,則校驗位為“0”若為偶數,則校驗位為“1”。奇校驗通常用於同步傳輸。而偶校驗是在每個位元組後增加一個附加位,使得“1”的總數為偶數。偶校驗時,校驗位按如下規則設定:如果每位元組的資料位中“1”的個數為奇數,則校驗位為“1”;若為偶數,則校驗位為“0”。偶校驗常用於非同步傳輸或低速傳輸。 校驗的原理是:如果採用奇校驗,傳送端傳送的一個字元編碼(含校驗位)中,“1”的個數一定為奇數個,在接收端對接收字元二進位制位中的“1”的個數進行統計,若統計出“1”的個數為偶數個,則意味著傳輸過程中有1位(或奇數位)發生差錯。事實上,在傳輸中偶然—位出錯的機會最多,故奇偶校驗法經常採用。 然而,奇偶校驗法並不是一種安全的檢錯方法,其識別錯誤的能力較低。如果發生錯誤的位數為奇數,那麼錯誤可以被識別,而當發生錯誤的位數為偶數時,錯誤就無法被識別了,這是因為錯誤互相抵消了。數位的錯誤,以及大多數涉及偶數個位的錯誤都有可能檢測不出來。它的缺點在於:當某一資料分段中的一個或者多位被破壞時,並且在下一個資料分段中具有相反值的對應位也被破壞,那麼這些列的和將不變,因此接收方不可能檢測到錯誤。常用的奇偶校驗法為垂直奇偶校驗、水平奇偶校驗和水平垂直奇偶校驗。 2. 垂直奇偶校驗 垂直奇偶校驗是在垂直方向上以列的形式附加上校驗位。資料格式及其傳送順序: 設垂直奇偶校驗的編碼效率為R,則:式中,m為碼字的定長位數,n為碼字的個數。 垂直奇偶校驗又稱為縱向奇偶校驗,它能檢測出每列中發生的奇數個錯誤,偶數個錯誤,因而對差錯的漏檢率接近1/2。 3. 水平奇偶校驗 水平奇偶校驗是在水平方向上以行的形式附加上校驗位。 設水平奇偶校驗的編碼效率為R,則:式中,m為碼字的定長位數,n為碼字的個數。 水平奇偶校驗又稱為橫向奇偶校驗,它不但能檢測出各段同一位上發生的奇數個錯誤,而且還能檢測出突發長度≤m的所有突發錯誤,其漏檢率要比垂直奇偶校驗法低,但是實現水平奇偶校驗時,一定要使用資料緩衝器。 4. 水平垂直奇偶校驗 水平垂直奇偶校驗是在結合水平奇偶校驗和垂直奇偶校驗的基礎上形成的一種校驗方法。它是在一批字元傳送之後,另外增加一個稱為“方塊校驗字元”的檢驗字元,方塊校驗字元的編碼方式是使所傳輸字元程式碼的每個縱向列中位程式碼的“1”的個數成為奇數(或偶數)。 式中,m為碼字的定長位數,n為碼字的個數。 設水平垂直奇偶校驗的編碼效率為R,則: 水平垂直奇偶校驗又稱為縱橫奇偶校驗。它能檢測出傳輸過程中發生的所有3位或3位以下的錯誤、奇數個錯誤、大部分偶數個錯誤以及突發長度≤m+1的突發錯誤,可使誤位元速率降至原誤位元速率的百分之一到萬分之一,有較強的檢錯能力,但是有部分偶數個錯誤不能檢測出來。水平垂直奇偶校驗還可以自動糾正差錯,使誤位元速率降低2~4個數量級,適用於中、低速傳輸系統和反饋重傳系統,被廣泛用於通訊和某些計算機外部裝置中。 5. 迴圈冗餘校驗法 迴圈冗餘校驗(CRC,Cyclic Redundancy Check)法由分組線性碼的分支而來,主要應用於二元碼組。它是利用除法及餘數的原理來作錯誤偵測(Error Detecting)的。 這是一種比較精確、安全的檢錯方法,能夠以很大的可靠性識別傳輸錯誤,並且編碼簡單,誤判機率很低,但是這種方法不能夠校正錯誤。迴圈冗餘校驗法在通訊系統中得到了廣泛的應用,特別適用於傳輸資料經過有線或無線介面時識別錯誤的場合。下面重點介紹迴圈冗餘校驗法。