Matrix Helical Scan Interleaver
行列要素を対角線上に選択して入力シンボルを並べ替える
ライブラリ
Interleaving の Block サブライブラリ
説明
Matrix Helical Scan Interleaver ブロックは、行列に対して行ごとに入力シンボルを入力した後、その行列の内容をらせん状に出力端子に送信することにより、ブロック インターリーブを実行します。[Number of rows] と [Number of columns] パラメーターの値が、ブロック内部の処理で使われる行列の次元です。
らせん状とは、ブロックによる出力シンボルの選択を、行列の対角方向に実行することを意味します。ブロックが必要に応じて行列の端を超えてラッピングした後では、各対角の要素数はパラメーター [Number of columns] に一致します。ブロックは行インデックスと列インデックスをともに増加させるように対角を横切ります。最初の対角以降の各対角は前の対角の最初の要素の 1 行下から開始されます。
[Array step size] パラメーターは個々の対角の勾配、つまり列インデックスが 1 つ増加するごとに行インデックスが増加する値です。このパラメーターは 0 と [Number of rows] の間の整数でなければなりません。[Array step size] パラメーターがゼロの場合、ブロックはインターリーブを実行せず、出力は入力と同じになります。
このブロックは、列ベクトル入力信号を受け入れます。入力ベクトルの要素数は [Number of rows] と [Number of columns] の積に一致しなければなりません。
このブロックは次のデータ型を受け入れます。int8
、uint8
、int16
、uint16
、int32
、uint32
、boolean
、single
、double
および固定小数点。出力信号のデータ型は、入力信号から継承されます。
パラメーター
- Number of rows
ブロック内部の処理で使われる行列の行数です。
- Number of columns
ブロック内部の処理で使われる行列の列数です。
- Array step size
ブロックが読み込む対角の勾配です。
例
[Number of rows] と [Number of columns] パラメーターの値がそれぞれ 6 と 4 の場合、インターリーバーは 6 行 4 列の行列をその内部処理に使用します。[Array step size] パラメーターが 1 の場合、行列の対角部は次の図のようになります。個々の対角部となる位置は色分けされており、出力信号中でこれらの対角部は暗い色から明るい色の順番で配置されます。
入力信号 [1:24]'
に対してブロックは以下の出力を生成します。
[1; 6; 11; 16; 5; 10; 15; 20; 9; 14; 19; 24; 13; 18; 23;... 4; 17; 22; 3; 8; 21; 2; 7; 12]
拡張機能
バージョン履歴
R2006a より前に導入