奇偶檢測[1]粵拼gei1 ngau5 gim2 caak1英文parity check)係一種數據通訊用到嘅簡單嘅錯誤偵測技巧;原理係將數據睇成一大串位元(亦即係當佢做二進制數字),然後斬件,之後逐件睇(例如逐個位元組睇),數下入面有幾多個 1(個結果係奇數偶數奇偶性[1]parity),再加一個附加嘅位元,務求加咗附加位元之後,一係有奇數嘅 1,一係有偶數嘅 1,而呢個附加嘅位元就叫奇偶檢驗位[1]parity bit[2]:86

接收方收到數據之後,就會撇除收到嘅奇偶檢驗位,自己再做一次奇偶檢測,睇下奇偶檢驗位應該係乜,如果同收到嘅奇偶檢驗位一樣,就假定收到嘅嘢冇問題,如果唔夾,就肯定收到咗無效數據;不過如果遇到嘅情形係後者,接收方都只係知道數據無效,而唔會知邊度錯咗[2]:87。另外,如果有數量係偶數嘅錯誤發生咗,奇偶檢測亦唔會測到有問題[2]:88

將數據斬件有兩個方法,最明顯嘅方法係將數據就咁切開,例如每8個位元切一刀,又或者每256個位元切一刀咁,呢種方法叫縱向冗餘檢測[暫譯](VRC,vertical redundancy check),另一個方法係首先將數據分成某個大細嘅段落(block;例如每8位元一段,又或者每256個位元一段咁),然後每段相同位置嘅位元當成一個單元,呢種方法叫横向冗餘檢測[暫譯](LRC,longitudinal redundancy check[2]:86

無論係縱向定横向冗餘檢測,頂多都只能夠偵測錯誤,但係如果兩種方法一齊用,喺某嘅情況下可以更正錯誤[2]:86–88

應用 編輯

奇偶檢測喺串行通訊常見,用嘅係縱向冗餘檢測,以前用 ASCII 嘅年代,7位元嘅 ASCII 碼好多時都會附加奇偶檢驗位,凑夠8個位元一個位元組[2]:86

並行通訊亦有時會用奇偶檢測,例如 SCSI 通常都會做奇偶檢測[3]

奇偶檢測未必用喺通訊,亦用喺儲存,例如佢用咗喺 RAID-5RAID-6[4],同 ECC RAM[5],不過呢啲應用都唔係純粹係奇偶檢測,而係用某種演算法將佢變成可以更正錯誤。

編輯

假設用統一碼UCS-2 形式,但係低位元組行先(little endian,例如微軟視窗),再假設8個位元一組,如果訊息係 「粵語」,即係 U+7CB5 U+8A9E,實際表示方法十六進制 B5 7C 9E 8A,二進制 1011,0101 0111,1100 1001,1110 1000,1010,咁嘅話:

位元組 位元 奇偶性
(VRC)
7 6 5 4 3 2 1 0
0 1 0 1 1 0 1 0 1
1 0 1 1 1 1 1 0 0
2 1 0 0 1 1 1 1 0
3 1 0 0 0 1 0 1 0
奇偶性
(LRC)

假設用8位元嘅頻道傳輸7位元嘅 ASCII 數據,數據單元係字元,而且奇偶檢測位嵌入字元嘅位元7(每位元組嘅第八位元);如果要傳輸嘅字串係 「Yue」,佢嘅 ASCII 碼係十六進制 57 75 65,二進制 101,1001 111,0101 110,0101。咁嘅話:

  • 如果協議係奇偶性要係奇數(odd parity),實際傳輸嘅會係 1101,1001 0111,0101 1110,0101,即係十六進制 D7 75 E5
  • 如果協議係奇偶性要係偶數(even parity),實際傳輸嘅會係 0101,1001 1111,0101 0110,0101,即係十六進制 57 F5 65

編輯

  1. 1.0 1.1 1.2 (PDF) (香港中文). 香港特別行政區政府教育局課程發展處科技教育組. 2023年1月. 喺2023年10月30號搵到.
  2. 2.0 2.1 2.2 2.3 2.4 2.5 Carne, E. Bryan (1995). Telecommunications Primer (美國英文). Prentice Hall; IEEE Press. ISBN 0-13-490426-5.
  3. "Interface Circuits for SCSI" (design notes) (美國英文). Texas Instruments. November 1998. 喺2023年10月31號搵到.
  4. Plank, James S. (2008). The RAID-6 Liberation Codes (PDF). FAST ’08: 6th USENIX Conference on File and Storage Technologies (美國英文). 喺2023年10月31號搵到.
  5. Harding, Scharon (December 31, 2020). "What Is ECC Memory in RAM? A Basic Definition" (美國英文). Tom’s Hardware. 喺2023年10月31號搵到.

編輯