Algebraic Interleaver
代数的に求めた置換テーブルを使用した入力シンボルの並べ替え
ライブラリ
Interleaving の Block サブライブラリ
説明
Algebraic Interleaver ブロックは、代数的に求められた置換テーブルを使用して入力ベクトルの要素を並べ替えます。[Number of elements] パラメーターである N は、入力ベクトルにどの程度の数があるかを示します。このブロックは、列ベクトル入力信号を受け入れます。
このブロックは次のデータ型を受け入れます。int8
、uint8
、int16
、uint16
、int32
、uint32
、boolean
、single
、double
および固定小数点。出力信号のデータ型は、入力信号から継承されます。
[Type] パラメーターは、ブロックが適切な置換テーブルを生成するために使用する代数的手法を示します。選択肢としては、[Takeshita-Costello]
および [Welch-Costas]
があります。これらの手法のそれぞれには、手法に固有のパラメーターと制限があります。
[Type] を
[Welch-Costas]
に設定した場合、N + 1 は素数でなければなりません。[Primitive element] パラメーターは有限体 GF(N + 1) の原始元を表す 1 から N までの整数 A です。これは、GF(N + 1) の非ゼロの各要素を、A の整数乗として表現できることを意味します。Welch-Costas インターリーバーでは、置換は、整数 k を mod(Ak,N + 1) - 1 にマップします。
[Type] が
[Takeshita-Costello]
に設定された場合、いくつかの整数 m に対しては N は 2m にしなければなりません。[Multiplicative factor] パラメーター k は N 未満の奇数の整数でなければなりません。[Cyclic shift] パラメーター h は N 未満の非負の整数でなければなりません。Takeshita-Costello インターリーバーは n 番目の要素が以下となる、長さ N の "循環ベクトル" を使用します。
この場合、n は 1 から N までの整数です。中間の置換関数は、次の関係を使用することで取得されます。
ここで、
インターリーバーの実際の置換ベクトルは、置換ベクトル π の要素を [Cyclic shift] パラメーターの h 分だけ、循環的にシフトした結果です。
パラメーター
- Type
ブロックがインターリーブに使用する置換テーブルのタイプ。
- Number of elements
入力ベクトルの要素の数 N。
- Multiplicative factor
インターリーバーの循環ベクトルを計算するために使用する因子。このフィールドは、[Type] が
[Takeshita-Costello]
に設定されているときにだけ表示されます。- Cyclic shift
ブロックが置換テーブルを作成するときにインデックスをシフトする量。このフィールドは、[Type] が
[Takeshita-Costello]
に設定されているときにだけ表示されます。- Primitive element
有限体 GF(N+1) の次数 N の要素。このフィールドは、[Type] が
[Welch-Costas]
に設定されているときにだけ表示されます。
ペア ブロック
参考文献
[1] Heegard, Chris and Stephen B. Wicker. Turbo Coding. Boston: Kluwer Academic Publishers, 1999.
[2] Takeshita, O. Y. and D. J. Costello, Jr. "New Classes Of Algebraic Interleavers for Turbo-Codes." Proc. 1998 IEEE International Symposium on Information Theory, Boston, Aug. 16-21, 1998. 419.
拡張機能
バージョン履歴
R2006a より前に導入