TERM / 通信基本用語

■ 誤り制御

垂直パリティチェック方式(Vertical Redundancy Check)

キャラクタ単位に、誤りがないかチェックする方式です。送信時にキャラクタ内の1の数を数え、奇数個(あるいは偶数個) であるとき、キャラクタの終端に1を、そうでない時には0を付加します。それを受信時に1の数と照合することによって誤りを 検出します。非常に小さく簡単に実現できる方式ですが、偶数個の誤り時には、誤りを検出できない欠点があります。(図は偶数パリティの例です。)

水平パリティチェック方式(Longitudinal Redundancy Check)

ブロックごとにBCC(Block Check Character ブロックチェックキャラクタ)を付加して、誤りを検出する方式です(LRC)。キャラクタの各ビット桁ごとに1の数を数えBCCを付加します。一般に垂直パリティ方式と併せて使用されます。(図はLRC−E(偶数)の例です。一般的に偶数が用いられます。)

CRC方式(Cyclic Redundancy Check)

巡回符号検査方式とも呼ばれます。上の2方式とは異なり、単に1の数を数えるのではなく、送信データをビット列を多項式と見なし、その多項式をビット配列をあらかじめ 取り決めた生成多項式で割り、その余りの数を付加します。受信側では、その逆算を行って誤りを検出します。生成多項式には、 16ビットのCRCを求めるCRC-16、32ビット用のCRC-32などが存在します。垂直、水平両方式に比べ、非常に高い精度で の誤り検出が可能です。HDLCなどに採用されています。