モデルの作成と取り扱い | ![]() ![]() |
離散時間モデルの中での遅れの設定
離散時間LTIモデルに遅れを設定するには、ioDelay
、InputDelay
、OutputDelay
プロパティを使います。離散時間モデルでの遅れは、サンプル周期の整数倍として設定します。離散時間モデルに対してのむだ時間で設定する整数k
は、k個のサンプル周期の遅れを意味しています。このような遅れは、伝達関数に対して、ファクタとして表わします。
h = tf(1,[1 0.5 0.2],0.1,'inputdelay',3)
Transfer function: 1 z^(-3) * ----------------- z^2 + 0.5 z + 0.2 Sampling time: 0.1
ファクタz^(-3)は、入力に3サンプル周期の遅れを意味しています。
離散時間遅れを原点での極に射影
離散時間遅れは、での付加的な極と等価なので、伝達関数の分母または状態空間方程式に簡単に取り込めます。たとえば、遅れをもつ積分器の伝達関数
です。これは、入力に2サンプル周期の遅れをもった1次の伝達関数として設定するか、
Ts = 1; % サンプリング間隔 H1 = tf(1,[1 -1],Ts,'inputdelay',2)
H2 = tf(1,[1 -1 0 0],Ts) % 1/(z^3-z^2)
これら2つのモデルは、数学的に等価ですが、H1
はストレージの項で考えても、後の計算を考えても、より効果的な表現です。
必要なときには、コマンドdelay2z
を使って、すべての離散時間遅れを原点での極に射影することができます。たとえば、
H2 = delay2z(H1)
は、3次の伝達関数を作成するためにH1
の遅れを伝達関数の分母の項に吸収させます。
Transfer function: 1 --------- z^3 - z^2 Sampling time: 1
H2.inputdelay
![]() | 入力または出力上に遅れを設定 | 遅れに関する情報の抽出 | ![]() |