Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Weighted Sample Time Math

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

  • Weighted Sample Time Math block

ライブラリ:
Simulink / Math Operations

説明

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

[演算] パラメーターを使って、数学演算を指定します。ブロックは、重み付きのサンプル時間 ([Ts のみ]) または重み付きのサンプル レート ([1/Ts のみ]) だけを出力できます。

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

ヒント

Weighted Sample Time ブロックと Weighted Sample Time Math ブロックを使用して、サンプル時間を Simulink 信号から抽出できます。そのためには、[演算] パラメーターを [Ts] にし、[重み値]1.0 に設定します。この構成では、ブロックは入力信号のサンプル時間を出力します。

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

u + (Ts * w)

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

(u / Ts) / w

端子

入力

すべて展開する

入力信号 u をスカラー、ベクトルまたは行列として指定します。[演算] パラメーターの値に応じて、ブロックは入力信号を重み付きのサンプル時間によって加算、減算、乗算、除算したり、重み付きサンプル時間または重み付きサンプル レートを単に出力したりすることができます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

出力

すべて展開する

入力信号の重み付きのサンプル時間またはサンプル レートを出力するか、重み付きのサンプル時間 Ts によって調整された入力信号を出力します。入力信号が連続の場合は、Ts は Simulink モデルのサンプル時間です。そうでない場合は、Ts は離散入力信号のサンプル時間です。入力信号が定数のとき、Simulink は接続とコンテキストに基づいて有限のサンプル時間をブロックに割り当てます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

パラメーター

すべて展開する

メイン

入力信号を調整するために使用する演算を指定します。+-*/Ts Only、または 1/Ts Only を選択できます。

プログラムでの使用

ブロック パラメーター: TsamMathOp
型: 文字ベクトル
値: '+' | '-' | '*' | '/' | 'Ts Only' | '1/Ts Only'
既定の設定: '+'

サンプル時間の重みを、実数値のスカラーとして入力します。

プログラムでの使用

ブロック パラメーター: weightValue
型: 文字ベクトル
値: 実数値のスカラー
既定の設定: '1.0'

2 つのモード、[オンライン計算] または [オフラインのスケーリング調整] のいずれか 1 つを指定します。

(Ts * w) の結果2 つのモードの出力データ型ブロックの実行
2 のべき乗または整数値 同じ、ここで [出力データ型][Inherit:Inherit via internal rule] 両方のモードで同等に有効
2 のべき乗ではない非整数値異なるオフラインのスケーリング モードに対しより効果的

メモ

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

依存関係

このパラメーターを有効にするには、[演算][*] または [/] に設定します。

プログラムでの使用

ブロック パラメーター: TsampMathImp
型: 文字ベクトル
値: 'Online Calculations' | 'Offline Scaling Adjustment'
既定の設定: 'Online Calculations'

Signal Attributes

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

プログラムでの使用

ブロック パラメーター: OutDataTypeStr
: 文字ベクトル
: 'Inherit: Inherit via internal rule | 'Inherit: Inherit via back propagation' | '<data type expression>'
既定の設定: 'Inherit: Inherit via internal rule'

固定小数点演算の丸めモードを指定します。詳細については、丸め (Fixed-Point Designer)を参照してください。

ブロック パラメーターは常に最近傍の表現可能な値に丸められます。ブロックパラメーターの丸めを直接制御するには、MATLAB の丸め関数を使用する式をマスク フィールドに入力します。

依存関係

このパラメーターを有効にするには、[演算][+][-][*] または [/] に設定します。[演算] パラメーターを [*] または [/] に設定する場合は、さらに [実装に使用][オンライン計算] に設定しなければなりません。

プログラムでの使用

ブロック パラメーター: RndMeth
型: 文字ベクトル
値: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
既定の設定: 'Floor'

オーバーフローで飽和するかラップするかを指定します。

動作根拠オーバーフローの影響

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

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

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

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

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

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

ブロックが範囲外の信号を処理する方法を指定しすぎないようにすることをお勧めします。詳細については、信号範囲のエラーのトラブルシューティングを参照してください。

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

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

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

依存関係

このパラメーターを有効にするには、[演算][+][-][*] または [/] に設定します。[演算] パラメーターを [*] または [/] に設定する場合は、さらに [実装に使用][オンライン計算] に設定しなければなりません。

プログラムでの使用

ブロック パラメーター: SaturateOnIntegerOverflow
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

ブロックの特性

データ型

Boolean | double | fixed point | integer | single

直達

はい

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2006a より前に導入