muxintrlv
遅延を指定しシフト レジスタを使用したシンボルの並べ替え
構文
intrlved = muxintrlv(data,delay)
[intrlved,state] = muxintrlv(data,delay)
[intrlved,state] = muxintrlv(data,delay,init_state)
説明
intrlved = muxintrlv(data,delay)
は内部シフト レジスタを使用して各要素が遅延値をもつ data
の要素を置換します。delay
はエントリが各シフト レジスタが保持できるシンボル数を示すベクトルです。delay
の長さはシフト レジスタ数です。関数がデータを処理する前に、すべてのシフト レジスタをゼロで初期化します。data
が複数の行と列をもつ行列である場合、この関数は列を個別に処理します。
[intrlved,state] = muxintrlv(data,delay)
はシフト レジスタの最終状態を保持する構造体を出力します。state.value
は任意のシフトされないシンボルを保存します。state.index
はシフトされる次のレジスタのインデックスです。
[intrlved,state] = muxintrlv(data,delay,init_state)
はシフト レジスタを init_state.value
に含まれるシンボルで初期化し、最初の入力シンボルを init_state.index
で参照されるシフト レジスタへ導きます。構造体 init_state
は通常、この同じ関数への前の呼び出しからの state
出力で、対応するデインターリーバーには無関係です。
例
MATLAB で連続した整数のシーケンスを使用した畳み込みインターリーブとデインターリーブと関数 convintrlv
のリファレンス ページの例は muxintrlv
を使用します。
muxdeintrlv
のリファレンス ページの例はこの関数での state
出力および init_state
入力の使用方法を示します。この関数のプロセスは同じです。
参考文献
[1] Heegard, Chris, and Stephen B. Wicker, Turbo Coding, Boston, Kluwer Academic Publishers, 1999.
バージョン履歴
R2006a より前に導入