奇偶校驗(yàn)碼是一種通過增加冗余位使得碼字中"1"的個(gè)數(shù)恒為奇數(shù)或偶數(shù)的編碼方法,它是一種檢錯(cuò)碼。在實(shí)際使用時(shí)又可分為垂直奇偶校驗(yàn)、水平奇偶校驗(yàn)和水平垂直奇偶校驗(yàn)等幾種。
1.垂直奇偶校驗(yàn)
垂直奇偶校驗(yàn)又稱為縱向奇偶校驗(yàn),它是將要發(fā)送的整個(gè)信息塊分為定長p位的若干段(比如說q段),每段后面按"1"的個(gè)數(shù)為奇數(shù)或偶數(shù)的規(guī)律加上一位奇偶位,如圖2.19所示。問位信息(I11,I21,…,Ipl,I12,…,Ipq)中,每p位構(gòu)成一段(即圖中的一列),共有q段(即共有q列〉。每段加上一位奇偶校驗(yàn)冗余位,即圖中的rio編碼規(guī)則為
注意:此間的"+"指的是模二加,也即異或運(yùn)算。
圖中箭頭給出了串行發(fā)送的順序,即逐位先后次序?yàn)镮11,I21,…,Ip1,r1,I12,…,Ipa,r2,…,兒,…,I間,rq。在編碼和校驗(yàn)過程中,用硬件方法或軟件方法很容易實(shí)現(xiàn)上述連續(xù)半加運(yùn)算,而且可以邊發(fā)送邊產(chǎn)生冗余位;同樣,在接收端也可邊接收邊進(jìn)行校驗(yàn)后去掉校驗(yàn)位。
垂直奇偶校驗(yàn)方法的編碼效率為R=p/(p+1)。通常,取一個(gè)字符的代碼為一個(gè)信息段,這種垂直奇偶校驗(yàn)有時(shí)也稱為字符奇偶校驗(yàn)。例如,在8位字符代碼(即用8位二進(jìn)制數(shù)位表示一個(gè)字符)中,p=8,編碼效率便為8/9。
垂直奇偶校驗(yàn)方法能檢測(cè)出每列中的所有奇數(shù)位錯(cuò),但檢測(cè)不出偶數(shù)位的錯(cuò)。對(duì)于突發(fā)錯(cuò)誤來說,奇數(shù)位錯(cuò)與偶數(shù)位錯(cuò)的發(fā)生概率接近于相等,因而對(duì)差錯(cuò)的漏檢率接近于1/20。
2.水平奇偶校驗(yàn)
為了降低對(duì)突發(fā)錯(cuò)誤的漏檢率,可以采用水平奇偶校驗(yàn)方法。水平奇偶校驗(yàn)又稱為橫向奇偶校驗(yàn),它是對(duì)各個(gè)信息段的相應(yīng)位橫向進(jìn)行編碼,產(chǎn)生一個(gè)奇偶校驗(yàn)冗余位,如圖2.20所示,編碼規(guī)則為
若每個(gè)信息段就是一個(gè)字符的話,這里的q就是發(fā)送的信息塊中的字符數(shù)。
水平奇偶校驗(yàn)的編碼效率為R=q/(q+1)。
水平奇偶校驗(yàn)不但可以檢測(cè)出各段同一位上的奇數(shù)位錯(cuò),而且還能檢測(cè)出突發(fā)長度
冗余位邊插入發(fā)送,而必須等待要發(fā)送的全部信息塊到齊后,才能計(jì)算冗余位,也就是一定.要使用數(shù)據(jù)緩沖器,因此它的編碼和檢測(cè)實(shí)現(xiàn)起來都要復(fù)雜一些。
3.水平垂直奇偶校驗(yàn)
同時(shí)進(jìn)行水平奇偶校驗(yàn)和垂直奇偶校驗(yàn)就構(gòu)成水平垂直奇偶校驗(yàn),也稱為縱橫奇偶校實(shí)驗(yàn),如圖2.21所示。若水平垂直都采用偶校驗(yàn),則
水平垂直奇偶校驗(yàn)的編碼效率為R=pq/[(p+1)(q+1)]。.
水平垂直奇偶校驗(yàn)?zāi)軝z測(cè)出所有3位或3位以下的錯(cuò)誤(因?yàn)榇藭r(shí)至少在某一行或某一'列上有一位錯(cuò))、奇數(shù)位錯(cuò)、突發(fā)長度<=p+1的突發(fā)錯(cuò)以及很大一部分偶數(shù)位錯(cuò)。測(cè)量表.明,這種方式的編碼可使誤碼率降至原誤碼率的百分之一到萬分之一。
水平垂直奇偶校驗(yàn)不僅可檢錯(cuò),還可用來糾正部分差錯(cuò)。例如數(shù)據(jù)塊中僅存在1位錯(cuò)'時(shí),便能確定錯(cuò)碼的位置就在某行和某列的交叉處,從而可以糾正它.