このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
TPC Encoder
ターボ積符号 (TPC) 符号化器
ライブラリ:
Communications Toolbox /
Error Detection and Correction /
Block
説明
TPC Encoder ブロックは、入力メッセージの 2 次元ターボ積符号 (TPC) エンコードを実行します。積符号は線形ブロック符号の 2 次元の連結です。線形ブロック符号は、2 つの誤りを訂正できるパリティ チェック符号、ハミング符号、または BCH 符号の可能性があります。拡張符号と短縮符号は、各次元で独立して適用することができます。2 次元 TPC 符号化の詳細については、ターボ積符号の構築を参照してください。
有効な符号ペアと各符号ペアの誤り訂正能力の詳細については、コンポーネント符号ペアを参照してください。
例
端子
入力
In — 符号化するメッセージ
列ベクトル
符号化する入力メッセージ ビット。列ベクトルとして指定します。
フルレングスの入力メッセージでは、列ベクトルの長さは、Number of rows in message, Kr と Number of columns in message, Kc の積でなければなりません。
短縮形の入力メッセージでは、列ベクトルの長さは、Number of rows in shortened message, Sr と Number of columns in shortened message, Sc の積でなければなりません。
データ型: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| Boolean
出力
Out — TPC 符号化されたメッセージ
列ベクトル
TPC 符号化されたメッセージ。入力信号と同じデータ型の列ベクトルとして返されます。
フルレングスの入力メッセージでは、列ベクトルの長さは、Number of rows in code, Nr と Number of columns in code, Nc の積です。
短縮形の入力メッセージでは、列ベクトルの長さは、(NR–KR+SR) および (NC–KC+SC) の積です。ここで、
NR は Number of rows in code, Nr の値です。
KR は Number of rows in message, Kr の値です。
SR は Number of rows in shortened message, Sr の値です。
NC は Number of columns in code, Nc の値です。
KC は Number of columns in message, Kc の値です。
SC は Number of columns in shortened message, Sc の値です。
パラメーター
Extended codes — TPC の行パラメーターの拡張符号インジケーター
on
(既定値) | off
Extended codes を選択すると、Number of rows in code, Nr と Number of rows in message, Kr の一覧には、拡張された個々の符号ペア (NR,KR) の有効な値が含まれます。
Extended codes をクリアすると、Number of rows in code, Nr と Number of rows in message, Kr の一覧には、拡張されていない個々の符号ペア (NR,KR) の有効な値が含まれます。
Number of rows in code, Nr — 積の符号行列の行数
16
(既定値) | 整数
積の符号行列 NR の行数。整数値の一覧は、Extended codes の設定によって異なります。
Number of rows in message, Kr — メッセージ行列の行数
11
(既定値) | 整数
メッセージ行列 KR の行数。整数値の一覧は、Extended codes および Number of rows in code, Nr の設定によって異なります。
Specify shortened message length — 行の短縮メッセージ長の指定
off
(既定値) | on
[Specify shortened message length] を選択して、Number of rows in shortened message, Sr の値を指定します。
Number of rows in shortened message, Sr — 短縮メッセージ行列の行数
9
(既定値) | 整数
短縮メッセージ行列 SR の行数。KR 以下の整数として指定します。このパラメーターを指定する場合は、フルレングスの NR および KR の値を入力して (NR,KR) 符号ペアを指定します。この符号ペアは、(NR–KR+SR,SR) 符号ペアに短縮されます。ここで、
NR は Number of rows in code, Nr の値です。
KR は Number of rows in message, Kr の値です。
SR は Number of rows in shortened message, Sr の値です。
依存関係
このパラメーターを有効にするには、Specify shortened message length を選択します。
Extended codes — TPC の列パラメーターの拡張符号インジケーター
on
(既定値) | off
Extended codes を選択すると、Number of columns in code, Nc と Number of columns in message, Kc の一覧には、拡張された個々の符号ペア (NC,KC) の有効な値が含まれます。
Extended codes をクリアすると、Number of columns in code, Nc と Number of columns in message, Kc の一覧には、拡張されていない個々の符号ペア (NC,KC) の有効な値が含まれます。
Number of columns in code, Nc — 積の符号行列の列数
32
(既定値) | 整数
積の符号行列 NC の列数。整数値の一覧は、Extended codes の設定によって異なります。
Number of columns in message, Kc — メッセージ行列の列数
26
(既定値) | 整数
メッセージ行列 KC の列数。整数値の一覧は、Extended codes および Number of columns in code, Nc の設定によって異なります。
Specify shortened message length — 列の短縮メッセージ長の指定
off
(既定値) | on
[Specify shortened message length] を選択して、Number of columns in shortened message, Sc の値を指定します。
Number of columns in shortened message, Sc — 短縮メッセージ行列の列数
22
(既定値) | 整数
短縮メッセージ行列 SC の列数。整数として指定します。このパラメーターを指定する場合は、フルレングスの NC および KC の値を入力して (NC,KC) 符号ペアを指定します。この符号ペアは、(NC–KC+SC, SC) 符号ペアに短縮されます。ここで、
NC は Number of columns in code, Nc の値です。
KC は Number of columns in message, Kc の値です。
SC は Number of columns in shortened message, Sc の値です。
依存関係
このパラメーターを有効にするには、Specify shortened message length を選択します。
シミュレーション実行方法 — 実行するシミュレーションのタイプ
コード生成
(既定値) | インタープリター型実行
実行するシミュレーションのタイプ。[コード生成]
または [インタープリター型実行]
として指定します。
コード生成
— 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink® は対象ブロックの C コードを生成します。このモデルは、モデルが変更されない限り以降のシミュレーションで C コードを再利用します。このオプションを使用すると、シミュレーションの起動時間は長くなりますが、以降のシミュレーションの速度は[インタープリター型実行]
オプションを使用した場合よりも速くなります。インタープリター型実行
— MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションを使用すると、起動時間が短縮されますが、以降のシミュレーションの速度は[コード生成]
オプションを使用した場合よりも遅くなります。このモードで、ブロックのソース コードをデバッグできます。
詳細については、シミュレーション モード (Simulink)を参照してください。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
詳細
コンポーネント符号ペア
次の表に、行 (NR,KR) パラメーターおよび列 (NC,KC) パラメーターの、サポートされているコンポーネント符号のペアを示します。
NR と KR は、それぞれ積符号行列とメッセージ行列の行数を表します。
NC と KC は、それぞれ積符号行列とメッセージ行列の列数を表します。
各符号タイプ内で、任意の 2 つのコンポーネント符号のペアで 2 次元 TPC 符号を作成できます。この表には、各符号ペアの誤り訂正能力も含まれています。
コード タイプ | コンポーネント符号ペア (NR,KR) および (NC,KC) | 誤り訂正能力 (T) |
ハミング符号 | (255,247) | 1 |
(127,120) | 1 | |
(63,57) | 1 | |
(31,26) | 1 | |
(15,11) | 1 | |
(7,4) | 1 | |
拡張ハミング符号 | (256,247) | 1 |
(128,120) | 1 | |
(64,57) | 1 | |
(32,26) | 1 | |
(16,11) | 1 | |
(8,4) | 1 | |
BCH 符号 | (255,239) | 2 |
(127,113) | 2 | |
(63,51) | 2 | |
(31,21) | 2 | |
(15,7) | 2 | |
拡張 BCH 符号 | (256,239) | 2 |
(128,113) | 2 | |
(64,51) | 2 | |
(32,21) | 2 | |
(16,7) | 2 | |
パリティ チェック コード | (256,255) | - |
(128,127) | - | |
(64,63) | - | |
(32,31) | - | |
(16,15) | - | |
(8,7) | - | |
(4,3) | - |
ターボ積符号の構築
ターボ積符号 (TPC) は、前方誤り訂正 (FEC) コードとして使用される連結コードの形式です。組織線形ブロック符号などの 2 つ以上のコンポーネント ブロック コードは、TPC を構築するために使用されます。この符号化器は、2 つの線形ブロック符号を使用して、[1]で説明されている 2 次元積符号の符号化を実装します。
TPC 符号化器は、フルレングスのメッセージまたは短縮メッセージを受け入れます。
フルレングスの入力メッセージは、指定された 2 次元 TPC 符号ペアを使用して符号化されます。行方向の符号化では (NC, KC) 符号ペアを使用し、列方向の符号化では (NR, KR) 符号ペアを使用します。入力ベクトル長は、KR · KC でなければなりません。入力メッセージ ビットのベクトルは、KR 行 KC 列の行列に調整されます。
行方向の符号化では、行あたり KC ビットの (NC, KC) の体系的な線形ブロック符号化器を使用します。行方向の符号化の結果は、各行に追加されたパリティ ビットを含む KR 行 NC 列の行列になります。
次に、列方向の符号化では、各 NC 列で (NR,KR) の体系的な線形ブロック符号化器が使用されます。この 2 次元 TPC 符号化を初期の KR 行 KC 列の行列に適用すると、各行および各列に追加されたパリティ ビットを含む NR 行 NC 列の行列になります。
2 次元 TPC フル符号行列は、長さ NR · NC の列ベクトルに形状変更されて、TPC 符号化された出力として返されます。
短縮形の入力メッセージは、指定された 2 次元 TPC 符号ペアを使用して符号化されます。行方向の符号化では (NC,KC) 符号ペアを使用し、列方向の符号化では (NR,KR) 符号ペアを使用します。入力ベクトル長は、SR · SC でなければなりません。入力短縮メッセージ ビットのベクトルは、SR 行 SC 列の行列に調整されます。短縮メッセージ行列は、メッセージ行列の先頭にゼロをパディングすることで 2 次元の先頭に付加します。結果として得られる行列は、KR 行 KC 列の行列です。
行方向の符号化では、行あたり KC ビットの (NC, KC) の体系的な線形ブロック符号化器を使用します。行方向の符号化の結果は、各行に追加されたパリティ ビットを含む KR 行 NC 列の行列になります。
次に、列方向の符号化では、各 NC 列で (NR,KR) の体系的な線形ブロック符号化器が使用されます。
この 2 次元 TPC 符号化を初期の KR 行 KC 列の行列に適用し、出力からゼロ パディングされたビットを除外すると、(NR–KR+SR) 行 (NC–KC+SC) 列の行列になります。この行列には、各行および各列に追加されたパリティ ビットが含まれます。
2 次元 TPC 短縮形符号行列は、長さ (NR–KR+SR) · (NC–KC+SC) の列ベクトルに形状変更されて、TPC 符号化された出力として返されます。
参照
[1] Pyndiah, R. M. "Near-Optimum Decoding of Product Codes: Block Turbo Codes." IEEE Transactions on Communications. Vol. 46, Number 8, August 1998, pp. 1003–1010.
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2018b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)