Main Content

Weighted Sample Time Math

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

  • Weighted Sample Time Math block

ライブラリ:
Simulink / Math Operations

説明

[演算] パラメーターおよび [重み値] パラメーターの設定と関数出力の実行コンテキストに応じて、Weighted Sample Time ブロックは重み付きサンプル時間、重み付きサンプル レート、または数学的に調整された重み付きサンプル時間を出力します。

[演算] パラメーターを使用してブロックの演算を指定します。

出力の派生に使用されるサンプル時間は、周期的と非周期的 (またはトリガー) のどちらの実行コンテキスト内でブロックを使用するかによって異なります。周期的な実行コンテキストの場合、ブロックはモデルのサンプル時間を使用します。非周期的またはトリガーの実行コンテキストの場合、ブロックは離散信号のサンプル時間を使用します。

[重み値] パラメーターを使用してサンプル時間の重み係数を指定します。重み値 w1 の場合、その値はブロック アイコン上の方程式に表示されません。

ヒント

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

ブロックは、MATLAB® 演算子の優先度ルールを使用して出力を計算します。たとえば、[演算] パラメーターが + に設定されている場合、ブロックは次の式を使用して出力を計算します。

u + (Ts * w)

[演算] パラメーターが / に設定されている場合、ブロックは次の式を使用して出力を計算します。

(u / Ts) / w)

詳細については、演算子の優先順位を参照してください。

端子

入力

すべて展開する

入力信号をスカラー、ベクトル、または行列として指定します。

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

出力

すべて展開する

[演算] パラメーターおよび [重み値] パラメーターの設定とブロックを含む関数の実行コンテキストに応じて、ブロックは重み付きサンプル時間、重み付きサンプル レート、または数学的に調整された重み付きサンプル時間を出力します。

  • 重み付きサンプル時間 –– 周期関数で使用する場合、重み付きサンプル時間は入力信号のサンプル時間に [重み値] パラメーターの指定値を乗算したもの (Ts * w) になります。非周期的またはトリガーの関数で使用する場合、重み付きサンプル時間は最後の実行からの経過時間に重み値を乗算した値になります。

  • 重み付きサンプル レート –– 周期関数で使用する場合、重み付きサンプル レートは重み付きサンプル時間の逆数 (1/(Ts * w)) になります。ブロックを非周期関数で使用する場合は、重み付きサンプル レートは意味をもちません。

  • 数学的に調整された重み付きサンプル時間 –– ブロックで重み付きサンプル時間に入力信号の値 u を加算するか、重み付きサンプル時間から u を減算するか、重み付きサンプル時間で u を乗算または除算します。

出力の派生に使用されるサンプル時間と出力のデータ型は、周期的と非周期的 (またはトリガー) のどちらの実行コンテキスト内でブロックを使用するかによって異なります。

ブロックの実行コンテキスト出力の派生に使用されるサンプル時間出力信号のデータ型
周期的モデルのサンプル時間
  • 符号は入力信号の値と同じ符号になります。

  • 語長は入力信号の語長と long long の半分のうちで大きい方の値になります。

  • スケーリングは重み付きサンプル時間の最高精度のスケーリングになります。

非周期的またはトリガー最後の実行からの経過時間
  • データ型は符号なしになります。

  • 語長はモデル コンフィギュレーション パラメーター [アプリケーションのライフスパン] の設定に対して十分な大きさになります。

  • スケーリングはモデル コンフィギュレーション パラメーター [クロック分解能] の設定の最高精度のスケーリングになります。

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

パラメーター

すべて展開する

メイン

入力信号を調整するために使用する演算を指定します。たとえば、[+] 演算を指定すると、ブロックは重み付きサンプル時間を入力信号の値に加算します。ブロックを非周期関数で使用する場合は、値 [1/Ts のみ] は意味をもちません。

プログラムでの使用

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

サンプル時間の重みを実数値のスカラーとして入力します。指定した値がブロックで入力信号のサンプル時間に乗算されます。たとえば、サンプル時間 0.2 のモデルの周期関数でブロックを使用する場合、重み値を 3 と指定すると、重み付きサンプル時間は 0.6 になります。

プログラムでの使用

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

サンプル時間を調整するためにオンライン計算を適用するかオフラインのスケーリングを適用するかを選択します。

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

メモ

[実装に使用] パラメーターが有効になっていない場合、演算は既定のオンライン計算になります。

依存関係

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

プログラムでの使用

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

Signal Attributes

ブロックの出力信号のデータ型を指定します。

プログラムでの使用

ブロック パラメーター: OutDataTypeStr
: 文字ベクトル
: 'Inherit: Inherit via internal rule' | 'Inherit: Inherit via back propagation' | double | single | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | fixdt(1,16,0) | fixdt(1,16,20,0) | '<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'

[出力データ型] のデータ型プロパティを指定する方法を選択します。次を選択できます。

  • 継承 — データ型の継承ルール (例: [継承: 入力と同じ]) を指定します。

  • 組み込み — 組み込みデータ型 (例: [double]) を指定します。

  • 固定小数点 — データ型の固定小数点の属性を指定します。

  • — 有効なデータ型に評価される式 (例: fixdt(1,16)) を指定します。

詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

固定小数点データが符号付きであるか符号なしであるかを指定します。[符号付き] データでは正の値と負の値を表現できますが、[符号なし] データでは正の値のみを表現できます。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

オーバーフローを避け、量子化誤差を最小限に抑えるための固定小数点データのスケーリング方法を指定します。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

依存関係

このパラメーターを有効にするには、[モード][固定小数点] に設定します。

2 ~ 128 の正の整数として、量子化された整数をもつ語のビット サイズを指定します。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

依存関係

このパラメーターを有効にするには、[モード][固定小数点] に設定します。

固定小数点データ型の小数部の長さを正または負の整数スカラーとして指定します。

依存関係

このパラメーターを有効にするには、[モード][固定小数点][スケーリング][2 進小数点] に設定します。

固定小数点データ型の勾配を指定します。詳細については、固定小数点データ型の指定を参照してください。

依存関係

このパラメーターを有効にするには、[スケーリング][勾配とバイアス] に設定します。

固定小数点データ型のバイアスを任意の実数として指定します。詳細については、固定小数点データ型の指定を参照してください。

依存関係

このパラメーターを有効にするには、[スケーリング][勾配とバイアス] に設定します。

この信号のデータ型オーバーライド モードを選択します。以下を選択できます。

  • 継承 — モデルに指定されたデータ型オーバーライドの設定を継承します。

  • オフ — モデルに指定されたデータ型オーバーライドの設定を無視し、指定した固定小数点データ型を使用します。

依存関係

このパラメーターを有効にするには、[モード][組み込み] または [固定小数点] に設定します。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

ブロックの特性

データ型

Boolean | double | fixed point | integer | single

直達

はい

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

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

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

バージョン履歴

R2006a より前に導入

すべて展開する