ドキュメンテーション

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

Zero-Order Hold

入力を 1 サンプリング周期だけゼロ次保持

ライブラリ

Discrete

説明

Zero-Order Hold ブロックは、指定されたサンプリング周期の間、入力を保持します。ブロックは 1 つの入力を受け入れ、1 つの出力を生成します。各信号はスカラーでもベクトルでもかまいません。入力がベクトルの場合、ベクトルのすべての要素が指定されたサンプリング周期の間、保持されます。

サンプル間の時間は、[サンプル時間] パラメーターを使って指定します。-1 に設定すると、ブロックは [サンプル時間] を継承します。

    ヒント:   異なるサンプルレートで動作しているブロック間の、高速から低速への遷移を生成するためには、Zero-Order Hold ブロックを使用しないでください。代わりに、Rate Transition ブロックを使用してください。

同様のブロックとの比較

同様の機能のブロック

Unit Delay ブロック、Memory ブロック、および Zero-Order Hold ブロックは、類似する機能をもっていますが、それぞれ別の機能も備えています。また、使用目的も異なります。以下の節では、これらの違いの一部を説明します。

各ブロックに推奨される使用方法

ブロックブロックの使用目的リファレンスの例
Unit Delay指定された離散サンプル時間を使用して遅延を実装します。理想的には、ブロックで離散サンプル時間の信号を受け入れ、出力するようにします。
「Memory」1 メジャー積分タイム ステップで遅延を実装します。理想的には、ブロックで連続信号 (マイナー タイム ステップで固定された信号) を受け入れ、マイナー タイム ステップで固定された信号を出力します。
Zero-Order Hold連続サンプル時間の入力信号を離散サンプル時間の出力信号に変換します。

ブロックの機能の概要

機能ブロック
Unit DelayMemoryZero-Order Hold
初期条件の指定ありありいいえ、t = 0 の際のブロック出力が入力値と一致しなければならないため
サンプル時間の指定ありいいえ、ブロックはサンプル時間のみを継承できるため (モデル全体に使用される駆動ブロックまたはソルバーから)あり
フレームベースの信号のサポートありなし あり
状態のログ作成のサポートありなしなし

ブロック出力に対するソルバー指定の効果

Unit Delay ブロックまたは Zero-Order Hold ブロックのダイアログ ボックスに離散サンプル時間を指定すると、モデルのソルバーの仕様に応じてブロック出力が変化することがあります。

いずれも離散サンプル時間 1 を使用する Unit Delay ブロックと Zero-Order Hold ブロックのモデルモデルがあるとします。

Repeating Sequence Stair ブロックは、連続サンプル時間 0 を使用して Unit Delay ブロックと Zero-Order Hold ブロックに入力信号を渡します。

モデルでステップ サイズ 1 の固定ステップ ソルバーを使用している場合、スコープには次のシミュレーション結果が表示されます。

モデルで可変ステップ ソルバーを使用している場合、スコープには次のシミュレーション結果が表示されます。

Zero-Order Hold ブロックは、t = 0、1、2、...、9 のときに Repeating Sequence Stair ブロックの入力値を受け取り、サンプリング周期 (1 秒) で各入力値を保持します。Unit Delay ブロックは同じように Repeating Sequence Stair の各入力値を 1 秒間保持するだけでなく、各値をサンプリング周期だけ遅らせます。[初期条件] パラメーターは、最初のサンプリング周期中の Unit Delay ブロックの出力を指定します。サンプル時間の詳細は、「サンプル時間とは」および「 サンプル時間の指定」を参照してください。

モデルのソルバーの仕様も、Memory ブロックの動作に影響を与えます。詳細は、Memory ブロックの使用方法の例を参照してください。

サポートするデータ型

Zero-Order Hold ブロックは、固定小数点および列挙型データを含む Simulink® がサポートするすべてデータ型の実数および複素数信号を受け入れます。

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

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

サンプル時間 (継承は -1)

サンプルの時間間隔を指定します。サンプル時間を継承するには、このパラメーターを -1 に設定します。詳細は、オンライン ドキュメンテーションの「 サンプル時間の指定」を参照してください。

0 または [0,0] の連続サンプル時間を指定しないでください。このブロックは離散サンプル時間のみをサポートしています。このパラメーターが -1 の場合、継承されるサンプル時間は連続ではなく、離散でなければなりません。

バス サポート

Zero-Order Hold ブロックはバス対応ブロックです。入力は、バーチャルまたは非バーチャルのバス信号にすることができます。ブロック固有の制約はありません。Zero-Order Hold ブロックへの非バーチャル バス入力内のすべての信号は、対応するバス オブジェクトの要素が継承されたサンプル時間を指定していても、同じサンプル時間でなければなりません。個々の信号またはバスの中のすべての信号のサンプル時間の変更に Rate Transition ブロックを使用できます。詳細は、「合成信号」「バス対応ブロック」を参照してください。

バス配列を Zero-Order Hold ブロックの入力信号として使用できます。バス配列の定義と使用方法の詳細は、「バス配列へのバスの統合」を参照してください。

次のモデルは Zero-Order Hold ブロックの使用方法を示します。

特性

バス機能

あり

直接フィードスルー

あり

サンプル時間

[サンプル時間] パラメーターで指定

スカラー拡張

なし

離散化

あり

ゼロクロッシング検出

なし

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