このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
istrellis
有効なトレリス構造体に対して真
構文
[isok,status] = istrellis(s)
説明
[isok,status] = istrellis(s)
は、入力 s
が有効なトレリス構造体であるかどうかをチェックします。入力が有効なトレリス構造体の場合、isok
は 1 で、status
は空の文字ベクトルです。有効なトレリス構造体でない場合、isok
は 0 で、status
は s
が有効なトレリス構造体でない理由を示します。
有効なトレリス構造体は、次の表のようなフィールドをもつ MATLAB 構造体です。
符号化率 k/n の符号に対する有効なトレリス構造体のフィールド
トレリス構造体のフィールド | 次元 | 平均 |
---|---|---|
numInputSymbols | スカラー | 符号化器への入力シンボルの数: 2k |
numOutputSymbols | スカラー | 符号化器からの出力シンボルの数: 2n |
numStates | スカラー | 符号化器内の状態の数 |
nextStates | numStates 行 2k 列の行列 | 現在の状態と現在の入力のすべての組み合わせの次の状態 |
outputs | numStates 行 2k 列の行列 | 現在の状態と現在の入力のすべての組み合わせの出力 (8 進数) |
nextStates
行列において、各エントリは、0 ~ numStates
-1 の間の整数です。s 行 u 列目の要素は、開始状態が s-1 で入力ビットが 10 進表現 u-1 であるときに次の状態を示します。入力ビットを 10 進数に変換するには、最初の入力ビットを最上位ビット (MSB) として使用します。たとえば、nextStates
行列の 2 列目は、現在の入力値のセットが {0,...,0,1} であるときに、次の状態を保存します。
状態を 10 進値に変換するには、このルールを使用します。k が 1 を超える場合は、符号化器の最初の入力ストリームを受信するシフト レジスタは、状態番号に最下位のビットを与え、最終の入力ストリームを受信するシフト レジスタは、状態番号に最上位のビットを与えます。
outputs
行列において、s 行 u 列目の要素は、開始状態が s-1 で入力ビットが 10 進表現 u-1 であるときに、符号化器の出力を示します。10 進数値に変換するには、最初の出力ビットを MSB として使用します。
例
以下のコマンドはフィールドを非常にシンプルなトレリス構造体に集め、トレリス構造体の妥当性を確認します。
trellis.numInputSymbols = 2; trellis.numOutputSymbols = 2; trellis.numStates = 2; trellis.nextStates = [0 1;0 1]; trellis.outputs = [0 0;1 1]; [isok,status] = istrellis(trellis)
出力は以下のようになります。
isok = 1 status = ''
トレリスの別の例が畳み込み符号のトレリス表現にあります。
拡張機能
バージョン履歴
R2006a より前に導入