パリティチェック
パリティチェック(Parity check、パリティ検査、奇遇検査)
データの誤り検出方式の一つで、ビット列中に含まれる「1」の数が偶数か奇数かを表す符号を算出してデータに付加する手法
偶数か奇数かを表す符号を検査ビット、パリティビット(parity bit)という
パリティチェックの例は、例えば7ビットのデータを送信する場合、8ビット目にパリティビットをつけて送信するような方式がパリティチェック
バースト誤りは検出できない
バースト誤りは連続で誤っているもの
これ以降はひとつづつ定義をみていく。
パリティ(parity、偶奇性)
数学において、ある対象を偶(ぐう、英: even)と奇(き、英: odd)の二属性のいずれか一方になること。
$ B = \{ 0, 1 \}
$ \bm{w} = (w_1, w_2,...,w_n) = (x_1,...,x_k, p_1,..,p_{n-k})
$ \hspace{4mm} = (\bm{x}, \bm{p})
$ \bm{w} : 符号語。サイズは$ n ビット。
$ x_i : 情報ビット。サイズは$ k ビット。
$ p_i : 冗長ビット。サイズは$ n-k ビット。
冗長ビットをパリティビットと呼ぶ
$ x_i を情報部分、$ p_i を冗長部分という
部分の内容がビットのときは特に情報ビット、冗長ビットという
偶数パリティ(even parity)、奇数パリティ(odd parity)
符号語$ \bm{w}=(w_1,\dots,w_n) \in B^n に対して以下が成り立つとき、偶数パリティを持つという。
$ w_q \oplus w_2 \oplus \dots \oplus w_n = 0
$ \sum_{i=1}^n{w_i(\bmod 2} ) = 0
例 :
$ (1,1)
→$ 1 \oplus 1 = 0
次式がなりたつとき、奇数パリティをもつという
$ w_q \oplus w_2 \oplus \dots \oplus w_n = 1
$ \sum_{i=1}^n{w_i(\bmod 2)} = 1
例 :
$ (1,1,1)
→$ 1 \oplus 1 \oplus 1 = 0 \oplus 1 = 1
偶数パリティ検査(符号)
情報ビットとパリティビットとの計算結果が0(偶数パリティ)になるようにして誤り検出をする方式
$ x_1 \oplus ... \oplus x_{n-1} \oplus p = 0
$ p = x_1 \oplus ... \oplus x_{n-1}
1ビットの誤りを検出することができる
奇数パリティ検査(符号)
情報ビットとパリティビットとの計算結果が1(奇数パリティ)になるようにして誤り検出をする方式
$ x_1 \oplus ... \oplus x_{n-1} \oplus p = 1
$ p = x_1 \oplus ... \oplus x_{n-1}
1ビットの誤りを検出することができる。
水平パリティは、データの水平方向を対象としてパリティビットを付加する方式
1ビットの誤りのみが検出可能
データの垂直方向を対象としてパリティビットを付加する方式
1ビットの誤りのみが検出可能
確認用
Q. パリティチェック
Q. 誤り検出符号
Q. パリティ
Q. 偶数パリティ
Q. 奇数パリティ
Q. 偶数パリティ検査
Q. 奇数パリティ検査
Q. 水平パリティ
Q. 垂直パリティ
Q. 水平垂直パリティチェック
参考
関連