むだ時間をもつシステムの解析
step
、bode
、margin
などの解析コマンドを使用して、むだ時間をもつシステムを解析できます。このような解析では、近似はまったく行われません。
たとえば、次の制御ループについて考えます。プラントは 1 次としてモデル化され、デッド タイムが加えられています。
r
から y
への閉ループ システムをモデル化できます。
s = tf("s");
P = 5*exp(-3.4*s)/(s+1);
C = 0.1 * (1 + 1/(5*s));
T = feedback(P*C,1);
T
は内部遅延のある状態空間モデルです。内部遅延のあるモデルの詳細については、むだ時間のある閉フィードバック ループを参照してください。
T
のステップ応答をプロットします。
stepplot(T)
より複雑な相互接続には、各ブロックの入力信号と出力信号に名前を付け、connect
を使用して配線を自動管理できます。たとえば、前述のモデルの制御ループにフィードフォワード パスを加えるとします。
対応する閉ループ モデル Tff
を導出できます。
F = 0.3/(s+4); P.InputName = "u"; P.OutputName = "y"; C.InputName = "e"; C.OutputName = "uc"; F.InputName = "r"; F.OutputName = "uf"; Sum1 = sumblk("e = r - y"); Sum2 = sumblk("u = uf + uc"); Tff = connect(P,C,F,Sum1,Sum2,"r","y");
さらに、その応答をフィードバックのみの設計と比較できます。
stepplot(T,Tff) legend("No feedforward","Feedforward")
内部遅延を含むシステムを解析する際の注意事項
遅延のない LTI 解析にのみ慣れている場合は、遅延のあるシステムの時間と周波数応答は正常ではないように思われることがあります。時間応答が無秩序な挙動を示したり、ボード線図にゲイン振動が現れたりすることがあります。これらの予測できない挙動はソフトウェアや数値が原因ではなく、このようなシステムの実際の特性です。これらの挙動の一部を表したプロットの例を次に示します。
ゲイン リップル
s = tf("s");
G = exp(-5*s)/(s+1);
T = feedback(G,.5);
bodemag(T)
ゲイン振動
G = 1 + 0.5 * exp(-3*s); bodemag(G)
ギザギザのステップ応答
G = exp(-s) * (0.8*s^2+s+2)/(s^2+s); T = feedback(G,1); stepplot(T)
ここでは、応答で初期ステップ関数のエコーが発生しています。
カオス応答
G = 1/(s+1) + exp(-4*s); T = feedback(1,G); stepplot(T,150)
Control System Toolbox™ のツールを使用すると、内部遅延のこのような珍しいアーティファクトをモデル化して解析できます。