ドキュメンテーション

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

Rate Transition

異なるレートで動作しているブロック間の、データの伝達を処理

ライブラリ

Signal Attributes

説明

遷移処理オプション

Rate Transition ブロックは、あるレートで動作しているブロックの出力データを、異なるレートで動作しているブロックの入力に伝達します。ブロックのパラメーターを使用して、データの完全性と、より高速な応答かつ/または必要なメモリがより少なくて済むように確定的な転送をトレードします。データの完全性と確定的なデータ転送の詳細は、Simulink® Coder™ ドキュメンテーションの「データ転送時の問題」を参照してください。

遷移処理オプションブロック パラメーター設定
  • データの完全性

  • データ転送の確定性

  • 最大遅延

選択:

  • [データ転送中の整合性を保証]

  • [確定的にデータ転送を保証]

  • データの完全性

  • 非確定的データ転送

  • 最小遅延

  • より多くの必要メモリ量

選択:

  • データ転送中の整合性を保証

クリア:

  • [確定的にデータ転送を保証]

  • データの完全性を損なう恐れ

  • 非確定的データ転送

  • 最小遅延

  • より少ない必要メモリ量

クリア:

  • データ転送中の整合性を保証

  • [確定的にデータ転送を保証]

依存関係

Rate Transition ブロックの動作は、以下の条件に依存します。

ブロックのラベル

ブロック線図を更新すると、シミュレーション動作を表すラベルが Rate Transition ブロックに表示されます。

ラベルブロックの動作
ZOHゼロ次ホールドとして動作
1/z単位遅延として動作
Bufセマフォの制御で入力を出力にコピー
Db_bufダブル バッファーを使って入力を出力にコピー
Copy入力から出力へのプロテクトされていないコピー
NoOp何もしない
Mixed動作が異なる複数のブロックに拡張

ブロック動作のラベルにより、別々のレートで動作しているタスク間の安全なデータ転送を保証するための方法が理解できます。サンプル時間を示す色を使って、ブロックが埋め合わせる相対的なレートを表示できます (Simulink ドキュメンテーションの「サンプル時間情報の表示」を参照)。たとえば、次のモデルモデルがあります。

サンプル時間の色とブロックの動作ラベルにより、ブロック線図の上部の Rate Transition ブロックは高速から低速への転移におけるゼロ次ホールドとして動作し、下部の Rate Transition ブロックは低速から高速への転移における単位遅れとして動作することが理解できます。

詳細は、Simulink Coder ドキュメンテーションの「レート変換の処理」を参照してください。

同期サンプル時間の影響

次の表は、入力端子と出力端子 (inTsoutTs) のサンプル時間が周期的または同期を取るときに各ラベルがどのように表示されるかをまとめています。

ブロック設定

ブロック ラベル

Rate Transition

Rate Transition ブロックの条件

データの完全性と確定性がある場合

データの完全性のみの場合

データの完全性も確定性もない場合

inTs = outTs

(等しい)

inTsOffset < outTsOffset

なし (エラー)

Buf

Copy または NoOp (表の後のメモを参照)

inTsOffset = outTsOffset

Copy または NoOp (表の後のメモを参照)

Copy または NoOp (表の後のメモを参照)

inTsOffset > outTsOffset

なし (エラー)

Db_buf

inTs < outTs

(高速から低速)

inTs = outTs / N

inTsOffset, outTsOffset = 0

ZOH

Buf

inTs = outTs / N

inTsOffsetoutTsOffset

なし (エラー)

inTs = outTs / N

inTsOffset > outTsOffset

なし (エラー)

Db_buf

inTsoutTs / N

なし (エラー)

inTs > outTs

(低速から高速)

inTs = outTs * N

inTsOffset, outTsOffset = 0

1/z

Db_buf

inTs = outTs * N

inTsOffsetoutTsOffset

なし (エラー)

inTs = outTs * N

inTsOffset > outTsOffset

なし (エラー)

inTsoutTs * N

なし (エラー)

KEY

  • inTs, outTs: 入力端子と出力端子のそれぞれのサンプル時間

  • inTsOffset, outTsOffset: 入力端子と出力端子のそれぞれのサンプル時間オフセット

  • N: 整数値 > 1

[コンフィギュレーション パラメーター] ダイアログ ボックスの [最適化] ペインで [ブロック削減] を選択した場合、CopyNoOp になります。NoOp ラベルの場合、Rate Transition ブロックでのコード生成は行われません。ブロック削減がオンのときにブロックが削減されないようにするには、ブロック出力にテスト ポイントを追加します (Simulink ドキュメンテーションの「テスト ポイント」を参照)。

非同期サンプル時間の影響

次の表は、入力端子または出力端子 (inTs または outTs) のサンプル時間が非周期的、または同期を取らないときに各ラベルがどのように表示されるかをまとめています。

ブロック設定

ブロック ラベル
データの完全性と確定性がある場合データの完全性のみの場合データの完全性も確定性もない場合

inTs = outTs

Copy

Copy

Copy

inTsoutTs

なし (エラー)

Db_buf

KEY

  • inTs, outTs: 入力端子と出力端子のそれぞれのサンプル時間

サポートするデータ型

Rate Transition ブロックは、Simulink がサポートするほとんどの信号 (固定小数点データ型と列挙型データを含む) の信号を受け入れます。詳細は、Simulink ドキュメンテーションの「 Simulink でサポートされているデータ型」を参照してください。

ただし、フレームベースの信号では Rate Transition ブロックを使用しないでください。そのような信号によるレート変換の場合、代わりに DSP System Toolbox™ のいずれかのブロックを使用してください。

  • Buffer

  • Unbuffer

  • CIC Decimation

  • CIC Interpolation

  • FIR Decimation

  • FIR Interpolation

  • Downsample

  • Upsample

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

データ転送中の整合性を保証

このチェック ボックスをオンにすると、ブロックでデータが転送されたときにデータの完全性が保証されるコードが生成されます。このチェック ボックスが選択されており、転送が非確定的 (下の [確定的にデータ転送を保証] を参照) である場合、生成コードは入力レートと出力レートの優先順位に応じて単一または複数のバッファーによる適切なアルゴリズムを使用して、データ転送中の整合性を保護します。

そうしないと、Rate Transition ブロックが少なくなるか、コピー動作を使用するコードが生成されてデータ転送に影響を与えます。この非保護モードでは、メモリ消費は少なくなりますが、コピー動作が割り込みで発生することもあるため、データ転送中にデータの整合性が損なわれる可能性があります。最大の反応性 (すなわち、非確定的に) とデータの安全性をもって生成コードを動作させるためには、このチェック ボックスをオンにしてください。詳細は、Simulink Coder ドキュメンテーションの「 Rate Transition ブロックのオプション」を参照してください。

確定的にデータ転送を保証 (最大遅延)

このチェック ボックスをオンにすると、生成コードは、より遅いブロックのサンプルレート (すなわち、確定的に) でデータを転送するコードを生成します。このチェック ボックスをオフにすると、ソース ブロックから新しいデータが得られると直ちにデータ転送が行われ、受信ブロックはデータの受け取り準備ができています。伝達遅延を避けるため、システムが最大の反応性で動作するようにします。しかし、その転送は予測されない状態で発生することがあり、それは一部のアプリケーションでは望ましくありません。詳細は、Simulink Coder ドキュメンテーションの「 Rate Transition ブロックのオプション」を参照してください。

初期条件

このパラメーターは、低速から高速への転送だけに適用されます。このパラメーターは、低速のブロックからの出力が Rate Transition ブロックの入力に何も接続されていないときに、転送の始めに Rate Transition ブロックの初期出力を指定します。Simulink では、このブロックの初期出力を Inf または NaN にすることはできません。

出力端子のサンプル時間オプション

出力端子のサンプル時間を設定するためのモードを指定します。次のオプションがあります。

  • [指定][出力端子のサンプル時間] パラメーターを使用して、Rate Transition ブロックが入力レートから変換される出力レートを指定します。

  • [継承] - Rate Transition ブロックの出力端子が接続されるブロックから、Rate Transition ブロックが出力レートを継承することを指定します。

  • [入力端子のサンプル時間の倍数][サンプル時間の倍数 (>0)] パラメーターを使って、Rate Transition ブロックの出力レートを入力レートの倍数として指定できます。

[継承] を指定し、出力端子に接続されたすべてのブロックもサンプル時間を敬称する場合は、モデル内の最速のサンプル時間が適用されます。

出力端子のサンプル時間

このパラメーターは、[出力端子のサンプル時間オプション] パラメーターが [指定] に設定されている場合に表示されます。出力レートの指定値を入力します。ブロックは入力レートを、ここで指定した出力レートに変換します。既定値 (-1) は、Rate Transition ブロックの出力端子が接続されるブロックから、Rate Transition ブロックが出力レートを継承することを指定します。出力レートの指定方法については、Simulink ドキュメンテーションの「 サンプル時間の指定」を参照してください。

サンプル時間の倍数 (>0)

[出力端子のサンプル時間オプション][入力端子のサンプル時間の倍数] を指定する場合に、このパラメーターが表示されます。入力端子のサンプル時間の倍数として出力レートを指定する正の値を入力します。既定値 (1) は、入力レートと同じ出力レートを指定します。値 0.5 は、入力レートの 1/2 の出力レートを指定し、値 2 は、入力レートの 2 倍の出力レートを指定します。

バス サポート

Rate Transition ブロックは、バス対応ブロックです。入力は、バーチャルまたは非バーチャルのバス信号になることができます。ただし、[初期条件] がゼロ、非ゼロのスカラー、または有限の数値構造であるという制限があります。初期条件構造体の指定方法の詳細は、「バス信号の初期条件の指定」を参照してください。

Rate Transition ブロックへの非バーチャル バス入力のすべての信号は、関連するバス オブジェクトの要素が継承されたサンプル時間を指定する場合でも、同じサンプル時間をもつ必要があります。個々の信号またはバスの中のすべての信号のサンプル時間の変更に Rate Transition ブロックを使用できます。詳細は、Simulink ドキュメンテーションの「合成信号」「バス対応ブロック」を参照してください。

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

特性

バス機能

あり、上記の制約付き。

直接フィードスルー

低速から高速への変更では、[データ転送中の整合性を保証] チェック ボックスをオンにした場合はなし。そうでなければ、あり。

サンプル時間

このブロックは、離散ブロックから離散ブロックへの伝達をサポートします。

スカラー拡張

あり、入力について

離散化

あり

多次元化

あり

ゼロクロッシング検出

なし

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