2024年3月31日發(fā)(作者:參觀學習心得體會)
差錯控制編碼
差錯控制編碼的原理是:發(fā)送方對準備傳輸的數據開展抗干擾編碼,即按某種算法附
加上一定的冗余位,構成一個碼字后再發(fā)送。接收方收到數據后開展校驗,即檢查信息位
和附加的冗余位之間的關系,以檢查傳輸過程中是否有差錯發(fā)生。差錯控制編碼分檢錯碼
和糾錯碼兩種,檢錯碼是能自動發(fā)現差錯的編碼,糾錯碼是不僅能發(fā)現差錯而且能自動糾
正差錯的編碼。計算機網絡中常用的差錯控制編碼是奇偶校驗碼、循環(huán)冗余碼和海明校驗
碼。
1. 奇偶校驗碼
奇偶校驗碼是一種最簡單的檢錯碼。其原理是:通過增加冗余位來使得碼字中"1"的個
數保持為奇數(奇校驗)或偶數(偶校驗)。例如,偶校驗:11010100,11011011
在實際使用時,奇偶校驗可分為以下三種方式。
(1) 垂直奇偶校驗
(2) 水平奇偶校驗
(3) 水平垂直奇偶校驗
2. 循環(huán)冗余碼
循環(huán)冗余碼又稱CRC碼(Cyclic Redundancy Code),簡稱循環(huán)碼。CRC碼檢錯能
1 / 3
力強,且容易實現,是目前最廣泛的檢錯碼編碼方法之一。在計算機網絡和磁盤數據存儲
中,CRC被廣泛采用。
CRC是一種檢錯碼,其編碼過程涉及二進制多項式和模2運算知識。如比特串
B7B6B5B4B3B2B1B0的二進制多項式形式是B7*X7+ B6*X6+B5*X57+B4*X4+
B3*X3+ B2*X2+ B1*X1+ B0*X0+,若比特串取值為10101110,則該比特串可被表示成
二進制多項式X7+X5+ X3+X2+ 1。
二進制多項式的加減法運算以2為模,即加減時不進、錯位,如同邏輯異或運算,乘
除法可看成是多次加減法運算。
采用CRC校驗時,發(fā)送方和接收方事先約定一個生成多項式G(X),并且G(X)的最高
項和最低項的系數必須為1。
CRC編碼由兩部分組成,如圖2-35所示。1信息串編碼校驗塊
發(fā)送端的CRC校驗塊編碼步驟
(1) 將要發(fā)送的二進制數據(k位比特序列),對應一個(k-1)階多項式K(x);再選取
一個收發(fā)雙方預先約定的r階生成碼多項式G(x),即G(x)的最高次冪為r。
(2) 在原數據比特串尾添加r個0,即,xrK(x)。
(3) 開展模2除法xrK(x)/G(x),得到商Q(x),并求得余數R(x)。R(x)即為校驗塊。
(4) 用R(x)替代xrK(x)最后的r個0(即xrK(x) - R(x)),得到待傳送的CRC碼多項式
2 / 3
(數據位加校驗位)T(x)。
3、海明校驗碼
首先介紹碼距的概念。一個編碼系統中任意兩個合法編碼之間不同的二進制位數叫這
兩個碼字的碼距,而整個編碼系統中任意兩個碼字的最小碼距就是該編碼系統的碼距。為
了使一個系統能糾正一位差錯,碼距最小是3。最小距離為3時,或能糾正一位錯,或能
檢測二位錯,但不能同時糾正一位錯并檢測二位錯。編碼信息糾錯和檢錯能力的提高需要
進一步增大編碼系統的碼距。碼距越大,糾錯能力越強,但數據冗余也越大,即編碼效率
低了。
海明校驗碼是由Richard Hamming于1950年提出,目前還被廣泛采用的一種很有
效的校驗方法,是只要增加少數幾個校驗位,就能檢測出二位同時出錯、亦能檢測出一位
出錯并能自動恢復該出錯位的正確值的有效手段,后者被稱為自動糾錯。它的實現原理,
是在k個數據位之外加上r個校驗位,從而形成一個k+r位的新的碼字,使新的碼字的碼
距比較均勻地拉大。把數據的每一個二進制位分配在幾個不同的偶校驗位的組合中,當某
一位出錯后,就會引起相關的幾個校驗位的值發(fā)生變化,這不但可以發(fā)現出錯,還能指出
是哪一位出錯,為進一步自動糾錯提供了依據。
海明不等式
設N為校驗碼的位數,K是有效信息位,r是校驗位(分成r組作奇偶校驗,能產生r
位檢錯信息)
海明碼應滿足 N=K+r≤2r-1(海明不等式),若r=3 則N=K+r≤7 所以K≤4
3 / 3
本文發(fā)布于:2024-03-31 07:24:50,感謝您對本站的認可!
本文鏈接:http://m.newhan.cn/zhishi/a/88/62251.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:差錯控制編碼.doc
本文 PDF 下載地址:差錯控制編碼.pdf
| 留言與評論(共有 0 條評論) |