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 つ生成します。
指定した出力の次元を使用したベクトル要素の抽出
Demux ブロックを使用してベクトル入力からベクトルの要素を抽出して出力するとき、ベクトル表現に -1 を使用することで、ブロックが対応する端子のサイズを動的に調整するよう指定できます。ベクトル表現が正の値と -1 の値の両方からなるとき、ブロックは正の値の端子に必要な数の要素を割り当てます。ブロックは、残りの要素を -1 の値の端子にできるだけ均等に分配します。
この例では、Demux ブロックの [出力数] パラメーターを [-1, 3, -1] に設定します。このとき、ブロックは 3 つの信号を出力し、その中の 2 番目の信号の要素の数は常に 3 つになります。最初の信号と 3 番目の信号のサイズは入力信号のサイズによって決まります。入力ベクトルの要素数が 7 つの場合、Demux ブロックは、1 番目の端子に 2 つの要素、2 番目の端子に 3 つの要素、3 番目の端子に 2 つの要素を出力します。
端子
入力
Port_1 — 信号の抽出と出力を行う非バス ベクトル信号を受け入れる
Simulink® ソフトウェアでサポートされる任意の非バス データ型の実数値または複素数値
Demux ブロックがスカラー信号または小さいベクトルを選択するベクトル入力信号。
データ型: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| image
出力
Port_1 — 入力ベクトル信号から抽出された信号を出力
Simulink ソフトウェアでサポートされる任意のデータ型の実数値または複素数値をもつ非バス信号
入力ベクトルから抽出された出力信号。出力信号端子は上から下へ並べられます。ブロックの向きに関する端子の順番の詳細については、回転または反転したブロックの端子の位置の特定を参照してください。
データ型: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| image
パラメーター
出力数 — 出力数
2 (既定値) | スカラー | ベクトル
出力数を指定し、オプションで各出力端子の次元を指定します。
この値は、出力数を示すスカラー、または各要素がブロックの出力端子幅を示すベクトルになります。ブロックは、入力信号のサイズと [出力数] パラメーター値から出力のサイズを決めます。
[出力の数] パラメーターでスカラーを指定し、すべての出力端子が接続されている場合に、Demux ブロックの出力側近くに新しい信号線を描画すると、ソフトウェアで端子が追加されて、[出力の数] パラメーターが更新されます。
幅 n
の入力ベクトルの場合、ブロックの出力は次の表のようになります。
パラメーター値 | ブロック出力 | 例およびコメント |
---|---|---|
|
| 入力が 3 要素ベクトルの場合、3 つの出力を指定すると、ブロックは 3 つのスカラー信号を出力します。 |
| エラー | この値はサポートされません。 |
| それぞれが | 入力が 6 要素ベクトルの場合、3 つの出力を指定すると、ブロックは 3 つの 2 要素ベクトルを出力します。 |
| それぞれが | 入力が 5 要素ベクトルの場合、3 つの出力を指定すると、ブロックは 2 つの 2 要素ベクトルと 1 つのスカラー信号を出力します。 |
| 幅 | 入力が 5 要素ベクトルの場合、出力として |
値が たとえば、合計幅が 14 の 4 要素配列があり、パラメーターが 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')
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
実際のデータ型、または機能のサポートは、ブロックの実装に依存します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
HDL Coder™ には、HDL の実装および合成されたロジックに影響する追加のコンフィギュレーション オプションがあります。
このブロックには 1 つの既定の HDL アーキテクチャがあります。
ConstrainedOutputPipeline | 既存の遅延を設計内で移動することによって出力に配置するレジスタの数。分散型パイプラインではこれらのレジスタは再分散されません。既定の設定は |
InputPipeline | 生成されたコードに挿入する入力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成されたコードに挿入する出力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
このブロックは、複素信号のコード生成をサポートしています。
PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
実際のデータ型、または機能のサポートは、ブロックの実装に依存します。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)