誤り制御とは
4400107
山岡
聡
誤り制御とは
図1 単純な通信システム
送信
端末装置
受信
受信
伝送路
送信
端末装置
伝送路上の伝送装置あるいは交換機内で生じる、
雑音や波形歪、瞬断などによるビット誤りを、受信側
で検知して訂正する仕組みを、誤り制御という。
誤り制御の種類
誤り
制御
方式
①パリティチェック方式(BASIC手順)
(1)垂直パリティチェック方式
(2)水平パリティチェック方式
②CRC方式(HDLC手順)
③ハミング符合方式
④チェックサム方式
⑤エコーチェック方式
①パリティチェック方式
→データのビット列に、1ビットのパリティ
ビットを付加する誤り検査方式
奇数パリティチェック→1の個数が奇数個
010000011
データのビット列
パリティビット
偶数パリティチェック→1の個数が偶数個
010000010
データのビット列
パリティビット
<例>奇数パリティチェック採用時
送信側
010000011
データ
データ内の1の個数が2個
→1を付加
→1の個数が3個(奇数)
パリティビット
受信側
000000011
受信側で上のようなデータを受信したとする。
ここで、1の個数が2個であるから、途中でビットが反転した
ことがわかる→誤りを検出できる
ただし、受信側はどのビットが反転したかはわからない
→誤りを訂正できない
誤り制御の種類
誤り
制御
方式
①パリティチェック方式(BASIC手順)
(1)垂直パリティチェック方式
(2)水平パリティチェック方式
②CRC方式(HDLC手順)
③ハミング符合方式
④チェックサム方式
⑤エコーチェック方式
(1)垂直パリティチェック方式
キャラクタ単位内の誤りの有無
(欠点)・・・誤りの個数が偶数の場合、
誤りを検出できない
<送信側>
キャラクタ内の1の数を数える
奇数個→キャラクタの終端に1を付加
偶数個→キャラクタの終端に0を付加
<受信側>
1の数を照合
↓
誤りを検出
(2)水平パリティチェック方式
データをひとかたまりのブロックに区切り、
ブロック単位で誤りをチェック
ブロック各桁の水平方向の1ビットを偶数(奇数)に
そろえるため、ブロックの最後に1文字(キャラクタ)
付加
*
(例)
偶数パリティ
チェック採用時
*BCC・・・Block Check Character
通常、水平パリティチェックを用いるとき、
垂直パリティチェックを併用することが多い
↓
2ビット以上の誤りを検出できる
可能性が高まる
誤り制御の種類
誤り
制御
方式
①パリティチェック方式(BASIC手順)
(1)垂直パリティチェック方式
(2)水平パリティチェック方式
②CRC方式(HDLC手順)
③ハミング符合方式
④チェックサム方式
⑤エコーチェック方式
②CRC方式(Cyclic Redundancy Check)
(サイクリック符号方式)
送信データを多項式で表現
あらかじめ決められている生成多項式で剰余演算
余りをチェックビットとして、データの末尾に付加
↓
受信側で、同じ生成多項式で、除算
余りが
0
→誤りなし(正しい受信)
0以外→誤りあり
パリティチェック方式よりも、精度が非常に高い
→HDLC手順
(例)
<送信側>
0110010
P(x)
5
110101
C(x) =CRC符号
4
1
① P(x)=x +x +x の多項式とする
② 多項式 G(x)=x5 +x2 +1 として、
P(x)にG(x)の最高次数x5 をかけたものを
Q(x)=(x 5 +x 4 +x1 ) x 5 とする
③ Q(x)をG(x)で割ったときの余りを求めると、
C(x)=x 5 +x 4 +x2 +1 となる←CRC符号
<受信側>
0110010110101
11
10
7
5
4
2
① S(x)=x +x +x +x +x +x +1 の多項式とし、
5
2
S(x)を生成多項式G(x)=x +x +1 で割り、
余りを求める
② 余りが0かどうか判定
余りが
0
→誤りなし(正しい受信)
0以外→誤りあり
ダウンロード

誤り制御