nekonisi
2021/11/28の勉強
前回
第2章「符号化と伝送」-02
nekonisi 2021年11月27日の朝勉強 前回 前回の復習 標本化 横軸をいかに細かく分類するか?の話。 例えば、標本化のサンプリング周波数が「4kHz」だった場合、 1秒間を4000に分けてデータの分析を行う。 量子化 横軸をいか...
誤り制御
データの伝送を行う際に、ノイズ等で破損する場合がある。
データの再送を促したり、その場でデータを回復するための処理として、誤り制御がある。
誤り制御の方法
誤り制御の方法は大きく分けて二種類存在する。
1. 誤り検出により再送を行う方法(ARQ)
2. 誤り訂正により自己修復を行う方法(FEC)
ARQ: Automatic Repeat Request
FEC: Forward Error Correction
ARQ
パリティチェック
7ビットのデータを送信する場合、8ビット目に誤り検出用のパリティビットを付加して送信する。
例えば
1 | 0 | 0 | 0 | 0 | 0 | 1 |
のような7ビットのデータを送信したいときに、
8ビット目にパリティビットを付加してデータの整合性を検査する。
全体が偶数となるようにパリティを挿入する場合は、これを偶数パリティと呼び。
反対に全体が奇数となるようにパリティを挿入する場合は、これを奇数パリティと呼ぶ。
例の場合、
偶数パリティ
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
奇数パリティ
1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
パリティチェックの種類
垂直パリティ
b8 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 |
b7 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
b6 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
b5 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
b4 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
b3 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 |
b2 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
b1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
A | B | C | D | E | F | G | H |
キャラクタ単位でパリティチェックを行う方法。
7ビットのキャラクタコードに対して8ビット目を付加して冗長ビットとする。
※ 上記の例では、偶数パリティを採用。
水平パリティ
伝送した文字列の最後にBCC(Block Check Character)を付加する方法。
ETB(End-of-Transmission-Block character)もしくは、ETX(End-of-Text character)の後ろに
BCCを付加する。(つまり、最後に付加するってこと。)
図は省略するが、水平方向にパリティを付加する。
群計数チェック方式
水平方向の1の数を加算し、その結果を2進数で表す。
加算結果の下2桁をCK1, CK2としてチェックビットとする方式。
加算結果 | |||||||
b8 | 1 | 0 | 1 | 0 | 1 | 0 | 010 |
b7 | 0 | 0 | 1 | 0 | 0 | 1 | 001 |
b6 | 1 | 1 | 0 | 0 | 1 | 0 | 010 |
b5 | 1 | 1 | 1 | 1 | 0 | 0 | 100 |
b4 | 0 | 1 | 1 | 1 | 1 | 1 | 011 |
b3 | 1 | 1 | 1 | 0 | 1 | 1 | 011 |
b2 | 0 | 0 | 1 | 0 | 0 | 1 | 001 |
b1 | 0 | 0 | 0 | 0 | 0 | 0 | 000 |
A | B | C | D | CK1 | CK2 |
次回
第2章「符号化と伝送」-04
nekonisi 2021/12/02の勉強 前回 前回に引き続き誤り制御に関しての学習内容をまとめていく。 CRC CRC: Cyclic Redundancy Check(巡回冗長検査) 送信するデータに生成多項式を適用して、誤り検出...
コメント