通信に関する理論の基礎まとめ【符号化・誤り制御を解説】

通信に関する理論に関するブログのアイキャッチ画像 ネットワーク
広告

 このページでは,基本情報技術者試験をはじめとする情報処理技術者試験で必須となる,通信に関する理論について,符号化(エンコード,PCM)や誤り制御(CRC方式,パリティチェック方式,ハミング符号方式)をシンプルにまとめています。各方式のしくみを理解して,じっくり学んでいきましょう。

広告

符号化(エンコード)とは

 符号化とは,ある情報を,一定の規則に従い復元(デコード)可能な別の形式に変換することをいいます。アナログ信号をディジタル信号に変換することや,データを圧縮・暗号化することなどが該当します。

※ 完全に復元(デコード)できない方式もある

PCM(Pulse Code Modulation;パルス符号変調)とは

 PCMは,音声情報などのアナログ信号をディジタル信号に変換する方式です。

符号化に関する説明画像

誤り制御とは

CRC(Cyclic Redundancy Check)方式(巡回冗長検査)とは

 CRC方式の場合は,バースト誤り(連続した誤り)を検出できます。

※ 誤りを検出するのみで,訂正はできない

データ送信手順(CRC方式)

 データの送信時には,送信データにCRC符号を付加します。

※ CRC符号…送信データ(ビット列)を適当な生成多項式で割った余り

CRC方式(送信時)に関する説明画像

データ受信手順(CRC方式)

 受信したビット列は,同じ(送信時に使用した)生成多項式で割り,割り切れるか否かで,誤りの有無を判断します。

誤りなしの場合の処理(CRC)
CRC方式(受信時,誤りなし)に関する説明画像
誤りありの場合の処理(CRC)
CRC方式(受信時,誤りあり)に関する説明画像

広告

パリティチェック方式とは

 パリティチェック方式の場合は,送信データにパリティビットを付加することで誤りを検出できます。パリティビットの付け方には,次の方式があります。

偶数パリティとは

1の数が偶数個になるようにパリティビットを付ける

奇数パリティとは

1の数が奇数個になるようにパリティビットを付ける

垂直パリティと水平パリティとは

 垂直パリティの場合は,送信データそれぞれに対してパリティビットを付加します。水平パリティの場合は,各データブロックのそれぞれに対してパリティビットを付加します。

※ 誤りを検出するのみで,訂正はできない

データの送信(垂直パリティチェック方式,偶数パリティの場合)
パリティチェック方式(送信時)に関する説明画像
データの受信(垂直パリティチェック方式,偶数パリティの場合)
パリティチェック方式(受信時)に関する説明画像

垂直・水平パリティとは(検出と訂正)

 垂直・水平パリティの場合はパリティビットを2方向に付加しますので,誤りが1ビットであれば,検出だけでなく訂正も可能です。

データの送信(奇数パリティの場合)
垂直・水平パリティチェック方式(送信時)に関する説明画像
データの受信(奇数パリティの場合)
垂直・水平パリティチェック方式(受信時)に関する説明画像

ハミング符号方式とは

 ハミング符号方式の場合は,送信データ(情報ビット)に冗長ビットを付加することで,2ビットまでの誤りを検出できます。1ビットの誤りであれば訂正も可能です。

※ ハミング符号方式は,(コンピューターの)メモリアクセスで利用されている

データ送信(ハミング符号)

ハミング符号方式(送信時)に関する説明画像

データ受信(ハミング符号)

ハミング符号方式(受信時)に関する説明画像

まとめ

 今回は,通信に関する理論をシンプルにまとめてみました。符号化や誤り制御のしくみは多くありますが,繰り返し学ぶことで理解が深まります。まずは基本を押さえ,確実に理解できるように頑張りましょう。

 理解が進んだら,過去問題等にも挑戦してみてください。