tpcenc
ターボ積符号 (TPC) 符号化器
説明
例
拡張されたハミング符号と拡張 BCH 符号で 2 次元ターボ積符号化 (TPC) を使用することでランダム ビット ベクトルを符号化します。
TPC 符号化用の (N,K) 符号ペアを指定します。
N = [32;64]; K = [21;57];
ランダム メッセージ ビットの列ベクトルを生成します。メッセージ ビットの目的の長さは、K
の要素の積です。
msg = randi([0 1],prod(K),1);
メッセージを TPC 符号化します。
code = tpcenc(msg,N,K);
符号化されたコードワードの長さが N
の要素の積であることを確認します。
size(code)
ans = 1×2
2048 1
prod(N)
ans = 2048
2 次元ターボ積符号化 (TPC) を使用してメッセージの短縮化を適用し、ランダム ビット ベクトルを符号化します。
TPC 符号化用の (N,K) 符号ペアと S を指定します。
N = [32;64]; K = [21;57]; S = [19;24];
ランダム メッセージ ビットの列ベクトルを生成します。短縮メッセージ ビットの目的の長さは、S
の要素の積です。
msg = randi([0 1],prod(S),1);
短縮メッセージを TPC 符号化します。
code = tpcenc(msg,N,K,S);
符号化されたコードワードの長さが (N-K+S
) の要素の積であることを確認します。
size(code)
ans = 1×2
930 1
prod(N-K+S)
ans = 930
入力引数
短縮メッセージ長。2 要素の整数ベクトル [SR; SC] として指定します。短縮メッセージの場合、符号化するメッセージ ビットを含む入力列ベクトルは、SR 行 SC 列の行列に調整されます。SR は、行列の行数を表します。SC は、行列の列数を表します。SR および SC の詳細については、ターボ積符号の構築を参照してください。
このパラメーターを指定する場合は、(N(i)–K(i)+S(i), S(i)) 符号に短縮されたフルレングスの TPC 符号の N ベクトルと K ベクトルを指定します。
データ型: double
出力引数
詳細
次の表に、行 (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. Volume 46, Number 8, August 1998, pp. 1003–1010.
拡張機能
使用上の注意および制限:
TPC パラメーター
N
、K
およびS
は定数値でなければなりません。これらの各パラメーターで使用される値が変化しない場合、式または変数で代入することができます。
バージョン履歴
R2018a で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)