ネットワーク

水平パリティとは

水平パリティ

水平パリティとは

水平パリティ(英:horizontal parity)とは、誤り検出方式の一種であるパリティチェックで、パリティビットを水平方向に付加する方式のことです。

データを構成するビット列を一定の単位(ブロック)毎に区切り、1つのブロックの1ビット目、2ビット目、・・・7ビット目に、奇数パリティ、あるいは、偶数パリティを付加します。

水平パリティ

上記図は、水平パリティのイメージ例です。(偶数パリティを使用)

水平方向にパリティビットを付加することで、誤りを検出できます。ただし、水平パリティでできることは奇数個のビット誤りを検出するだけで、偶数個のビット誤りは検出できません

誤りの検出精度を高める手段には、水平パリティと垂直パリティを併用した方式「垂直水平パリティ(水平垂直パリティ)」が挙げられます。

【例1】奇数個のビット誤り

まずは奇数個のビット誤りがあった場合、どのように誤りを検出するか、流れを説明します。

送信側で「1」の数が「偶数」(※偶数パリティを使用)になるように、水平パリティを設定し、データを送信したところ、次の図のように、1ビットが反転(0→1に反転)したとします。

水平パリティ1ビットの誤り

受信側は「1」の数が「偶数」であるか確認します。

確認した結果、ビット反転した2ビット目は「1」の数が「奇数」になっているので、誤りを検出できました。

【例2】偶数個のビット誤り

続いては偶数個のビット誤りがあった場合、なぜ誤りを検出できないのか、流れを説明します。

送信側で「1」の数が「偶数」(※偶数パリティを使用)になるように、パリティビットを設定し、データを送信したところ、次の図のように、2ビットが反転(0→1に反転)したとします。

水平パリティ2ビットの誤り

受信側は「1」の数が「偶数」であるか確認します。

確認した結果、ビット反転した2ビット目は「1」の数が「偶数」になっているので、誤りを検出できません。

helpful