Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Unit Delay

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

  • Unit Delay block

ライブラリ:
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) 用に構成されている場合にのみ string データ型の受け入れおよび出力を行うことができます。

端子

入力

すべて展開する

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

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

出力

すべて展開する

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

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

パラメーター

すべて展開する

メイン

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

プログラムでの使用

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

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

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

    メモ

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

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

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

[入力処理] を使って、ブロックでサンプルベースかフレームベースのどちらの処理を実行するかを指定します。これらの 2 つの処理モードの詳細については、サンプルベースおよびフレームベースの概念 (DSP System Toolbox)を参照してください。

プログラムでの使用

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

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

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

プログラムでの使用

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

状態属性

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

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

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

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

詳細については、C Data Code Interface Configuration for Model Interface Elements (Simulink Coder)を参照してください。

プログラムでの使用

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

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

このパラメーターを選択すると、[コード生成ストレージ クラス] パラメーターが無効になります。

依存関係

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

プログラムでの使用

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

ブロックの特性

データ型

Boolean | bus | double | enumerated | fixed point | half | image | integer | single | string

直達

いいえa

多次元信号

はい

可変サイズの信号

はい

ゼロクロッシング検出

いいえ

a 

拡張機能

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

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

バージョン履歴

R2006a より前に導入