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

システム応答のプロット

この例では、SISO および MIMO 線形システムの時間応答と周波数応答をプロットする方法を示します。

時間応答

説明目的のため、次の 3 次伝達関数を作成します。

sys = tf([8 18 32],[1 6 14 24])
sys =
 
     8 s^2 + 18 s + 32
  -----------------------
  s^3 + 6 s^2 + 14 s + 24
 
Continuous-time transfer function.

このシステムのステップ応答とインパルス応答をプロットするには、step コマンドと impulse コマンドを使用します。

subplot(2,1,1)
step(sys)
subplot(2,1,2)
impulse(sys)

lsim コマンドを使用すると、任意の信号 (たとえば正弦波) に対する応答をシミュレートすることもできます。入力信号は灰色、システムの応答は青色で表示されます。

clf
t = 0:0.01:4;
u = sin(10*t);
lsim(sys,u,t)   % u,t define the input signal

連続または離散の TF モデル、SS モデル、または ZPK モデルでは、プロット コマンドを使用できます。状態空間モデルの場合は、特定の初期状態からの強制のない応答をプロットすることもできます。以下に例を示します。

A = [-0.8 3.6 -2.1;-3 -1.2 4.8;3 -4.3 -1.1];
B = [0; -1.1; -0.2];
C = [1.2 0 0.6];
D = -0.6;
G = ss(A,B,C,D);
x0 = [-1;0;2];  % initial state
initial(G,x0)
grid

周波数応答

周波数領域解析は、制御システムの安定性と性能に関するプロパティを理解するうえで重要となります。ボード線図、ナイキスト線図、およびニコルス線図は、線形システムの周波数応答をプロットし、解析するための標準的な方法の 3 つです。これらのプロットを作成するには、bodenicholsnyquist の各コマンドを使用します。以下に例を示します。

sys = tf([8 18 32],[1 6 14 24])
sys =
 
     8 s^2 + 18 s + 32
  -----------------------
  s^3 + 6 s^2 + 14 s + 24
 
Continuous-time transfer function.

bode(sys)
grid

nyquist(sys)
grid

nichols(sys)
grid

極/零点配置図と根軌跡

システムの極と零点には、そのシステムのダイナミクス、安定性、および性能制約に関する貴重な情報が含まれています。たとえば、図 1 のフィードバック ループを例に挙げて考えてみましょう。ここでは、次の関係が成り立っています。

図 1: SISO フィードバック ループ

ゲイン値 k = 0.7 の場合は、pzmap を使用して、閉ループの極と零点をプロットできます。

s = tf('s');
G = -(2*s+1)/(s^2+3*s+2);
k = 0.7;
T = feedback(G*k,1);
pzmap(T)
grid, axis([-2 0 -1 1])

閉ループ極 (青い x でマーク) は左半平面にあるため、ゲイン k に対してこの値を選択すると、フィードバック ループは安定します。この図からは、閉ループ極の減衰率を読み取ることができます (放射線上のラベルを参照)。ここでは、減衰率が約 0.7 になっており、次のコマンドによって確認できるとおり、閉ループ応答が大きく減衰していることが示されています。

clf
step(T)

ループ ゲイン k が閉ループの安定性に与える影響を詳しく理解するには、閉ループ極の軌跡を k の関数としてプロットします。

rlocus(G)
grid

軌跡が y 軸と交差する箇所をクリックすると、閉ループ極が k = 1.51 の場合に不安定になることがわかります。そのため、閉ループの安定性を保つには、ループ ゲインを 1.5 より低く維持する必要があります。

応答の特性

応答プロットを右クリックすると、さまざまなオプションや注釈にアクセスできます。たとえば、[特性] メニューを使用すると、ステップ応答の立ち上がり時間と整定時間、周波数応答プロットのピーク ゲインと安定余裕などの標準的なメトリクスを表示できます。

前の節と同じ例を使用して、閉ループ ステップ応答をプロットします。

step(T)

次に、プロットを右クリックしてピーク応答と整定時間の各特性を表示し、青いドットをクリックして、それに対応するオーバーシュート値と整定時間値を読み取ります。

MIMO システムの解析

ここまでに取り上げたコマンドはすべて、多入力多出力 (MIMO) システムを完全にサポートしています。MIMO では、これらのコマンドによってプロットの配列が生成されます。たとえば、2 つの入力と 2 つの出力をもつシステムのステップ応答は次のようになります。

sys = rss(3,2,2);
sys.A = [-0.5 -0.3 -0.2 ; 0 -1.3  -1.7; 0.4 1.7 -1.3];

つまり、2 行 2 列のプロット配列となり、各列に特定の入力チャネルのステップ応答が示されます。

step(sys)

必要な場合は、プロットを右クリックして、[I/O のグループ化]、[すべて] サブメニューを選択することによって、4 つの応答すべてを単一のプロットにグループ化できます。結果のプロットは、以下のようになります。

MIMO システムを解析する場合に便利な追加のプロットは以下のとおりです。

  • 特異値プロット (sigma)。周波数応答の主ゲインを示します。

  • 各 I/O ペアに対する極/零点配置図 (iopzplot)。

たとえば、sys のピーク ゲインを周波数の関数としてプロットします。

sigma(sys)
grid

システムの比較

応答プロット コマンドを使用すると、一度に複数のシステムをプロットできます。特定の色、マーカー、またはライン スタイルを各システムに割り当てて、比較しやすくすることもできます。上記のフィードバック例を使用して、ループ ゲイン k の 3 つの値に対する閉ループ ステップ応答を 3 色でプロットします。

k1 = 0.4;
T1 = feedback(G*k1,1);
k2 = 1;
T2 = feedback(G*k2,1);
step(T,'b',T1,'r',T2,'g')
legend('k = 0.7','k = 0.4','k = 1')