什麼是同位位元

附加在資料位元串上、用來使1的個數之奇偶一致的1個位元(同位元)。使1的個數為偶數的稱為偶同位,為奇數的稱為奇同位,其值可由資料所有位元的互斥或求得。接收端檢查奇偶時,可以偵測奇數個位元的錯誤,但無法偵測偶數個錯誤,也不知道是哪個位元出錯。用於UART通訊以及記憶體、暫存器的保護等;把檢查範圍彼此重疊的多個同位位元組合起來,就成為漢明碼這類錯誤更正碼。

日文名稱: パリティビット

「同位位元」出現在4領域的6道練習題中(資訊理論與編碼基礎, 邏輯電路, 機率、統計與等候理論等)。

這個名詞所屬的領域: 資訊理論與編碼基礎

計算方式

偶同位時,資料中1的個數若為奇數,同位位元就設為1,若為偶數則設為0。例如7位元的資料 1011001 有4個1,因此偶同位位元為0。在電路中,只要讓所有位元通過互斥或閘構成的樹就能求得。

垂直水平同位檢查

把資料排成表格,在每一列與每一行加上同位位元,若為1位元錯誤,就能以奇偶不符之列與行的交點找出位置並加以更正。像這樣組合檢查範圍彼此重疊的多個同位位元,正是漢明碼等錯誤更正碼的基本想法。

RAID的同位

RAID 5把多台磁碟相同位置資料的互斥或記錄為同位資料。即使任何1台損壞,也能由其餘資料與同位資料的互斥或重新算出遺失的資料。這個例子說明,在已知哪裡遺失的情況(抹除)下,1個同位就能做到還原。

練習同位位元的題目

對7位元的資料 1011001 加上偶同位元時,同位元的值是哪一個?

  1. A1
  2. B0
  3. C無論資料為何都固定為1
查看答案與解析

正確答案:B. 0

偶同位使包含同位元在內的1的個數為偶數。1011001有4個1,已經是偶數,因此同位元為0。接收端若1的個數為奇數,即可偵測出1位元的錯誤,但無法偵測2位元同時錯誤,也不知道是哪一個位元錯了。在需要更正的記憶體中,則使用結合多個同位元的ECC(漢明碼等)。

在8位元的資料加上1個偶同位位元,共傳送9位元。若各位元彼此獨立地以1%的機率發生錯誤,發生同位檢查無法偵測之錯誤的機率最接近下列何者?

  1. A約0.01%
  2. B約0.34%
  3. C約8.6%
查看答案與解析

正確答案:B. 約0.34%

同位檢查在奇數個位元錯誤時可以偵測,但偶數個位元錯誤時,1的個數的奇偶不變,因此無法偵測。無法偵測的錯誤幾乎都是2個位元的錯誤,其機率為 C(9, 2) × 0.01² × 0.99⁷ = 36 × 0.0001 × 0.932 ≈ 0.0034。4個位元以上錯誤的機率遠小於此,因此合計也約為0.34%。

常見問題

同位檢查漏掉的錯誤大約多常發生?

若各位元彼此獨立地出錯,漏掉的主要是2位元的錯誤。位元錯誤率小時,2個位元同時出錯的機率更小,因此同位檢查在許多情況下都有用。不過,雜訊連續進入的叢發錯誤容易產生偶數個錯誤,這時CRC比較適合。

偶同位與奇同位如何區分使用?

兩者的偵測能力相同。奇同位在資料全為0時同位位元也是1,因此像斷線造成所有位元都卡在0的故障,也能當作錯誤偵測出來。使用哪一種,由通訊的兩端事先約定。

解析中的「同位位元」

出現「同位位元」的題目(6題)

  1. 對7位元的資料 1011001 加上偶同位元時,同位元的值是哪一個?
  2. 在8位元的資料加上1個偶同位位元,共傳送9位元。若各位元彼此獨立地以1%的機率發生錯誤,發生同位檢查無法偵測之錯誤的機率最接近下列何者?
  3. 在資料的位元串上加1個偶同位位元,使1的個數為偶數後傳送,接收端檢查1的個數。關於此檢查的性質,下列何者正確?
  4. 對4列4位元的資料,在各列右端加上該列的偶同位位元,最後再加上一列各行的偶同位位元後傳送(垂直水平同位檢查)。收到的位元為第1列 1011 1、第2列 0100 0、第3列 1100 0、第4列 0101 0、同位列 0100(各列最右端的1位元為該列的同位位元)。只有1個位元出錯時,出錯位元的位置為下列何者?
  5. 在32位元的資料上附加可更正1位元錯誤、偵測2位元錯誤的SECDED碼。漢明碼的檢查位元數r是滿足 2^r ≥ 資料位元數 + r + 1 的最小值,SECDED再加上1位元的整體同位位元。所需的檢查位元數為下列何者?
  6. 以115200 bps的UART,用資料8位元、無同位檢查、停止位元1(8N1)的格式傳送時,每秒可傳送的位元組數最接近下列何者?

相關名詞

ECC(錯誤更正碼) 漢明碼 UART 二元對稱通道 互資訊 平均碼長 有失真壓縮 行程長度編碼(RLE) 克拉夫特不等式 前向錯誤更正(FEC)

前往名詞解釋列表