佚名 發表於 2010-03-17 17:39:12
奇偶校驗碼,奇偶校驗碼原理是什麼?
奇偶校驗碼是奇校驗碼和偶校驗碼的統稱,是一種最基本的檢錯碼。它是由n-1位信息元和1位校驗元組成,可以表示成為(n,n-1)。如果是奇校驗碼,在附加上一個校驗元以後,碼長為n的碼字中「1」的個數為奇數個;如果是偶校驗碼,在附加上一個校驗元以後,碼長為n的碼字中「1」的個數為偶數個。設:如果一個偶校驗碼的碼字用A=[an-1,an-2,…,a1,a0]表示,則:
式中 為校驗元,「+」為模二和(以後也這樣表示,請注意)。式(1)通常被稱為校驗方程。利用式(1),由信息元即可求出校驗元。另外,如果發生單個(或奇數個)錯誤,就會破壞這個關係式,因此通過該式能檢測碼字中是否發生了單個或奇數個錯誤。
奇偶校驗碼是一種有效地檢測單個錯誤的方法,之所以將注意力集中在檢(或糾)單個錯,這主要是因為碼字中發生單個錯誤的概率要比發生2個或多個錯誤的概率大得多。例如,n = 5的碼字,如果碼字中各碼元的錯誤是互相獨立,誤碼率為10-4,則錯1、2、3、4和5位的概率分別為:5×10-4、10-7、10-11、10-16和10-20。由此可見,要檢(或糾)錯誤,首先要解決單個錯誤,這樣才抓住了主要矛盾。一般情況下用上述偶校驗碼來檢出單個錯誤,檢錯效果是令人滿意的,不僅如此,奇偶校驗碼的編碼效率很高,R=(n-1)/n,隨n增大而趨近於1。下面就給出以碼長n=5為例,利用表1列出全部偶校驗碼字.
在數字信息傳輸中,奇偶校驗碼的編碼可以用軟體實現,也可用硬體電路實現。圖8-4(a)就是碼長為5的偶校驗碼編碼器。從圖中可以看到,4位碼元長的信息組,串行送入四級移位寄存器(輸入定時緩衝器),同時經模二運算得到校驗元,存入輸出緩衝器末級,編碼完成即可輸出碼字。接收端的檢錯電路如圖1(b)所示。當一個接收碼組B完全進入五級移存器內時,開關S立即接通,從而得到檢錯信號M=b4+b3+b2+b1+b0。如果接收碼組B無錯,B=A,則M=0;如果接收碼組B有單個(或奇數個)錯誤,則M=1。
[編輯]
行列校驗碼行列校驗碼又稱作水平垂直一致校驗碼或二維奇偶校驗碼,有時還被稱為矩陣碼。它不僅對水平(行)方向的碼元,而且還對垂直(列)方向的碼元實施奇偶校驗。一般L×m個信息元,附加L+m+1個校驗元,由L+1行,m+1列組成一個(Lm+L+m+1,Lm)行列校驗碼的碼字。表8-2就是(66,50)行列校驗碼的一個碼字(L=5,M=10),它的各行和各列對l的數目都實行偶數校驗。可以逐行傳輸,也可以逐列傳輸。解碼時分別檢查各行、各列的校驗關係,判斷是否有錯。
這種碼有可能檢測偶數個錯誤。因為每行的校驗位雖然不能用於檢測本行中的偶數個錯碼,但按列的方向就有可能檢測出來。可是也有一些偶數錯碼不可能檢測出,例如,構成矩形的四個錯碼就檢測不出來。
這種二維奇偶校驗碼適於檢測突發錯碼。因為這種突發錯碼常常成串出現,隨後有較長一段無錯區間,所以在某一行中出現多個奇數或偶數錯碼的機會較多,這種方陣碼適於檢測這類錯碼。前述的一維奇偶校驗碼一般只適於檢測隨機錯誤。
由於方陣碼只對構成矩形四角的錯碼無法檢測,故其檢錯能力較強。一些試驗測量表明,這種碼可使誤碼率降至原誤碼率的百分之一到萬分之一。
二維奇偶校驗碼不僅可用來檢錯,還可用來糾正一些錯碼。例如,當碼組中僅在一行中有奇數個錯誤時,則能夠確定錯碼位置,從而糾正它。
[編輯]
恆比碼恆比碼又稱作等重碼,這種碼的碼子中1和0的位數保持恆定比例。由於每個碼字的長度是相同的,若1、0恆比,則碼字必等重。
若碼長為n,碼重為w,則此碼的碼字個數為。該碼的檢錯能力較強,除對換差錯(1和0成對的產生錯誤)不能發現外,其它各種錯誤均能發現。
目前我國電傳通信中普遍採用3:2碼,該碼共有個許用碼字,用來傳送10個阿拉伯數字,如表8-3所示。這種碼又稱為5中取3數字保護碼。因為每個漢字是以四位十進位數來代表的,所以提高十進位數字傳輸的可靠性,就等於提高漢字傳輸的可靠性。實踐證明,採用這種碼後,我國漢字電報的差錯串大為降低。
目前國際上通用的ARQ電報通信系統中,採用3:4碼即7中取3碼,這種碼共有個許用碼字,93個禁用碼字。35個許用碼字用來代表不同的字母和符號。實踐證明,應用這種碼,使國際電報通信的誤碼率保持在以10-6下。
打開APP閱讀更多精彩內容
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴