- 數字電子技術基礎
- 李麗敏 張玲玉主編
- 1084字
- 2025-03-13 16:54:54
1.4.2 可靠性編碼
代碼在產生及傳送的過程中難免發生錯誤,為減少錯誤的發生,或者在出錯時能迅速地發現或糾正,甚至能查出錯誤的位置,除了要提高計算機本身的可靠性外,人們還廣泛地采用了可靠性編碼。目前,常用的可靠性編碼有格雷(Gray)碼和奇偶校驗碼。
1.格雷碼
格雷碼是一種無權循環碼,其特點是相鄰的兩個代碼(包括首、尾兩個代碼)僅有一位不同。另外,格雷碼還具有反射特性,為鏡像碼。n位格雷碼的前、后2n-1位碼字除首位不同(前2n-1位碼字首位為0,后2n-1位碼字首位為1),后面各位互為鏡像,即以最高位的0和1之間的交界為反射對稱軸,上、下對稱位置的其余位是相同的。利用這一特點,可以方便地構成位數不同的格雷碼,如圖1-9所示。這個特點使它在代碼的形成與傳輸時引起的誤差比較小。因此,按這種碼型接成計數器時,每次狀態轉換過程中只有一個觸發器翻轉,譯碼時不會發生競爭-冒險現象。
格雷碼常用于模擬量的轉換中。當模擬量發生微小變化而可能引起數字量發生變化時,格雷碼僅改變1位,這樣與其他碼同時改變兩位或多位的情況相比更為可靠,可減少出錯的可能性,因此在通信和測量中得到了廣泛的應用。
2.奇偶校驗碼
二進制信息在傳送時,可能因外界干擾或其他原因而發生錯誤,代碼在傳輸過程中可能會發生“0”錯成“1”,或者“1”錯成“0”的差錯,奇偶校驗碼(Parity Check Code)是一種具有檢錯能力、可以檢測代碼在傳送過程中是否出現一位錯誤的可靠性編碼。奇偶校驗碼由兩部分組成:一部分是信息位,即需要傳遞的信息本身,可以是位數不限的任何一種二進制碼;另一部分是奇偶校驗位,僅有一位,可以添加在信息位的前面或后面。在編碼時,需根據信息位中1的個數決定添加的奇偶校驗位是1還是0。一般有下列兩種方式:“奇校驗”時,使信息位和校驗位所組成的每組代碼中含有奇數個1;“偶校驗”時,使信息位和校驗位所組成的每組代碼中含有偶數個1。通常采用奇校驗,因為它排除了全0的情況。由4位信息位及1位奇偶校驗位構成的5位奇偶校驗碼見表1-6。

圖1-9 格雷碼
表1-6 十進制數碼的奇偶校驗碼

這種編碼的特點是每一個代碼中含有1的個數總是奇(偶)數個。這樣,一旦某代碼在傳送過程中出現1的個數不是奇(偶)數時,就會被發現。例如,當采用偶校驗時,若收到的代碼中含有奇數個1,則說明發生了錯誤。但判斷出錯后,并不能確定是哪一位出錯,也就無法糾正。因此,奇偶檢驗碼只有檢錯能力,沒有糾錯能力。其次,奇偶校驗碼只能發現單個錯誤,不能發現雙錯(即兩位同時出錯的情況)。但由于數據傳送中出現單錯的概率遠遠高于雙錯,因此,奇偶校驗碼還是很有實用價值的。加之它編碼簡單、容易實現,因而在數字系統中被廣泛采用。