Main Content

Saturation

入力信号を上限と下限の飽和値に制限する

  • Saturation block

ライブラリ:
Simulink / Commonly Used Blocks
Simulink / Discontinuities
HDL Coder / Discontinuities

説明

Saturation ブロックは、上限と下限の飽和値に制限されている入力信号の値である出力信号を生成します。上限と下限は、[上限] パラメーターと [下限] パラメーターで指定されます。

入力出力
下限 ≤ 入力値 ≤ 上限入力値
入力値 < 下限下限
入力値 > 上限上限

すべて展開する

この例では、Quantizer ブロックと Saturation ブロックをモデル ex_sldemo_boiler で使用する方法を示します。ADC サブシステムは次のように入力アナログ電圧をデジタル化します。

  • Gain ブロックでアナログ電圧に 256/5 を乗算

  • Quantize ブロックで値を整数に切り捨てる

  • Saturation ブロックで出力を最大値 255 (符号なし 8 ビット整数値の最大値) に制限

端子

入力

すべて展開する

飽和アルゴリズムに対する入力信号。

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

出力

すべて展開する

入力信号、飽和の上限、または飽和の下限の値である出力信号。

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

パラメーター

すべて展開する

メイン

入力信号に対する上限を指定します。入力信号がこの境界より大きい場合、出力信号はこの飽和値に設定されます。[上限] パラメーターは、最近傍の丸めと飽和を使用して、出力データ型に変換されます。[上限][出力の最小値] パラメーターより大きく、[出力の最大値] パラメーターより小さくなければなりません。

プログラムでの使用

ブロック パラメーター: UpperLimit
: 文字ベクトル
: 実数のスカラーまたはベクトル
既定の設定: '0.5'

入力信号に対する下限を指定します。入力信号がこの境界より小さい場合、出力信号はこの飽和値に設定されます。[下限] パラメーターは、最近傍の丸めと飽和を使用して、出力データ型に変換されます。[下限][出力の最小値] パラメーターより大きく、[出力の最大値] パラメーターより小さくなければなりません。

プログラムでの使用

ブロック パラメーター: LowerLimit
: 文字ベクトル
: 実数のスカラーまたはベクトル
既定の設定: '-0.5'

コマンドでゲインを 1 として扱うようにするには、このチェック ボックスをオンにします。Simulink® の線形化コマンドは、このブロックを状態空間のゲインとして扱います。ゲインを 0 として扱うようにするには、ボックスをオフにします。

プログラムでの使用

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

ゼロクロッシング検出を有効にする場合は選択します。詳細については、ゼロクロッシング検出を参照してください。

プログラムでの使用

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

サンプルの時間間隔を指定します。サンプル時間を継承するには、このパラメーターを -1 に設定します。詳細については、サンプル時間の指定を参照してください。

依存関係

このパラメーターは、-1 以外の値に設定した場合にのみ表示されます。詳細は、サンプル時間が推奨されないブロックを参照してください。

プログラムでの使用

ブロック パラメーター: SampleTime
型: string スカラーまたは文字ベクトル
既定の設定: "-1"

信号属性

データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、the Show data type assistant button をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

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

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

メモ

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

プログラムでの使用

ブロック パラメーター: OutMin
: 文字ベクトル
: '[ ]'| スカラー
既定の設定: '[ ]'

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

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

メモ

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

プログラムでの使用

ブロック パラメーター: OutMax
: 文字ベクトル
: '[ ]'| スカラー
既定の設定: '[ ]'

出力のデータ型を選択します。型は継承されるか、直接指定されるか、Simulink.NumericType などのデータ型オブジェクトとして表現されます。詳細については、信号のデータ型の制御を参照してください。

プログラムでの使用

ブロック パラメーター: OutDataTypeStr
: 文字ベクトル
: 'Inherit: Same as input''Inherit: Inherit via back propagation''single''int8''uint8'int16'uint16''int32''uint32''int64''uint64'fixdt(1,16,0)fixdt(1,16,2^0,0)fixdt(1,16,2^0,0)'<data type expression>'
既定の設定: 'Inherit: Same as input'

固定小数点ツールが、ブロックに指定した [出力] データ型をオーバーライドしないようにするには、このパラメーターを選択します。詳細については、[出力データ型の設定をロックする] の使用 (Fixed-Point Designer)を参照してください。

プログラムでの使用

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

次のいずれかの丸めモードを選択します。

正方向

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

最も近い偶数方向

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

負方向

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

最も近い正の整数方向

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

最も近い整数方向

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

最も簡潔

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

ゼロ方向

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

プログラムでの使用

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

参考

詳細については、丸め (Fixed-Point Designer)を参照してください。

ブロックの特性

データ型

double | fixed point | integer | single

直達

はい

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

はい

拡張機能

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

PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。

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

バージョン履歴

R2006a より前に導入