誤り検出・訂正
1. パリティ
データ中の「1」の個数の偶奇を用いて誤りを検証する方法。
データビット列の最後に「パリティビット」を1ビット追加する。
1の個数を偶数にする偶数パリティと、奇数にする奇数パリティがある。
(偶数パリティの例)
1101101 → 1の個数が偶数になる様に末尾に1を追加 11011011
0010001 → 1の個数が偶数になる様に末尾に0を追加 00100010
誤り検出はできるが、誤り箇所の特定や訂正はできない。
また、2ビット以上の誤りがあれば検出できないかもしれない。
2. 垂直パリティと水平パリティ
1で学んだパリティを二次元的に活用する方法。
データ列ごとに垂直パリティを付与していき、最後に各列を横断的に見て水平パリティを付与する。
(偶数パリティを用いた例)
------- 👇垂直パリティ
1100110 0
0100010 0
1101011 1
0101001 1
0000110 0 👈水平パリティ
二つのパリティの交差を考えることで、誤りがあった時に誤り箇所を特定できる。
誤り箇所のビットを反転させることにより、誤り訂正が可能となる。
3. ハミング符号
データにいくつかの冗長ビットを付加することによって、1ビットの誤りを検出・訂正できる仕組みのこと。例題を解いてみたら理解できると思います。
4. CRC
通信データにおいて、ケーブルの不良や混線などによって誤りが一度にまとめて起こることがあり、これをバースト誤りという。バースト誤りの場合、1ビットのみの誤りしか検出できないパリティやハミング符号は使えないため、CRCを用いてエラーチェックを行う。CRCでは多項式の除算を用いて誤り制御を行うらしいが、詳しいメカニズムは難しそうやったからパス。CRCではバースト誤りが検出できるということを覚えておけばいいっぽい。
計測・制御に関する理論
1. A/D変換とD/A変換
これは見たまんま。アナログ→デジタルのデータ変換をA/D変換、デジタル→アナログのデータ変換をD/A変換と呼ぶ。
A/D変換を行うためには標本化、量子化、符号化の三つの作業が必要になる。
標本化 連続データを一定の間隔において切り取りサンプルの値とする
量子化 標本化したデータをデジタルに変換する
符号化 量子化したデータを2進数に変換する
2. 標本化定理
連続した波形を標本化するとき、元の波形の周波数の2倍以上の周波数でサンプリングを行わなければ、元の波形を復元できないという定理。周波数とはHzという単位で表され、1秒間に波形が何周期繰り返されるかを示す。サンプリング周波数が40kHzなら、40000回/秒サンプリングを行うということ。標本化定理はフーリエ変換とかを使って証明するらしいけど、難しくてわからないので詳しくは外部サイトをご覧ください!