多ビット誤り訂正ブロック符号
誤り訂正回路(FPGA)の動作説明用に作成した、2 元非原始 BCH ランダム誤り訂正符号とバースト誤り訂正符号の誤り訂正デモンストレーションです。
目次
(56,32) 12-bit バースト誤り訂正符号
この符号は (72, 48) バースト誤り訂正符号を短縮した符号で、バースト長が 12 までのバースト誤りの訂正が可能です。
これはライガーの限界 (Rieger Bound) を達成しているため、最適バースト誤り訂正符号の一つとなっています。
全ビットが '1' になった誤りも検出できます。
情報ビット長や符号長、バースト訂正能力などが全て 8 の倍数なので色々と好都合です。
SSR mode-S Acquisition squitter 等で使われています。
必要なリソースの目安は、エンコードテーブルに 3k-byte、誤り訂正用に 112M-byte 程度となります。
(56,32) バースト誤り訂正符号 Demo [Java Web Start, 8KB]
⚠️ Demo の実行には
JAVA のインストール と
例外サイトへの追加 が必要です。
- Send code の Information data 部分をクリックすると該当ビットを反転出来ます。
- Error bit の任意の部分をクリックすると該当ビットを反転出来ます。
- 最初はランダムな値の Data とランダムな1ビットの誤りになっています。
- タイトル部分をクリックすると Information data とバースト誤りがランダムに変更されます。
- Auto run 部分をクリックすると誤りテストを自動的に実行します。
左が 1-bit 誤り、中が 1〜12-bit 長のバースト誤り訂正、 右が 12〜24-bit 長のバースト誤り検出のテストになっています。
(48,32) 8-bit バースト誤り訂正符号
この符号は (50, 34) バースト誤り訂正符号を短縮した符号で、バースト長が 8 までのバースト誤りの訂正が可能です。
これはライガーの限界 (Rieger Bound) を達成しているため、最適バースト誤り訂正符号の一つとなっています。
バースト長が 5 までの誤りは xx…xxx のような巡回パターンも訂正することが出来ます。
全ビットが '1' になった誤りも検出できます。それ以外の誤りに対しては、およそ 92% の誤り検知能力を持っています。
情報ビット長や符号長、バースト訂正能力などが全て 8 の倍数なので色々と好都合です。
符号長は 6 の倍数でもあるので ASCII 文字などへのエンコード等にも便利に使えます。
必要なリソースの目安は、エンコードテーブルに 2k-byte、誤り訂正用に 256k-byte 程度となります。
(48,32) バースト誤り訂正符号 Demo [Java Web Start, 8KB]
⚠️ Demo の実行には
JAVA のインストール と
例外サイトへの追加 が必要です。
- Send code の Information data 部分をクリックすると該当ビットを反転出来ます。
- Error bit の任意の部分をクリックすると該当ビットを反転出来ます。
最初はランダムな値の Data とランダムな1ビットの誤りになっています。
- タイトル部分をクリックすると Information data がランダムに変更されます。
- Auto run 部分をクリックすると誤りテストを自動的に実行します。
左が 1-bit 誤り、右がバースト長が 0〜8-bit のバースト誤りのテストになっています。
(48,37) 5-bit バースト誤り訂正符号
この符号はバースト長が 5 までの誤りの訂正が可能です。
全ビットが '1' になった誤りも検出できます。それ以外の誤りに対しては、およそ 64% の誤り検知能力を持っています。
情報ビットの 37-bit を 5-bit アドレス付き 32-bit データとして考えると、
最大接続数が 32 のデバイス間通信に好適です。
必要なリソースの目安は、エンコードテーブルに 2.5k-byte、誤り訂正用に 8k-byte 程度となります。
(48,37) バースト誤り訂正符号 Demo [Java Web Start, 8KB]
⚠️ Demo の実行には
JAVA のインストール と
例外サイトへの追加 が必要です。
- Send code の Information data 部分をクリックすると該当ビットを反転出来ます。
- Error bit の任意の部分をクリックすると該当ビットを反転出来ます。
最初はランダムな値の Data とランダムな1ビットの誤りになっています。
- タイトル部分をクリックすると Information data がランダムに変更されます。
- Auto run 部分をクリックすると誤りテストを自動的に実行します。
左が 1-bit 誤り、右がバースト長が 0〜5-bit のバースト誤りのテストになっています。
(48,36) 2-bit ランダム、3-bit バースト誤り訂正符号
この符号は 2-bit のランダム誤りと 3-bit の巡回バースト誤りの訂正が可能です。
全ビットが '1' になった誤りは検出できません。それ以外の誤りに対しては、およそ 70% の誤り検知能力を持っています。
情報ビットの 36-bit を 4-bit アドレス付き 32-bit データとして考えると、
最大接続数が 16 のデバイス間通信に好適です。
必要なリソースの目安は、エンコードテーブルに 2.5k-byte、誤り訂正用に 16k-byte 程度となります。
(48,36) 誤り訂正符号 Demo [Java Web Start, 8KB]
⚠️ Demo の実行には
JAVA のインストール と
例外サイトへの追加 が必要です。
- Send code の Information data 部分をクリックすると該当ビットを反転出来ます。
- Error bit の任意の部分をクリックすると該当ビットを反転出来ます。
最初はランダムな値の Data とランダムな1ビットの誤りになっています。
- タイトル部分をクリックすると Information data がランダムに変更されます。
- Auto run 部分をクリックすると誤りテストを自動的に実行します。
左が 1-bit 誤り、右がバースト長が 0〜5-bit のバースト誤りのテストになっています。
(47,24) 5-bit ランダム誤り訂正符号
この (47, 24) 符号は 5 ビットまでのランダム誤りを訂正することが出来ます。
(24, 12) 拡大 Golay 符号のように 1 ビット拡大して (48, 24, 12) 5 ビット誤り訂正 6 ビット誤り検出符号にすると、
情報ビット長や符号長が8の倍数となって色々と好都合です。
拡大符号の全ての符号語の '1' の重みは 4 の倍数で、 12, 16, 20, 24, 28, 32, 36, 48 の何れかとなっています。
必要なリソースの目安は、エンコードテーブルに 6k-byte、誤り訂正用に 32M-byte 程度となります。
(47,24) ランダム誤り訂正符号 Demo [Java Web Start, 8KB]
⚠️ Demo の実行には
JAVA のインストール と
例外サイトへの追加 が必要です。
- Send code の Data 部分をクリックすると該当ビットを反転出来ます。
- Error bit の任意の部分をクリックすると該当ビットを反転出来ます。
最初はランダムな値の Data とランダムな1ビットの誤りになっています。
- タイトル部分をクリックすると Information data がランダムに変更されます。
- Auto run 部分をクリックすると誤りテストを自動的に実行します。
左から 1 ビットから 5 ビットのランダム誤りのテストになっています。
関連項目
Copyright (c) Finetune co., ltd.