ドキュメンテーション

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

Weighted Sample Time Math

サンプル時間を伴う計算をサポート

ライブラリ

Math Operations

説明

Weighted Sample Time Math ブロックは、重み付きサンプル時間 Ts により入力信号 u を加算、減算、乗算、除算します。入力信号が連続の場合は、Ts は Simulink® モデルのサンプル時間です。そうでない場合は、Ts は離散入力信号のサンプル時間です。入力信号が定数の場合、Simulink は接続とコンテキストに基づいて有限のサンプル時間をブロックに割り当てます。

[演算] パラメーターを使って、数学演算を指定します。さらに、サンプル時間またはその逆数を使った重みだけを使用するように指定できます。

[重みの値] パラメーターに重み係数を入力します。重み w1 の場合、その値はブロック アイコン上の方程式に表示されません。

ブロックは、MATLAB® 演算子の優先度ルールを使って出力を計算します (「演算子の優先順位」を参照)。たとえば、[演算] パラメーターが + を指定している場合、ブロックは、次の式を使って出力を計算します。

u + (Ts * w)

ただし、[演算] パラメーターが / を指定している場合、ブロックは、次の式を使って出力を計算します。

(u / Ts) / w

サポートするデータ型

Weighted Sample Time Math ブロックは次のデータ型の信号を受け入れます。

  • 浮動小数点

  • 組み込み整数

  • 固定小数点

  • boolean

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

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

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

演算

使用する演算:+-*/Ts Only、または 1/Ts Only

重みの値

サンプル時間の重みを入力します。

実装に使用

2 つのモード、[オンライン計算] または [オフラインのスケーリング調整] のいずれか 1 つを指定します。このパラメーターは、[演算][*][/] に設定したときにのみ表示されます。

(Ts * w) の結果2 つのモードの出力データ型ブロックの実行
2 のべき乗または整数値となります。[出力データ型][Inherit:Inherit via internal rule] の場合は同じです。どちらのモードでも有効性は同じです。
2 のべき乗にも整数値にもなりません。異なります。オフラインのスケーリング モードでより有効となります。

    メモ:   [実装に使用] パラメーターが表示されない場合、演算は既定の「オンライン計算」になります。

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

    ヒント:   [整数オーバーフローで飽和] パラメーターは、以下の場合にのみ表示されます。

    • [演算] パラメーターで [+] または [-] を指定。

    • [演算] パラメーターで、[*] または [/] を指定し、[実装に利用] パラメーターで [オンライン計算] を指定。

出力データ型

ブロックが内部ルールを介して出力データ型を継承するか、逆伝播によって継承するか指定します。

    ヒント:   編集フィールドに式を入力する場合、この式は 2 つの継承ツールのうちの 1 つとして評価されなければなりません。

整数丸めモード

固定小数点演算の丸めモードを指定します。詳細は、Fixed-Point Designer™ ドキュメンテーションの「丸め」を参照してください。

整数オーバーフローで飽和
動作このアクションを行う理由オーバーフロー発生時に起きること

このチェック ボックスをオンにする。

モデルでオーバーフローが発生する可能性があるので、生成コードに飽和保護を明示的に組み込むことをお勧めします。

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

int8 (符号付き、8 ビット整数) データ型が表すことができる最大値は 127 です。この最大値を超えるブロックの演算結果により 8 ビット整数のオーバーフローが発生します。チェック ボックスがオンになっていると、ブロック出力は 127 で飽和します。同様に、ブロック出力は最小出力値である -128 で飽和します。

このチェック ボックスをオンにしない。

生成コードの効率を最適化することをお勧めします。

ブロックが範囲外の信号を処理する方法を指定しすぎないようにすることをお勧めします。詳細は、「信号範囲のエラーのチェック」を参照してください。

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

int8 (符号付き、8 ビット整数) データ型が表すことができる最大値は 127 です。この最大値を超えるブロックの演算結果により 8 ビット整数のオーバーフローが発生します。チェック ボックスをオフにすると、オーバーフローを引き起こした値は int8 として解釈され、意図しない結果が引き起こされる可能性があります。たとえば、int8 として表されるブロック結果 130 (バイナリで 1000 0010) は -126 です。

このチェック ボックスをオンにすると、飽和は出力や結果だけでなく、このブロックの内部演算すべてに適用されます。通常、オーバーフローが可能ではない場合は、コード生成プロセスで検出されます。この場合、コード ジェネレーターでは飽和コードは生成されません。

特性

データ型

double | single | boolean | 整数 | 固定小数点

直接フィードスルー

すべての数学演算について (Ts1/Ts を除く)

多次元信号

なし

可変サイズの信号

なし

ゼロクロッシング検出

なし

コード生成

あり

R2006a より前に導入

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