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

Unit Delay

信号を 1 サンプリング周期遅延

  • ライブラリ:
  • Simulink / Discrete

    HDL Coder / Discrete

説明

Unit Delay ブロックは、指定したサンプリング期間だけその入力を保持して遅らせます。反復サブシステム内に置いた場合は、1 回の反復ごとに入力を保持して遅延します。このブロックは、z-1 離散時間演算子と等価です。ブロックは 1 つの入力を受け入れ、1 つの出力を生成します。各信号はスカラーでもベクトルでもかまいません。入力がベクトルの場合、ベクトルのすべての要素を指定されたサンプリング周期だけ保持して遅らせます。

最初のサンプリング期間のブロック出力は、[初期条件] パラメーターを使って指定します。十分注意してこのパラメーターを選択すると、不要な出力の動作を最小限度に抑えることができます。サンプル間の時間は、サンプル時間 パラメーターを使って指定します。-1 に設定すると、ブロックは サンプル時間 を継承します。

メモ

異なるサンプル レートで動作するブロック間での遷移を作成するために Unit Delay ブロックを使用すると、このブロックでエラーが発生します。代わりに、Rate Transition ブロックを使用してください。

同様のブロックとの比較

Memory ブロック、Unit Delay ブロック、および Zero-Order Hold ブロックは、類似の機能を提供しますが、異なる機能をもっています。また、使用目的も異なります。

この表は各ブロックに推奨される使用方法を示しています。

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

各ブロックには次の機能があります。

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

string のサポート

Unit Delay ブロックは、遅延の長さが 0 または 1、または直達に構成されている場合にのみ、string データ型を受け入れ、出力することができます。

端子

入力

すべて展開する

ブロックが 1 サンプル周期で遅延させる入力信号です。

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

出力

すべて展開する

出力信号。入力を 1 サンプル周期で遅延させたものです。

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

パラメーター

すべて展開する

メイン

Unit Delay ブロックの出力が不定である間の最初のサンプリング周期に対するシミュレーションの出力を指定します。

プログラムでの使用

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

ブロックでサンプルベースかフレームベースのどちらの処理を実行するかを指定します。

  • チャネルとしての列 (フレーム ベース) — 入力の各列を独立したチャネルとして扱います (フレームベースの処理)。

    メモ

    フレームベースの処理には、DSP System Toolbox™ のライセンスが必要になります。

    詳細については、サンプルベースおよびフレームベースの概念 (DSP System Toolbox)を参照してください。

  • チャネルとしての要素 (サンプル ベース) — 入力の各要素を独立したチャネルとして扱います (サンプルベースの処理)。

[入力処理] を使って、ブロックでサンプルベースかフレームベースのどちらの処理を実行するかを指定します。ブロックは、入力 u にフレームベースの信号を受け入れます。その他すべての入力信号はサンプルベースでなければなりません。

入力信号 u入力処理モードブロックは動作するか
サンプルベースサンプルベースはい
フレームベースいいえ、エラーが発生
サンプルベースフレームベースはい
フレームベースはい

これらの 2 つの処理モードの詳細については、サンプルベースおよびフレームベースの概念 (DSP System Toolbox)を参照してください。

プログラムでの使用

ブロック パラメーター: InputProcessing
: 文字ベクトル
: 'Columns as channels (frame based)' | 'Elements as channels (sample based)'
既定の設定: 'Elements as channels (sample based)'

サンプル時間のヒット間の離散間隔を入力するか、-1 を指定してサンプル時間を継承します。

サンプル時間の指定も参照してください。

プログラムでの使用

ブロック パラメーター: SampleTime
: 文字ベクトル
: 実数スカラー
既定の設定: '-1'

状態属性

ブロックの状態に固有名を割り当てるにはこのパラメーターを使用します。既定の設定は ' ' です。このフィールドが空白のままの場合、名前は割り当てられません。このパラメーターを使用する場合、以下のことを考慮してください。

  • 有効な識別子は英字またはアンダースコア文字で始まり、英数字またはアンダースコア文字が続きます。

  • 状態名は選択されたブロックに対してのみ適用されます。

このパラメーターを設定し、[適用] ボタンをクリックすると、[状態名を Simulink の信号オブジェクトに関連付ける] が有効になります。

詳細については、個別の信号、状態、およびパラメーター データ要素へのストレージ クラスの適用 (Simulink Coder)を参照してください。

プログラムでの使用

ブロック パラメーター: StateName
型: 文字ベクトル
値: 一意の名前
既定の設定: ''

状態名を Simulink の信号オブジェクトに関連付けるかどうかを指定します。選択した場合、Simulink の信号オブジェクトの名前に一致しない状態名を指定すると実行時にエラーが生成されます。

依存関係

[状態名] パラメーターに値を入力し、モデル コンフィギュレーション パラメーターの [信号の関連付け][なし] 以外の値に設定した場合に有効になります。

このチェック ボックスをオンにすると、[コード生成ストレージ クラス] が無効になります。

プログラムでの使用

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

ターゲット パッケージが定義する信号オブジェクト クラスを選択してカスタム ストレージ クラスのパッケージを選択します。たとえば、組み込みパッケージ mpt からカスタム ストレージ クラスを適用するには [mpt.Signal] を選択します。Embedded Coder® で ERT ベースのコード生成ターゲットを使用している場合を除き、カスタム ストレージ クラスは生成されたコードに影響しません。

目的のクラスがリストに表示されない場合は、[クラス リストのカスタマイズ] を選択します。詳細については、Load Storage Class Packages into Embedded Coder Dictionary (Embedded Coder)を参照してください。

ストレージ クラスの詳細については、個別の信号、状態、およびパラメーター データ要素へのストレージ クラスの適用 (Simulink Coder)を参照してください。カスタム ストレージ クラスの詳細については、Organize Parameter Data into a Structure by Using Struct Storage Class (Embedded Coder)を参照してください。

プログラムでの使用

ブロック パラメーター: StateSignalObject
型: 文字ベクトル
値: 'Simulink.Signal' | '<StorageClass.PackageName>'
既定の設定: 'Simulink.Signal'

コード生成の状態ストレージ クラスを選択します。外部コードへのインターフェイスを設定する必要がない場合は Auto を選択します。

詳細については、個別の信号、状態、およびパラメーター データ要素へのストレージ クラスの適用 (Simulink Coder)およびOrganize Parameter Data into a Structure by Using Struct Storage Class (Embedded Coder)を参照してください。

プログラムでの使用

ブロック パラメーター: StateStorageClass
型: 文字ベクトル
値: 'Auto' | 'Model default' | 'ExportedGlobal'' | 'ImportedExtern' | 'ImportedExternPointer' | 'Custom'
既定の設定: 'Auto'

ブロックの特性

データ型

Boolean | bus | double | enumerated | fixed point | integer | single

直接フィードスルー

はい

多次元信号

はい

可変サイズの信号

はい

ゼロクロッシング検出

いいえ

拡張機能

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

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

R2006a より前に導入