Weighted Sample Time
サンプル時間を伴う計算をサポート
ライブラリ:
Simulink /
Signal Attributes
説明
[演算] パラメーターおよび [重み値] パラメーターの設定と関数出力の実行コンテキストに応じて、Weighted Sample Time ブロックは重み付きサンプル時間、重み付きサンプル レート、または数学的に調整された重み付きサンプル時間を出力します。
[演算] パラメーターを使用してブロックの演算を指定します。
出力の派生に使用されるサンプル時間は、周期的と非周期的 (またはトリガー) のどちらの実行コンテキスト内でブロックを使用するかによって異なります。周期的な実行コンテキストの場合、ブロックはモデルのサンプル時間を使用します。非周期的またはトリガーの実行コンテキストの場合、ブロックは離散信号のサンプル時間を使用します。
[重み値] パラメーターを使用してサンプル時間の重み係数を指定します。重み値 w
が 1
の場合、その値はブロック アイコン上の方程式に表示されません。
ヒント
Weighted Sample Time ブロックと Weighted Sample Time Math ブロックを使用して、サンプル時間を Simulink® 信号から抽出できます。[演算] パラメーターを [Ts のみ]
、[重み値] パラメーターを 1.0
に設定します。この構成では、ブロックは入力信号のサンプル時間を出力します。
ブロックは、MATLAB® 演算子の優先度ルールを使用して出力を計算します。たとえば、[演算] パラメーターが +
に設定されている場合、ブロックは次の式を使用して出力を計算します。
u + (Ts * w)
[演算] パラメーターが /
に設定されている場合、ブロックは次の式を使用して出力を計算します。
(u / Ts) / w)
詳細については、演算子の優先順位を参照してください。
例
Weighted Sample Time Math ブロックを使用したサンプル時間の算術演算
この例では、Weighted Sample Time Math ブロックを使用してサンプル時間値を信号に追加する方法を示します。
Weighted Sample Time ブロックを使用すると、このモデルのサンプル時間が 0.2
になっていることが分かります。Weighted Sample Time Math ブロックで [演算] パラメーターを +
に設定し、[重み値] を 1
に設定した場合、ブロックは 0.2
のサンプル時間値を入力信号に追加します。Weighted Sample Time Math1 ブロックで [重み値] を 3
に設定した場合、ブロックは入力信号に Ts*3
を追加し、各値は 0.6
ずつ増えていきます。
端子
入力
Port_1 — 入力信号
スカラー | ベクトル | 行列
入力信号をスカラー、ベクトル、または行列として指定します。
データ型: double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
出力
Port_1 — 出力信号
スカラー | ベクトル | 行列
[演算] パラメーターおよび [重み値] パラメーターの設定とブロックを含む関数の実行コンテキストに応じて、ブロックは重み付きサンプル時間、重み付きサンプル レート、または数学的に調整された重み付きサンプル時間を出力します。
重み付きサンプル時間 –– 周期関数で使用する場合、重み付きサンプル時間は入力信号のサンプル時間に [重み値] パラメーターの指定値を乗算したもの (
Ts * w
) になります。非周期的またはトリガーの関数で使用する場合、重み付きサンプル時間は最後の実行からの経過時間に重み値を乗算した値になります。重み付きサンプル レート –– 周期関数で使用する場合、重み付きサンプル レートは重み付きサンプル時間の逆数 (
1/(Ts * w)
) になります。ブロックを非周期関数で使用する場合は、重み付きサンプル レートは意味をもちません。数学的に調整された重み付きサンプル時間 –– ブロックで重み付きサンプル時間に入力信号の値
u
を加算するか、重み付きサンプル時間からu
を減算するか、重み付きサンプル時間でu
を乗算または除算します。
出力の派生に使用されるサンプル時間と出力のデータ型は、周期的と非周期的 (またはトリガー) のどちらの実行コンテキスト内でブロックを使用するかによって異なります。
ブロックの実行コンテキスト | 出力の派生に使用されるサンプル時間 | 出力信号のデータ型 |
---|---|---|
周期的 | モデルのサンプル時間 |
|
非周期的またはトリガー | 最後の実行からの経過時間 |
|
データ型: double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
パラメーター
メイン
演算 — 算術演算
Ts のみ
(既定値) | +
| -
| *
| /
| 1/Ts のみ
入力信号の値を調整するために使用する演算を指定します。たとえば、[+]
演算を指定すると、ブロックは重み付きサンプル時間を入力信号の値に加算します。ブロックを非周期関数で使用する場合は、値 [1/Ts のみ]
は意味をもちません。
プログラムでの使用
ブロック パラメーター: TsamMathOp |
型: 文字ベクトル |
値: '+' | '-' | '*' | '/' | 'Ts Only' | '1/Ts Only' |
既定の設定: 'Ts Only' |
重みの値 — サンプル時間の重み
1.0
(既定値) | 実数値のスカラー
サンプル時間の重みを実数値のスカラーとして入力します。指定した値がブロックで入力信号のサンプル時間に乗算されます。たとえば、サンプル時間 0.2
のモデルの周期関数でブロックを使用する場合、重み値を 3
と指定すると、重み付きサンプル時間は 0.6
になります。
プログラムでの使用
ブロック パラメーター: weightValue |
型: 文字ベクトル |
値: 実数値のスカラー |
既定の設定: 1.0 |
実装に使用 — サンプル時間を調整する方法
オンライン計算
(既定値) | オフラインのスケーリング調整
サンプル時間を調整するためにオンライン計算を適用するかオフラインのスケーリングを適用するかを選択します。
Ts * w の結果 | 2 つのモードの出力データ型 | ブロックの実行 |
---|---|---|
2 のべき乗 (正または負) または整数値 | 同じ、ここで [出力データ型] の設定は [継承: 内部ルールによる継承] | 両方のモードで同等に有効 |
2 のべき乗ではない非整数値 | 異なる | オフラインのスケーリング モードに対しより効果的 |
メモ
[実装に使用] パラメーターが有効になっていない場合、演算は既定のオンライン計算になります。
依存関係
このパラメーターを有効にするには、[演算] を [*]
または [/]
に設定します。
プログラムでの使用
ブロック パラメーター: TsampMathImp |
型: 文字ベクトル |
値: 'Online Calculations' | 'Offline Scaling Adjustment' |
既定の設定: 'Online Calculations' |
Signal Attributes
出力データ型 — 出力信号のデータ型
継承: 内部ルールによる継承
(既定値) | 継承: 逆伝播による継承
| double
| single
| int8
| uint8
| int16
| uint16
| int32
| uint32
| int64
| uint64
| fixdt(1,16,0)
| fixdt(1,16,20,0)
| <data type expression>
ブロックの出力信号のデータ型を指定します。
プログラムでの使用
ブロック パラメーター: 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' |
整数オーバーフローで飽和 — オーバーフロー アクションの方法
off
(既定値) | on
整数オーバーフローで飽和するかラップするかを指定します。
目的 | 操作 | オーバーフローの動作 | 例 |
---|---|---|---|
モデルでオーバーフロー状態が発生する可能性があり、生成コードに飽和保護を明示的に組み込む。 | チェック ボックスをオンにする ( | データ型で表現できる最小値または最大値のいずれかに飽和する。 |
|
生成コードを最適化する。 ブロックが範囲外の信号を処理する方法を指定しすぎないようにすることをお勧めします。詳細については、信号範囲のエラーのトラブルシューティングを参照してください。 | チェック ボックスをオフにする ( | データ型で表現される適切な値にオーバーフローがラップされる。 |
|
[整数オーバーフローで飽和] を選択すると、飽和は出力や結果だけでなく、このブロックの内部演算すべてに適用されます。オーバーフローが可能でないことがコード ジェネレーターで検出された場合、飽和コードは生成されません。
依存関係
このパラメーターを有効にするには、[演算] パラメーターを [+]
、[-]
、[*]
、または [/]
に設定します。[演算] を [*]
または [/]
に設定する場合は、さらに [実装に使用] パラメーターを [オンライン計算]
に設定しなければなりません。
プログラムでの使用
ブロック パラメーター: SaturateOnIntegerOverflow |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
モード — データ型モード
継承
(既定値) | 組み込み
| 固定小数点
| 式
[出力データ型] のデータ型プロパティを指定する方法を選択します。次を選択できます。
継承
— データ型の継承ルール (例:[継承: 入力と同じ]
) を指定します。組み込み
— 組み込みデータ型 (例:[double]
) を指定します。固定小数点
— データ型の固定小数点の属性を指定します。式
— 有効なデータ型に評価される式 (例:fixdt(1,16)
) を指定します。
詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
符号属性 — 固定小数点データの符号属性
符号付き
(既定値) | 符号なし
固定小数点データが符号付きであるか符号なしであるかを指定します。[符号付き]
データでは正の値と負の値を表現できますが、[符号なし]
データでは正の値のみを表現できます。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
スケーリング — 固定小数点データのスケーリング方法
最高精度
(既定値) | 2 進小数点
オーバーフローを避け、量子化誤差を最小限に抑えるための固定小数点データのスケーリング方法を指定します。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [固定小数点]
に設定します。
語長 — 量子化された整数をもつ語のビット サイズ
16
(既定値) | 2 ~ 128 の整数
2 ~ 128 の正の整数として、量子化された整数をもつ語のビット サイズを指定します。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [固定小数点]
に設定します。
小数部の長さ — 固定小数点データ型の小数部の長さ
0
(既定値) | 整数スカラー
固定小数点データ型の小数部の長さを正または負の整数スカラーとして指定します。
依存関係
このパラメーターを有効にするには、[モード] を [固定小数点]
、[スケーリング] を [2 進小数点]
に設定します。
勾配 — 固定小数点データ型の勾配を指定
2^0
(既定値) | 正の実数値のスカラー
固定小数点データ型の勾配を指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[スケーリング] を [勾配とバイアス]
に設定します。
バイアス — 固定小数点データ型のバイアスを指定
0
(既定値) | 実数値のスカラー
固定小数点データ型のバイアスを任意の実数として指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[スケーリング] を [勾配とバイアス]
に設定します。
データ型オーバーライド — データ型オーバーライド モード
継承
(既定値) | オフ
この信号のデータ型オーバーライド モードを選択します。以下を選択できます。
継承
— モデルに指定されたデータ型オーバーライドの設定を継承します。オフ
— モデルに指定されたデータ型オーバーライドの設定を無視し、指定した固定小数点データ型を使用します。
依存関係
このパラメーターを有効にするには、[モード] を [組み込み]
または [固定小数点]
に設定します。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2006a より前に導入R2023b: Weighted Sample Time ブロックの更新
Weighted Sample Time ブロックで以下がサポートされるようになりました。
追加の出力型
double
single
int8
uint8
int16
uint16
int32
uint32
int64
uint64
fixdt(1,16,0)
fixdt(1,16,20,0)
[モード] パラメーターの新しいオプションとしての
[固定小数点]
。以下の固定小数点パラメーターが有効になります。符号属性
スケーリング
語長
勾配
バイアス
データ型オーバーライド
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)