モデルの作成と取り扱い | ![]() ![]() |
入力または出力上に遅れを設定
I/Oに遅れをもつ周波数領域モデルに対しては理想的なものですが、ioDelay
プロパティは、状態空間モデルの中に遅れをもつ入力または出力を捕らえることは不適切です。たとえば、2つのモデル
結果として、ioDelay
プロパティを使って、これらを区別することはできません(共に、0.1秒のI/O遅れをもちます)。これら二つのモデル と
は、
によって関係付けられているので、異なる状態の軌跡をもっています。0.1秒の遅れは、最初のモデルでは入力にあり、2番目のモデルでは出力にあります。
InputDelayプロパティとOutputDelayプロパティ
状態の軌跡が興味の対象の場合、InputDelay
プロパティとOutputDelay
プロパティを使って、状態空間モデル内の入力に関する遅れと出力に関する遅れとの間の区別をすることができます。たとえば、前の2つのモデルを正確に設定します。
M1 = ss(-1,1,1,0,'inputdelay',0.1) M2 = ss(-1,1,1,0,'outputdelay',0.1)
MIMOの場合、ベクトル値をInputDelay
(OutputDelay)
プロパティに割り当てることで、各入力(または、出力)チャンネルに対して、異なる遅れを設定することができます。たとえば、
sys = ss(A,[B1 B2],[C1;C2],[D11 D12;D21 D22]) sys.inputdelay = [0.1 0] sys.outputdelay = [0.2 0.3]
TF、ZPK、FRDのいずれかのモデルの中で、入力の遅れまたは出力の遅れを設定するのに、InputDelay
プロパティとOutputDelay
プロパティを使います。たとえば、伝達関数を作成します。
s = tf('s'); H = [1/s ; 2/(s+1)]; % 有理数の部分 H.inputdelay = 0.1
Transfer function from input to output... 1 #1: exp(-0.1*s) * - s 2 #2: exp(-0.1*s) * ----- s + 1
比較のため、ioDelay
プロパティを使って等価な伝達関数を作成するため、つぎのように入力します。
H = [1/s ; 2/(s+1)]; H.iodelay = [0.1 ; 0.1];
0.1秒の遅れは、I/O遅れ行列の中で2回使われていることに注意してください。より一般的に、入力遅れで、出力遅れ
をもつTF、ZPK、FRDモデルに対して、等価なI/O遅れ行列は、つぎのようになります。
![]() | 入力/出力遅れの設定 | 離散時間モデルの中での遅れの設定 | ![]() |