Demux
バーチャル ベクトル信号の要素を抽出して出力

ライブラリ:
Simulink /
Commonly Used Blocks
Simulink /
Signal Routing
HDL Coder /
Commonly Used Blocks
HDL Coder /
Signal Routing
説明
Demux ブロックは入力ベクトル信号の成分を抽出し、個別の信号を出力します。出力信号端子は上から下へ並べられます。
例
Demux ブロックを使用して、1 つの入力信号を必要な出力数に均等に配分できます。長さ 6 の入力ベクトルに対して、[出力数] パラメーターを 3
に設定した場合、Demux ブロックはサイズが 2 の信号を 3 つ生成します。
この動作を確認するには、モデル例を開いてシミュレートします。
mdl = "DemuxVectorUnspecified";
open_system(mdl)
sim(mdl);
Demux ブロックを使用してベクトル入力からベクトルの要素を抽出して出力するとき、ベクトル表現に -1 を使用することで、ブロックが対応する端子のサイズを動的に調整するよう指定できます。ベクトル表現が正の値と -1 の値の両方からなるとき、ブロックは正の値の端子に必要な数の要素を割り当てます。ブロックは、残りの要素を -1 の値の端子にできるだけ均等に分配します。
この例では、Demux ブロックの [出力数] パラメーターを [-1, 3, -1]
に設定します。このとき、ブロックは 3 つの信号を出力し、その中の 2 番目の信号の要素の数は常に 3 つになります。最初の信号と 3 番目の信号のサイズは入力信号のサイズによって決まります。入力ベクトルの要素数が 7 つの場合、Demux ブロックは、1 番目の端子に 2 つの要素、2 番目の端子に 3 つの要素、3 番目の端子に 2 つの要素を出力します。
この動作を確認するには、モデル例を開いてシミュレートします。
mdl = "DemuxVectorSpecified";
open_system(mdl)
sim(mdl);
拡張例
端子
入力
Demux ブロックがスカラー信号または小さいベクトルを選択するベクトル入力信号。
データ型: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| image
出力
入力ベクトルから抽出された出力信号。出力信号端子は上から下へ並べられます。ブロックの向きに関する端子の順番の詳細については、回転または反転したブロックの端子の位置の特定を参照してください。
データ型: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| image
パラメーター
出力数を指定し、オプションで各出力端子の次元を指定します。
この値は、出力数を示すスカラー、または各要素がブロックの出力端子幅を示すベクトルになります。ブロックは、入力信号のサイズと [出力数] パラメーター値から出力のサイズを決めます。
[出力の数] パラメーターでスカラーを指定し、すべての出力端子が接続されている場合に、Demux ブロックの出力側近くに新しい信号線を描画すると、ソフトウェアで端子が追加されて、[出力の数] パラメーターが更新されます。
幅 n
の入力ベクトルの場合、ブロックの出力は次の表のようになります。
パラメーター値 | ブロック出力 | 例およびコメント |
---|---|---|
|
| 入力が 3 要素ベクトルの場合、3 つの出力を指定すると、ブロックは 3 つのスカラー信号を出力します。 |
| エラー | この値はサポートされません。 |
| それぞれが | 入力が 6 要素ベクトルの場合、3 つの出力を指定すると、ブロックは 3 つの 2 要素ベクトルを出力します。 |
| それぞれが | 入力が 5 要素ベクトルの場合、3 つの出力を指定すると、ブロックは 2 つの 2 要素ベクトルと 1 つのスカラー信号を出力します。 |
| 幅 | 入力が 5 要素ベクトルの場合、出力として |
値が たとえば、合計幅が 14 の 4 要素配列があり、パラメーターが 3 番目の要素 ( |
|
|
| エラー | この値はサポートされません。 |
入力要素の数より少ない出力数を指定する場合、ブロックは要素をできるだけ均等に出力へ分散させます。
single(3)
などの倍精度以外の値の指定はサポートされていません。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | Outputs |
値: | '2' (既定値) | scalar in quotes | vector in quotes |
データ型: | char | string |
例: set_param(gcb,'Outputs','4')
既定では、ブロック アイコンはブロックの前景色で塗りつぶされたバーになります。ブロックのタイプ名をボックス内に含めたアイコンを表示するには、[なし]
を選択します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | DisplayOption |
値: | 'bar' (既定値) | 'none' |
例: set_param(gcb,'DisplayOption','none')
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
拡張機能
実際のデータ型、または機能のサポートは、ブロックの実装に依存します。
HDL Coder™ には、HDL の実装および合成されたロジックに影響する追加のコンフィギュレーション オプションがあります。
このブロックには 1 つの既定の HDL アーキテクチャがあります。
ConstrainedOutputPipeline | 既存の遅延を設計内で移動することによって出力に配置するレジスタの数。分散型パイプラインではこれらのレジスタは再分散されません。既定の設定は |
InputPipeline | 生成されたコードに挿入する入力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成されたコードに挿入する出力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
このブロックは、複素信号のコード生成をサポートしています。
PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。
実際のデータ型、または機能のサポートは、ブロックの実装に依存します。
バージョン履歴
R2006a より前に導入
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)