3. 過渡特性
3-1. オーバーシュートする要素の時間応答
式(1)の伝達関数の単位ステップ応答を計算せよ。また、\(T_1 = 1,\;T_2=2,\;T_3=0.5,5,10\)としたときの、極と零点の位置、ボード線図と時間応答を示せ。$$G(s)=\frac{1+ T_3 s}{(1+T_1 s)(1+T_2 s)} \;\;\; \cdots (1)$$
解答例:単位ステップ信号のラプラス変換は、\(U(s) = 1/s\)なので、単位ステップ応答は、$$Y(s) = G(s)U(s) = \frac{1+ T_3 s}{s(1+T_1 s)(1+T_2 s)}=\frac{a}{s} +\frac{b}{1 + T_1 s} + \frac{c}{1 + T_2 s}$$となる。ここで、\(a,b,c\)は展開定理より、$$a = \left. \frac{1+ T_3 s}{(1+T_1 s)(1 + T_2 s)}\right|_{s=0} = 1 \\ b= \left. \frac{1+ T_3 s}{s(1 + T_2 s)}\right|_{s=-\frac{1}{T_1}} = \frac{-T_1 + T_3}{1- \frac{T_2}{T_1}} \\ c= \left. \frac{1+ T_3 s}{s(1 + T_1 s)}\right|_{s=-\frac{1}{T_2}} = \frac{- T_2 + T_3}{1 - \frac{T_1}{T_2}}$$となる。よって、$$Y(s) = \frac{1}{s} - \frac{T_1 - T_3}{T_1 - T_2} \cdot \frac{1}{s + \frac{1}{T_1}} - \frac{T_2 - T_3}{T_2 - T_1} \cdot \frac{1}{s + \frac{1}{T_2}}$$となる。これを逆ラプラス変換することで、単位ステップの時間応答が求まる。$$y(t) = \mathcal{L}^{-1}[Y(s)] = 1- \frac{T_1 - T_3}{T_1 - T_2}e^{-\frac{1}{T_1}t} - \frac{T_2 - T_3}{T_2 - T_1} e^{-\frac{1}{T_2}t}$$
\(T_1 = 1,\;T_2=2,\;T_3=0.5\)とすると、$$G(s) =\frac{1+0.5s}{(1+s)(1+2s)}$$なので、極は、\(-1,\;-0.5\)、零点は、\(-2\)である。また、ステップ応答は、$$y(t) = 1 + 0.5e^{-t} - 1.5e^{-0.5t}$$となる。
※Scilabにより、極・零マップ、ボード線図、ステップ応答を求める。図1、図2に実行結果例を示す。\(T_3\)によりスッテプ応答のオーバーシュートが変化することが分かる。また、ボード線図の\(M_p\)値が変化する。
// Scilabスクリプト
//極・零マップ、ボード線図、ステップ応答
clc; clear; clf();
// ラプラス変数 s を定義
s = %s;
// パラメータの定義
T1 = 1; T2 = 2;
T3_values = [0.1, 0.5, 2, 5, 10];
// 時間範囲の定義
t = 0:0.05:20;
for i = 1:length(T3_values)
T3 = T3_values(i);
// 伝達関数の定義
G = (1 + T3 * s) / ((1 + T1 * s) * (1 + T2 * s));
// 極・零マップ
figure(i);
subplot(2, 2, 1);
plzr(G);
title("Pole-Zero Map (T3 = " + string(T3) + ")");
xlabel('Re(s)');
ylabel('Im(s)');
xgrid();
// ボード線図
subplot(2, 2, 2);
Gs=syslin('c',G)
bode(Gs,'rad');
title("Bode Plot (T3 = " + string(T3) + ")");
// ステップ応答
y_step = csim('step', t, Gs);
subplot(2, 1, 2);
plot(t, y_step, 'b-', 'LineWidth', 2);
xlabel('Time [s]');
ylabel('Amplitude');
title("Step Response (T3 = " + string(T3) + ")");
xgrid();
end


3-2. 逆応答する要素の時間応答
式(2)の伝達関数の単位ステップ応答を計算せよ。また、\(T=0.5,5,10\)としたときの、極と零点の位置、ボード線図と時間応答を示せ。$$G(s)=\frac{1 - Ts}{(1+s)(1+2s)} \;\;\; \cdots (2)$$
解答例:単位ステップ信号のラプラス変換は、(U(s) = 1/s)なので、単位ステップ応答は、$$Y(s) = G(s)U(s) = \frac{1 - T s}{s(1+s)(1+2 s)}=\frac{a}{s} +\frac{b}{1 + s} + \frac{c}{1 + 2 s}$$となる。ここで、(a,b,c)は展開定理より、$$a = \left. \frac{1- T s}{(1+s)(1 +2 s)}\right|_{s=0} = 1 \\ b= \left. \frac{1-T s}{s(1 +2 s)}\right|_{s=-1} = 1 +T \\ c= \left. \frac{1- T s}{s(1 + s)}\right|_{s=-0.5} = \frac{1 + 0.5T}{-0.25}$$となる。よって、$$Y(s) = \frac{1}{s} + (1+T) \cdot \frac{1}{1+s} - \frac{1+0.5T}{0.25} \cdot \frac{0.5}{0.5+s}$$となる。これを逆ラプラス変換することで、単位ステップの時間応答が求まる。$$y(t) = \mathcal{L}^{-1}[Y(s)] = 1+ (1+T)e^{-t} - 2(1+0.5T) e^{-0.5t}$$
\(T=5\)とすると、$$G(s) =\frac{1- 5 s}{(1+s)(1+2s)}$$なので、極は、(-1,\;-0.5)、零点は、\(0.2\)である。また、ステップ応答は、$$y(t) = 1 + 6e^{-t} - 7e^{-0.5t}$$となる。
※Scilabにより、極・零マップ、ボード線図、ステップ応答を求める。図3,4,5,6に実行結果例を示す。Scilabスクリプトは、3-1のスクリプトで、T1 = 1;T2 = 2;T3_values = [0.1, 0.5, 2, 5, 10];G = (1 - T3 * s) / ((1 + T1 * s) * (1 + T2 * s));と変更すれば良い。




3-3. 2次遅れ要素の時間応答
式(3)の2次遅れ要素の単位ステップ応答を計算せよ。$$G(s) = \frac{\omega_n^2}{s^2 + 2 \zeta \omega_n s + \omega_n^2} \;\;\; \cdots (3)$$
*2次遅れ要素の時間応答の解析、周波数応答に関しては、14. 二次遅れ要素(2次遅れ系)の時間応答 と 19. ボード線図 を参照願います。
※Scilabスクリプトでは、\(\omega_n =1\)として、\(\zeta\)を変えたときの極・零マップ、ボード線図、ステップ応答を求める。実行結果を図7,8,9,10に示す。
// Scilabスクリプト
//2次遅れ要素の極・零マップ、ボード線図、ステップ応答
clc; clear; clf();
s = %s; // ラプラス変数 s を定義
// パラメータの定義
wn = 1;
zeta_values = [0.1, 0.4, 0.8, 1];
// 時間範囲の定義
t = 0:0.05:20;
for i = 1:length(zeta_values)
zeta = zeta_values(i);
// 伝達関数の定義
G = wn^2 / (s^2 + 2*zeta*wn*s + wn^2);
// 極・零マップ
figure(i);
subplot(2, 2, 1);
plzr(G);
title("Pole-Zero Map (zeta = " + string(zeta) + ")");
xlabel('Re(s)');
ylabel('Im(s)');
xgrid();
// ボード線図
subplot(2, 2, 2);
Gs=syslin('c',G)
bode(Gs,'rad');
title("Bode Plot (zeta = " + string(zeta) + ")");
// ステップ応答
y_step = csim('step', t, Gs);
subplot(2, 1, 2);
plot(t, y_step, 'b-', 'LineWidth', 2);
xlabel('Time [s]');
ylabel('Amplitude');
title("Step Response (zeta = " + string(zeta) + ")");
xgrid();
end



