ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Gain

入力に定数を乗算

ライブラリ

Math Operations

説明

Gain ブロックは、入力に定数値 (ゲイン) を乗算します。入力とゲインには、スカラー、ベクトル、または行列を指定できます。

ゲインの値は [ゲイン] パラメーターで指定します。[乗算] パラメーターによって、要素ごとの乗算または行列乗算を指定することができます。行列乗算の場合、このパラメーターによって乗算の順序も指定できます。

ゲインは、double から、ブロックのパラメーター属性のデータ型アシスタントで指定されたデータに、最近傍の丸めと飽和を使用して変換されます。次に、入力とゲインが乗算され、結果は、指定された丸めとオーバーフロー モードを使用して出力データ型に変換されます。

サポートするデータ型

Gain ブロックは、Simulink® によってサポートされる任意の数値データ型の実数または複素数のスカラー、ベクトル、または行列を受け入れます。Gain ブロックは、固定小数点データ型をサポートします。Gain ブロックの入力が実数であり、ゲインが複素数の場合、出力は複素数です。

詳細は、Simulink ドキュメンテーションの「 Simulink でサポートされているデータ型」を参照してください。

パラメーターとダイアログ ボックス

Gain ブロック ダイアログ ボックスの [メイン] ペインは、次のように表示されます。

Gain ブロック ダイアログ ボックスの [信号属性] ペインは、次のように表示されます。

Gain ブロック ダイアログ ボックスの [パラメーター属性] ペインは、次のように表示されます。

ゲイン

入力に乗算する値を指定します。

設定

既定の設定: 1
最小値: [パラメーターの最小値] パラメーターの値
最大値: [パラメーターの最大値] パラメーターの値

ゲインには、スカラー、ベクトル、または行列を指定できます。

コマンド ライン情報

ブロック固有のパラメーター」を参照してください。

乗算

乗算モードを指定します。

設定

既定の設定: 要素単位 (K.*u)

要素単位 (K.*u)

入力の各要素にゲインの各要素を乗算します。必要に応じてブロックは拡張を行い、入力とゲインを同じ次元にします。

Matrix(K*u)

入力とゲインは、入力を 2 番目のオペランドとして行列乗算されます。

Matrix(u*K)

入力とゲインは、入力を 1 番目のオペランドとして行列乗算されます。

Matrix(K*u)(u vector)

入力とゲインは、入力を 2 番目のオペランドとして行列乗算されます。このモードは [行列 (K*u)] と同じですが、次元の決め方が異なります。

Km 行 n 列の行列であるとします。Matrix(K*u)(u vector) は、入力を長さ n のベクトルに設定し、出力を長さ m のベクトルに設定します。それに対して、[行列 (K*u)] は伝播を使用して入力と出力の次元を決定します。m 行 n 列ゲイン行列の場合、入力は n 行 q 列行列に伝播でき、出力は m 行 q 列行列になります。

コマンド ライン情報

ブロック固有のパラメーター」を参照してください。

サンプル時間 (継承は -1)

サンプルの時間間隔を指定します。

設定

既定の設定: -1

サンプル時間を継承するには、このパラメーターを -1 に設定します。

詳細は、オンライン ドキュメンテーションの「 サンプル時間の指定」を参照してください。

コマンド ライン情報

ブロック固有のパラメーター」を参照してください。

出力の最小値

Simulink がチェックする出力範囲の下限値。

設定

既定の設定: [] (指定なし)

有限で実数の double のスカラー値としてこの値を指定します。

    メモ:   このブロックのデータ型としてバス オブジェクトを指定した場合、ブロックのバス データの最小値を設定しないでください。Simulink によりこの設定は無視されます。代わりに、データ型として指定したバス オブジェクトのバス要素の最小値を設定してください。バス要素の最小値パラメーターの詳細は、Simulink.BusElement を参照してください。

Simulink は、最小値を使って以下を行います。

    メモ:   [出力の最小値] により、実際の出力信号が飽和する (またはクリップされる) ことはありません。 代わりに、Saturation ブロックを使用してください。

コマンド ライン情報

コマンド ライン情報は、「ブロック固有のパラメーター」を参照してください。

出力の最大値

Simulink がチェックする出力範囲の上限値。

設定

既定の設定: [] (指定なし)

有限で実数の double のスカラー値としてこの値を指定します。

    メモ:   このブロックのデータ型としてバス オブジェクトを指定した場合、ブロックのバス データの最大値を設定しないでください。Simulink によりこの設定は無視されます。代わりに、データ型として指定したバス オブジェクトのバス要素の最大値を設定します。バス要素の最大値パラメーターの詳細は、Simulink.BusElement を参照してください。

Simulink は、最大値を使って以下を行います。

    メモ:   [出力の最大値] により、実際の出力信号が飽和する (またはクリップされる) ことはありません。 代わりに、Saturation ブロックを使用してください。

コマンド ライン情報

コマンド ライン情報は、「ブロック固有のパラメーター」を参照してください。

出力データ型

出力データ型を指定します。

設定

既定の設定: [継承: 内部ルールによる継承

継承:内部ルールによる継承

Simulink は、組み込みターゲット ハードウェアのプロパティを考慮しつつ、数値の精度、パフォーマンス、生成コードのサイズのバランスが取れるように、データ型を選択します。組み込みターゲット ハードウェアの設定を変更すると、内部ルールにより選択されるデータ型が変更される可能性があります。たとえば、ブロックが int8 型の入力に int16 のゲインを乗算し、ターゲット ハードウェア タイプとして [ASIC/FPGA] が指定されている場合、出力データ型は sfix24 です。ターゲット ハードウェアとして [Unspecified (assume 32-bit Generic)] (汎用 32 ビット マイクロプロセッサ) が指定された場合、出力データ型は int32 です。ターゲット マイクロプロセッサによって指定される語長では出力範囲に対応できない場合、Simulink はシミュレーション診断ビューアーにエラー メッセージを表示します。

コードの効率と数値の精度が、ソフトウェアにより同時に最適化されるとは限りません。内部ルールが、数値精度またはパフォーマンスに対する要求を満たさない場合は、以下のいずれかを行ってください。

  • 出力データ型を明示的に指定する。

  • 単に [継承:入力と同じ] を選択します。

  • fixdt(1,32,16) のように既定のデータ型を明示的に指定し、固定小数点ツールを使用してモデルにデータ型を推奨する。詳細は、「fxptdlg」を参照してください。

  • 独自の継承ルールを指定するには、[継承:逆伝播による継承] を使用し、Data Type Propagation ブロックを使用します。このブロックの使い方は、Signal Attributes ライブラリ の Data Type Propagation Examples ブロックを参照してください。

継承:逆伝播による継承]

駆動ブロックのデータ型を使用します。

[継承: 入力と同じ]

入力信号のデータ型を使用します。

[double]

出力データ型は double です。

[single]

出力データ型は single です。

[int8]

出力データ型は int8 です。

[uint8]

出力データ型は uint8 です。

[int16]

出力データ型は int16 です。

[uint16]

出力データ型は uint16 です。

[int32]

出力データ型は int32 です。

[uint32]

出力データ型は uint32 です。

[fixdt(1,16,0)]

出力データ型は固定小数点 fixdt(1,16,0) です。

[fixdt(1,16,2^0,0)]

出力データ型は固定小数点 fixdt(1,16,2^0,0) です。

[<data type expression>]

データ型オブジェクトを使用します。たとえば、Simulink.NumericType などです。

コマンド ライン情報

「ブロック固有のパラメーター」を参照してください。

参考

詳細は、「ブロックの出力データ型の指定」を参照してください。

モード

指定するデータのカテゴリを選択します。

設定

既定の設定: [継承]

[継承]

データ型の規則の継承。[継承] を選択すると、右側にある 2 番目のメニュー/テキスト ボックスが有効になります。次の選択肢からいずれかを選択します。

  • Inherit via internal rule (既定の設定)

  • Inherit via back propagation

  • Same as input

[組み込み]

組み込みのデータ型。[組み込み] を選択すると、右側にある 2 番目のメニュー/テキスト ボックスが有効になります。次の選択肢からいずれかを選択します。

  • double (既定)

  • single

  • int8

  • uint8

  • int16

  • uint16

  • int32

  • uint32

固定小数点

固定小数点データ型。

データ型を評価する式。[] を選択すると、右側から 2 番目のメニュー/テキスト ボックスが有効になります。そこに式を入力することができます。

依存関係

[データ型アシスタントを表示] ボタンをクリックすると、このパラメーターが有効になります。

コマンド ライン情報

「ブロック固有のパラメーター」を参照してください。

参考

「データ型アシスタントを利用したデータ型の指定」を参照してください。

データ型のオーバーライド

この信号のデータ型オーバーライド モードを指定します。

設定

既定の設定: [継承]

[継承]

コンテキストからデータ型オーバーライド設定を継承します。コンテキストとはブロックのことで、信号を使用している Simulink の Simulink.Signal オブジェクトまたは Stateflow® チャートです。

[オフ]

コンテキストのデータ型オーバーライド設定を無視し、信号に対して指定された固定小数点データ型を使用します。

ヒント

個々のデータ型に対してデータ型オーバーライドをオフにする機能により、データ型オーバーライドを適用する際に、モデル内のデータ型をさらに効果的に制御できます。たとえば、このオプションを使用すると、データ型オーバーライド設定にかかわらず、データ型が下流ブロックの要件を満たすことを確認できます。

依存関係

このパラメーターは、[モード][組み込み] または [固定小数点] の場合にのみ表示されます。

符号付き/なし

固定小数点データを符号付きにするか、符号なしにするかを指定します。

設定

既定の設定: [符号付き]

[符号付き]

符号付き固定小数点データを指定します。

[符号なし]

符号なし固定小数点データを指定します。

依存関係

[モード][固定小数点] を選択すると、このパラメーターが有効になります。

コマンド ライン情報

「ブロック固有のパラメーター」を参照してください。

参考

詳細は、「固定小数点データ型の指定」を参照してください。

語長

量子化された整数をもつ語のビット サイズを指定します。

設定

既定の設定: 16

最小値: 0

最大値: 32

依存関係

[モード][固定小数点] を選択すると、このパラメーターが有効になります。

コマンド ライン情報

「ブロック固有のパラメーター」を参照してください。

参考

詳細は、「固定小数点データ型の指定」を参照してください。

スケーリング

オーバーフローを避け、量子化誤差を最小限に抑えるための固定小数点データのスケーリング方法を指定します。

設定

既定の設定: 2 進小数点

2 進小数点

2 進小数点の位置を指定します。

勾配とバイアス

勾配とバイアスを入力します。

依存関係

[モード][固定小数点] を選択すると、このパラメーターが有効になります。

[2 進小数点] を選択すると、以下が有効になります。

  • 小数部の長さ

  • 最高精度のスケーリングを計算

[勾配とバイアス] を選択すると、以下が有効になります。

  • 勾配

  • バイアス

  • 最高精度のスケーリングを計算

コマンド ライン情報

「ブロック固有のパラメーター」を参照してください。

参考

「固定小数点データ型の指定」を参照してください。

小数部の長さ

固定小数点データ型の小数部の長さを指定します。

設定

既定の設定: 0

2 進小数点には、正の整数または負の整数を入力できます。

依存関係

[スケーリング][2 進小数点] を選択すると、このパラメーターが有効になります。

コマンド ライン情報

「ブロック固有のパラメーター」を参照してください。

参考

詳細は、「固定小数点データ型の指定」を参照してください。

勾配

固定小数点データ型の勾配を指定します。

設定

既定の設定: 2^0

任意の正の実数を指定します。

依存関係

[スケーリング][勾配とバイアス] を選択すると、このパラメーターが有効になります。

コマンド ライン情報

「ブロック固有のパラメーター」を参照してください。

参考

詳細は、「固定小数点データ型の指定」を参照してください。

バイアス

固定小数点データ型のバイアスを指定します。

設定

既定の設定: 0

任意の実数を指定します。

依存関係

[スケーリング][勾配とバイアス] を選択すると、このパラメーターが有効になります。

コマンド ライン情報

「ブロック固有のパラメーター」を参照してください。

参考

詳細は、「固定小数点データ型の指定」を参照してください。

固定小数点ツールによる変更に対して出力データ型の設定をロックする

固定小数点ツールや固定小数点アドバイザーによる変更を避けるために、このブロックの出力データ型の設定をロックします。

設定

既定の設定: オフ

オン

このブロックの出力データ型設定をロックします。

オフ

固定小数点ツールや固定小数点アドバイザーがこのブロックの出力データ型の設定を変更できます。

コマンド ライン情報

コマンド ライン情報は、「ブロック固有のパラメーター」を参照してください。

参考

詳細は、「[出力データ型の設定をロックする] の使用」を参照してください。

整数丸めモード

固定小数点演算の丸めモードを指定します。

設定

既定の設定: 負の方向 (Floor)

正方向の丸め

正の無限大方向に正負の値を丸めます。MATLAB® 関数 ceil と等価です。

最も近い偶数方向の丸め

最近傍で表現できる値に数値を丸めます。同順位が発生した場合は、最も近い偶数の整数に丸めます。Fixed-Point Designer™ 関数 convergent と等価です。

負の方向 (Floor)

負の無限大方向に正負の値を丸めます。MATLAB 関数 floor と等価です。

最も近い整数方向の丸め

最近傍で表現できる値に数値を丸めます。同順位が発生した場合は、正の無限大方向に丸めます。Fixed-Point Designer 関数 nearest と等価です。

整数方向の丸め

最近傍で表現できる値に数値を丸めます。同順位が発生した場合は、正の数値を正の無限大方向、負の数値を負の無限大方向に丸めます。Fixed-Point Designer 関数 round と等価です。

シンプルな丸め

下限値への丸めとゼロへの丸めのいずれかを自動的に選択し、できるだけ効率の高い丸めコードを生成します。

ゼロの方向 (Zero)

ゼロ方向に数値を丸めます。MATLAB 関数 fix と等価です。

コマンド ライン情報

コマンド ライン情報は、「ブロック固有のパラメーター」を参照してください。

参考

詳細は、Fixed-Point Designer ドキュメンテーション「丸め」を参照してください。

整数オーバーフローで飽和

オーバーフローで飽和するかどうかを指定します。

設定

既定の設定: オフ

オン

オーバーフローは、データ型が表現できる最小値または最大値のいずれかに飽和します。

たとえば、符号付き 8 ビット整数に関連付けられたオーバーフローは、-128 または 127 に飽和することができます。

オフ

オーバーフローは、データ型によって表現される適切な値にラップされます。

たとえば、数 130 は符号付き 8 ビット整数 1 つに収まりきらないので、-126 にラップされます。

ヒント

  • モデルでオーバーフローが発生する可能性があり、生成コードに飽和保護を明示的に組み込む必要があるときには、このチェック ボックスをオンにすることを検討してください。

  • 生成コードの効率を最適化する場合には、このチェック ボックスをオフにすることを検討してください。

    このチェック ボックスをオフにすると、ブロックが範囲外の信号を処理する方法を指定しすぎないようにする点でも役立ちます。詳細は、「信号範囲のエラーのチェック」を参照してください。

  • このチェック ボックスをオンにすると、飽和は出力や結果だけでなく、このブロックの内部演算すべてに適用されます。

  • 通常、オーバーフローが可能ではない場合は、コード生成プロセスで検出されます。この場合、コード ジェネレーターでは飽和コードは生成されません。

コマンド ライン情報

「ブロック固有のパラメーター」を参照してください。

パラメーターの最小値

ゲインの最小値を指定します。

設定

既定の設定: []

既定値は [] (指定なし) です。Simulink ソフトウェアは、以下を行う際にこの値を使用します。

コマンド ライン情報

ブロック固有のパラメーター」を参照してください。

パラメーターの最大値

ゲインの最大値を指定します。

設定

既定の設定: []

既定値は [] (指定なし) です。Simulink ソフトウェアは、以下を行う際にこの値を使用します。

コマンド ライン情報

ブロック固有のパラメーター」を参照してください。

パラメーター データ型

Gain パラメーターのデータ型を指定します。

設定

既定の設定: [継承: 内部ルールによる継承

継承:内部ルールによる継承]

データ型を継承するために内部ルールを使用します。

[継承: 入力と同じ]

単一の入力信号のデータ型を使用します。

[継承: 'Gain' から継承]

[ゲイン] 値のデータ型を使用します。以下に例を示します。

[ゲイン] の設定パラメーターデータ型の継承内容
2double
single(2)single
int8(2)int8

[double]

データ型は double です。

[single]

データ型は single です。

[int8]

データ型は int8 です。

[uint8]

データ型は uint8 です。

[int16]

データ型は int16 です。

[uint16]

データ型は uint16 です。

[int32]

データ型は int32 です。

[uint32]

データ型は uint32 です。

[fixdt(1,16)]

データ型は fixdt(1,16) です。

[fixdt(1,16,0)]

データ型は fixdt(1,16,0) です。

[fixdt(1,16,2^0,0)]

データ型は fixdt(1,16,2^0,0) です。

[<data type expression>]

データ型オブジェクトを使用します。たとえば、Simulink.NumericType などです。

コマンド ライン情報

ブロック固有のパラメーター」を参照してください。

モード

指定するデータのカテゴリを選択します。

設定

既定の設定: [継承]

[継承]

データ型の規則の継承。[継承] を選択すると、右側にある 2 番目のメニュー/テキスト ボックスが有効になります。次の選択肢からいずれかを選択します。

  • Inherit via internal rule (既定の設定)

  • Same as input

  • Inherit from 'Gain'

[組み込み]

組み込みのデータ型。[組み込み] を選択すると、右側にある 2 番目のメニュー/テキスト ボックスが有効になります。次の選択肢からいずれかを選択します。

  • double (既定)

  • single

  • int8

  • uint8

  • int16

  • uint16

  • int32

  • uint32

固定小数点

固定小数点データ型。

データ型を評価する式。[] を選択すると、右側から 2 番目のメニュー/テキスト ボックスが有効になります。そこに式を入力することができます。

依存関係

[データ型アシスタントを表示] ボタンをクリックすると、このパラメーターが有効になります。

コマンド ライン情報

「ブロック固有のパラメーター」を参照してください。

参考

Simulink ドキュメンテーションの 「データ型アシスタントを利用したデータ型の指定」 を参照してください。

スケーリング

オーバーフローを避け、量子化誤差を最小限に抑えるための固定小数点データのスケーリング方法を指定します。

設定

既定の設定: 最高精度

2 進小数点

2 進小数点の位置を指定します。

勾配とバイアス

勾配とバイアスを入力します。

最高精度

最高精度値を指定します。

依存関係

[モード][固定小数点] を選択すると、このパラメーターが有効になります。

[2 進小数点] を選択すると、以下が有効になります。

  • 小数部の長さ

  • 最高精度のスケーリングを計算

[勾配とバイアス] を選択すると、以下が有効になります。

  • 勾配

  • バイアス

  • 最高精度のスケーリングを計算

コマンド ライン情報

「ブロック固有のパラメーター」を参照してください。

参考

詳細は、「固定小数点データ型の指定」を参照してください。

次の Simulink の例では、Gain ブロックの使用方法を示します。

特性

直接フィードスルー

あり

サンプル時間

[サンプル時間] パラメーターで指定

スカラー拡張

入力と [要素単位 (K.*u)] の乗算の [ゲイン] パラメーターについて、あり

離散化

あり

多次元化

[乗算] パラメーターが [要素単位 (K.*u)] を指定する場合、あり

ゼロクロッシング検出

なし

この情報は役に立ちましたか?