官术网_书友最值得收藏!

3.6 檢錯與糾錯

造成數據傳輸中出現差錯的原因有內部因素和外部因素兩部分。內部因素有設備內部的熱噪聲、系統傳輸的信號衰減和延時失真等。外部因素有電磁波干擾、工業設備干擾和太陽噪聲等。為了確保無差錯地傳輸,通信系統必須具有檢錯和糾錯功能。

檢錯方法是指在傳輸過程中能使接收端檢測出差錯的附加位,如果接收端檢測到了一個差錯,那么就可請求發送端再重新發送一次信息。糾錯法是指在發送每組信息時,發送足夠的供檢測使用的附加位,使接收端能以很高的概率檢測出差錯并糾正大多數錯誤信息。但是發送大量附加位,將會降低傳輸系統的效率。

3.6.1 檢錯法

數據在信道中傳輸受到各種干擾引起的差錯可分為兩種形式:①隨機錯誤。即數據序列中前后碼元之間是否發生錯誤是彼此無關的,產生這種錯誤的信道稱為隨機信道。②突發性錯誤。即序列中一個錯誤出現會影響其他碼元的錯誤,即錯誤之間有相關性。

在數字信號信息位之外再加上附加的檢驗位,以便在誤碼產生時能夠找到它,稱為檢錯(Code error detection)。數據傳輸系統常用的檢錯方法有:

1.奇偶校驗碼

奇偶校驗碼是一種最簡單的檢錯碼,它的編碼規則是先將需要發送的數據碼元分組,一般按字符進行分組,即一個字符或若干個字符構成一組。然后在各組的數據后面附加一位校驗位,使該組碼與校驗位在內的碼字中的“1”的個數總為偶數(稱為偶數校驗)或奇數(稱為奇數校驗)。

奇偶校驗僅僅校驗一個字符中的各個位,如果信息字符中只有一位誤碼,奇偶校驗法肯定能把它檢測出來。但當幾個偶數位同時出錯時,此時就無法檢錯了,因此最簡單的奇偶校驗法可以校驗查出大多數隨機誤差,它可以把10-4的出錯率改善到10-7左右,但對于突發性錯誤(相關性錯誤)的漏檢率可接近50%。它只能用于以隨機錯誤為主的計算機通信系統,極少用于數字音視頻設備中。

2.CRC循環冗余檢錯碼

CRC是Cyclic Redundancy Code(循環冗余碼)的縮寫,是一種可檢測多位差錯、最精確、最常用的檢錯技術。主要用于數字光盤CD和軟磁盤存儲系統。CRC采用任意碼長(mbit)的檢驗位,如圖3-17所示。CRC的檢驗能力與字組長度(n)無關,但與m有關,m越大,檢測能力越強。當冗余度(=m/n)一定時,字組長度n(=信息位k+檢驗位m)越長,檢測能力也越強。試驗表明,如果以16bit數作冗余校驗碼,傳輸速度為9600bit/s的數據傳輸,那么可達到3000年才會有一個差錯檢測不出來。

3.RS線性分組循環碼

RS是Reed-Solomon(里佳-所羅門碼)的縮寫。RS碼對隨機錯誤和突發性錯誤具有極強的糾正能力,它可糾正連續8bit的誤碼(m=8時)。由于RS碼性能優良以及近年來VLSI(超大規模集成電路)技術的快速發展,使得原來非常復雜、難以實現的解碼電路集成化,目前,功能強大、長RS碼的解碼器芯片已商業化了,因此RS碼獲得了廣泛應用。CD光盤存儲系統中采用的RS(32,38)碼,可糾正500B的連續誤碼。

4.交織技術

交織技術(Interleaving)主要是將突發性錯誤轉為隨機錯誤,以便充分發揮糾錯碼的作用。因為許多信道中的錯誤大都是突發性的,由于錯誤集中在一起,常常超出了糾錯碼的糾錯能力。所以在發送端加上數據交織器,在接收端加上解交織器,使信道的突發性錯誤分散開來,這樣可以充分發揮糾錯編碼的作用。加上交織后,系統的糾錯性能可以提高好幾個數量級。這是因為,對糾錯來說,分散的錯誤比較容易得到糾正,而長串的連續錯誤,比較麻煩。如我們讀一段文字,若文中在個別地方出錯,可根據前后文容易猜出錯誤字的原意。若連續出錯,就很難判斷原文的含義了。

交織技術在實用中經常與其他糾錯碼結合使用。

978-7-111-43240-1-Chapter03-21.jpg

圖3-17 CRC循環冗余檢錯碼

檢錯能力

注:1.mbit以下的群誤碼可百分之百地檢出。

2.(m+1)bit以上的群誤碼不能檢出的概率約為2-m

3.假定各種形式誤碼產生概率都相同,則不能檢出的概率為2-m

4.上述1~3各項特性與字組長度n無關。

3.6.2 糾錯法

把接收到的錯誤碼矯正到原來正確的碼叫做誤碼校正(Code error correction),簡稱“糾錯”。常用的糾錯法是接收端檢測到誤碼后,自動向發送端發出重發請求(Automatic Repeat Request,ARQ)。當發送端向接收端發送的一個數據塊無差錯時,接收端回送一個肯定應答(Acknowledge-ment,ACK),即ACK指令;如果接收端檢測出差錯則回送否定應答(No Acknowledgement,NAK),即NAK指令,發送端重新發送存儲在緩存器中已發送數據塊的副本,直到確認接收到的數據正確無誤為止。

另一種糾錯法稱正向糾錯,發送端發送的是能使接收端檢錯和糾錯的冗余位。一種經典的正向糾錯法是漢明糾錯法。

漢明碼(Hamming code)是一種具有自我糾正能力的加權平均碼。奇偶校驗方法可以檢測出差錯碼,但不能判斷錯誤發生在哪一位,甚至大致的位置也不知道。因此,為了校正錯誤,必須請求再發送。如果能夠使碼本身具有判斷錯誤發生在碼的哪一位的能力,那么錯誤的改正僅限于把0變成1或者把1變成0,就可以把位置出錯的碼反轉過來糾正錯誤。這就是漢明碼技術的基本點。

主站蜘蛛池模板: 衡阳县| 尉犁县| 德庆县| 综艺| 孝昌县| 淮滨县| 商河县| 漳平市| 盐亭县| 囊谦县| 民勤县| 青海省| 临澧县| 彭泽县| 龙陵县| 东平县| 方山县| 二连浩特市| 沁阳市| 徐州市| 苗栗市| 宕昌县| 简阳市| 安达市| 琼中| 芦山县| 柞水县| 海伦市| 惠东县| 望奎县| 五河县| 临沧市| 大英县| 左贡县| 台湾省| 报价| 鄱阳县| 南昌市| 济南市| 海淀区| 承德县|