Digital-communication-error-control-coding

提供:Dev Guides
移動先:案内検索

デジタル通信-エラー制御コーディング

ノイズまたはエラーは、信号の主な問題であり、通信システムの信頼性を妨げます。 *エラー制御コーディング*は、エラーの発生を制御するために行われるコーディング手順です。 これらの手法は、エラー検出とエラー修正に役立ちます。

それらに適用される数学的原理に応じて、多くの異なるエラー修正コードがあります。 しかし、歴史的に、これらのコードは*線形ブロックコード*と*畳み込みコード*に分類されています。

線形ブロックコード

線形ブロックコードでは、パリティビットとメッセージビットは線形結合を持ちます。つまり、結果のコードワードは任意の2つのコードワードの線形結合です。

各ブロックに k ビットを含むデータブロックを考えてみましょう。 これらのビットは、各ブロックに n ビットを持つブロックにマッピングされます。 ここで、 nk より大きい。 送信機は、(n-k)*ビットである冗長ビットを追加します。 比率 *k/n は*コードレート*です。 r で示され、 r の値は r <1 です。

ここに追加された*(n-k)*ビットは*パリティビット*です。 パリティビットは、エラーの検出とエラーの修正、およびデータの検索に役立ちます。 送信されるデータでは、コードワードの左端のビットはメッセージビットに対応し、コードワードの右端のビットはパリティビットに対応します。

体系的コード

線形ブロックコードは、変更されるまで体系的なコードにできます。 したがって、変更されていないブロックコードは*システマティックコード*と呼ばれます。

以下は、割り当てに応じた*コードワードの構造*の表現です。

系統的コード

メッセージが変更されていない場合、体系的なコードとして呼び出されます。 つまり、データの暗号化によってデータが変更されることはありません。

畳み込みコード

これまでのところ、線形コードでは、体系的な変更されていないコードが優先されることを説明しました。 ここで、送信された場合、合計 n ビットのデータ、 k ビットはメッセージビット、*(n-k)*ビットはパリティビットです。

エンコードのプロセスでは、パリティビットがデータ全体から差し引かれ、メッセージビットがエンコードされます。 これで、パリティビットが再び追加され、データ全体が再びエンコードされます。

次の図は、情報の送信に使用されるデータのブロックとデータのストリームの例を引用しています。

コンボリューションコード

上記のプロセス全体は面倒であり、欠点があります。 バッファの割り当ては、システムがビジーの場合の主な問題です。

この欠点は畳み込みコードで解消されます。 データのストリーム全体にシンボルが割り当てられ、送信される場所。 データはビットのストリームであるため、ストレージ用のバッファは必要ありません。

ハミングコード

コードワードの直線性の特性は、2つのコードワードの合計もコードワードであるということです。 ハミングコードは*リニアエラー修正*コードの一種で、最大2ビットのエラーを検出するか、未修正エラーを検出せずに1ビットのエラーを修正できます。

ハミングコードを使用している間、追加のパリティビットを使用して、シングルビットエラーを識別します。 1ビットパターンから別のパターンに移行するには、データ内のいくつかのビットを変更する必要があります。 このようなビット数は、*ハミング距離*と呼ばれます。 パリティの距離が2の場合、1ビットのフリップを検出できます。 しかし、これは修正できません。 また、2ビットのフリップは検出できません。

ただし、ハミングコードは、エラーの検出と修正で前述したものよりも優れた手順です。

BCHコード

BCHコードは、発明者* B * ose、* C * haudariおよび* H * ocquenghemにちなんで命名されています。 BCHコードの設計中に、修正されるシンボルの数が制御されるため、複数ビットの修正が可能です。 BCHコードは、エラー訂正コードの強力な手法です。

正の整数 m≥3 および t <2 ^ m-1 ^ の場合、BCHバイナリコードが存在します。 以下は、そのようなコードのパラメーターです。

ブロック長 n = 2 ^ m ^ -1

パリティチェックディジットの数 n-k≤mt

最小距離 d〜min〜≥2t&plus; 1

このコードは、 t-error-correcting BCH code として呼び出すことができます。

巡回コード

コードワードの循環特性は、コードワードの循環シフトもコードワードであるということです。 巡回コードは、この巡回プロパティに従います。

線形コード C の場合、すべてのコードワード、つまり* C =(C1、C2、…​…​ CからのCn)には、コンポーネントの循環右シフトがあり、コードワードになります。 この右シフトは、 *n-1 循環左シフトに等しくなります。 したがって、どのシフトでも不変です。 したがって、線形コード C は、どのシフトでも不変であるため、*サイクリックコード*として呼び出すことができます。

巡回コードはエラー修正に使用されます。 主に二重エラーとバーストエラーの修正に使用されます。

したがって、これらは、受信機で検出される少数のエラー修正コードです。 これらのコードは、エラーの導入を防ぎ、通信を妨害します。 また、不要な受信機によって信号が傍受されるのを防ぎます。 これを達成するための信号技術のクラスがあり、これについては次の章で説明します。