パリティビットは、 0又は1が7~8ビット(バイト)の各グループに追加された伝送誤り検出方法に使用される0又は1の値を持つパラメータです。目的は、確立されたパリティに従って、各バイトが常に奇数の総量「1」または偶数の総量「1」を持つことです。
パリティは、非同期通信で使用されるエラー検出手法です。送信ストリーム内の各バイトの整合性を検証するために使用されます。たとえば、奇数パリティが設定されている場合、合計数が「1」の偶数の伝送から受信したバイトには、エラーが含まれている必要があります。
出典:pixabay.com
2種類のパリティが使用されます。前のバイトに「1」ビットの総数が奇数の場合にパリティ1ビットが追加される偶数パリティと、逆の処理が行われる奇数パリティです。この方法では、エラーが発生したことだけを知ることができますが、エラーが発生した場所はわかりません。
パリティビットとは何ですか?
デジタルデータを送信する場合、送信コードと受信コードの間にエラーがある可能性があります。EMノイズや熱ノイズなど、さまざまなタイプのノイズの形で多くのエラーの原因があります。
したがって、受信したコードまたはバイトにエラーがあるかどうかを確認するための方法を実装する必要があります。
しかし、受信者は、受信したコードにエラーがあるかどうかをどのようにして知ることができますか?コードを受信する前に受信者がコードを知ることは不可能です。
たとえば、送信者がコード01100110を送信したが、ノイズの多い回線を通過した後、受信者がコード00100110を受信したとします。受信者は、2番目のビットにエラーがあるコードを受信したことを認識しません。
メッセージの最初のビットにエラーがあることを受信者が知ることは不可能です。これは、受信者が送信前に送信者からのメッセージをすでに知っていることを意味するためです。
エラー制御
受信機がエラーの存在を確認できるという問題は、エラー制御エンコーディングを使用することで解決できます。
エラー制御コーディングの中心的な考え方は、送信する情報にビットを追加して、エラーを検出して修正することです。多くのエラー処理エンコーディングがあります。最も単純なのはパリティビットです。
送信される各バイトにパリティビットが追加されます。このビットは、情報が正確に配信されたことを確認するために使用されます。
各バイトのパリティビットは、すべてのバイトが奇数または偶数の「1」ビットを持つように設定されています。
例
2つのドライブが偶数パリティで通信するとします。これは、パリティチェックの最も一般的な形式です。
送信ユニットに応じて、バイトを送信し、最初に7ビット(バイト)の各グループのビット「1」の数をカウントします。ビット「1」の数が偶数の場合は、パリティビットを0に設定します。ビット「1」の数が奇数の場合、パリティビットを1に設定します。このようにして、各バイトは偶数のビット「1」を持ちます。
レシーバーによって、各バイトが検証され、偶数の「1」ビットが含まれることが確認されます。バイトに奇数の「1」ビットが見つかった場合、受信側は送信中にエラーが発生したことを認識します。
以前は、受信エンティティと送信者の両方が、パリティ検証の使用と、パリティを奇数にするか偶数にするかについて合意しておく必要があります。両サイドが同じパリティ感覚で構成されていない場合、通信できなくなります。
エラー検出
パリティチェックは、通信エラーを検出するための最も簡単な手法です。
しかし、多くのエラーを検出することはできますが、電気的ノイズによって同じバイト内の偶数ビットが変更された場合の配置を検出することができないため、それは間違いではありません。
パリティチェックは、通信だけでなく、メモリストレージデバイスのテストにも使用されます。たとえば、多くのパーソナルコンピュータは、データのバイトがメモリから読み取られるたびにパリティチェックを実行します。
それはどのように機能しますか?
7ビットのデータコードがあり、パリティビットである追加のビットを追加して8ビットのデータコードを形成するとします。使用できる方法には、偶数パリティと奇数パリティの2つがあります。
例として、偶数パリティ方式を採用できます。奇数パリティメソッドを使用した場合は、逆になります。
偶数法
この方法は、追加するパリティビットは、最終コードの「1」の総数が偶数になるようにする必要があることを示しています。例えば:
したがって、最初の7ビットコード:0010010、偶数の「1」(2)の場合、送信される8ビットコードは00100100、偶数の「1」(2)になります。
7ビットコード1110110の場合、奇数の数量が "1"(5)の場合、送信される8ビットコードは11101101で、偶数の数量は "1"(6)になります。
レシーバーが8ビットを取得した後、受信したコードの「1」の数量をチェックします。「1」の数量が偶数の場合、つまりエラーがないことを意味します。数量が奇数の場合、つまり、エラー。
受信したバイトの計算されたパリティが受信したパリティビットの値と一致しない場合、パリティエラーが発生したと見なされ、通常はバイトが破棄されます。
エラーが発生した場合、受信機は送信機にコードを再送信するよう警告します。
間違いない
ただし、これらのパリティメソッドには欠点があり、コード1110110がラインノイズによって11111001に変換されて2ビットエラーが発生すると、このメソッドはエラーが発生したことを検出できません。
パリティはエラーの検出に優れており、常に受信バイトの奇数のエラーを検出します。ただし、エラーの数が偶数の場合、パリティチェッカーはエラーを見つけることができません。
参考文献
- Vangie Beal(2019)。パリティチェック。Webopedia。取得元:webopedia.com。
- エレクトロニクス研究グループ(2019)。文字パリティ。取得元:erg.abdn.ac.uk。
- 語彙(2019)..パリティビット。取得元:vocabulary.com。
- Angms(2013)。最も単純なエラー制御コード-パリティビット。取得元:angms.science。
- Christensson、(2011)。パリティビット定義。Techterms。techterms.comから取得。