2. 周波数応答
2-1. 1次遅れ要素のベクトル軌跡
次の式で示す1次遅れ要素のベクトル軌跡を作成せよ。$$G(s) = \frac{3}{1 + 4s}$$
解答例:1次遅れ要素のゲインと位相を求める。\(s \to j\omega\)により、$$G(j \omega) = \frac{3}{1 + j 4 \omega}$$と周波数伝達関数となる。従って、ゲインは$$|G(j \omega)| = \frac{3}{\sqrt{1 + (4 \omega)^2}}$$また、位相は$$\angle{G(j \omega)} = -\tan^{-1}(4 \omega)$$となる。\(\omega \to +0 \)のときは、$$|G(j 0)| =3,\quad \angle{G(j 0)}=0$$となる。\(\omega\)が増加するにつれて、ゲイン、位相ともに減少し、\(\omega \to \infty\)のとき、$$|G(j \infty)| =0,\quad \angle{G(j \infty)}=-\frac{\pi}{2}$$となる。
※Scilabによる、ベクトル軌跡を図1に示す。Scilabの関数「nyquist()」では\(\omega = -\infty \to +\infty\)の範囲のナイキスト軌跡を描画する。また、図2にボード線図を示す。
// Scilabスクリプト
//伝達関数 G(s) = 3 / (1 + 4s) のベクトル軌跡
clc; clear; clf();
// 伝達関数の定義
s = %s; // ラプラス変数 s を定義
G = 3 / (1 + 4 * s); // 伝達関数 G(s)
Gs = syslin('c',G);
// ナイキスト軌跡の描画
nyquist(Gs);
// プロットの調整
title('Nyquist Plot of G(s) = 3 / (1 + 4s)');
xlabel('Re(G(s))');
ylabel('Im(G(s))');
scf(1);
bode(Gs,'rad');


2-2. 直列結合要素のベクトル軌跡
次の式で示す1次遅れ要素とむだ時間要素を直列結合した要素のベクトル軌跡を作成せよ。$$G(s) = \frac{3e^{-s}}{1+4 s}$$
解答例:むだ時間要素\(L(s) = e^{-s}\)のゲインは$$|L(j \omega)|=|e^{-j \omega}|=|\cos(-\omega)+j\sin(-\omega)|=1$$であり、位相は$$\angle{L(j\omega)}=\tan^{-1}\frac{\sin(-\omega)}{\cos(-\omega)}=-\omega$$である。よって、\(G(s)\)のゲインは$$|G(j \omega)| = \frac{3}{\sqrt{1 + (4 \omega)^2}}$$で、位相は$$\angle{G(j \omega)} = -\omega -\tan^{-1}(4 \omega)$$となる。\(\omega \to +0 \)のときは、$$|G(j 0)| =3,\quad \angle{G(j 0)}=0$$であり、\(\omega\)が増加するにつれ、ゲイン、位相ともに減少し、\(\omega \to \infty\)のとき、$$|G(j \infty)| =0$$となるが、位相は遅れ続けることになる。
※Scilabでは、むだ時間要素\(e^{-s}\)は直接扱えないので、これを有理関数で近似することで、数値計算できるようにする。一般的には Padé近似を使う。1次Padé近似は、$$e^{-s} \approx \frac{1 - \frac{s}{2}}{1 + \frac{s}{2}}$$また、3次Padé近似は、$$e^{-s} \approx \frac{1 - \frac{3s}{4} + \frac{s^2}{8} - \frac{s^3}{48}}{1 + \frac{3s}{4} + \frac{s^2}{8} + \frac{s^3}{48}}$$である。
図3にナイキスト軌跡を示す。また、図4にボード線図を示す。図2と比べると、位相特性に大きな位相遅れが生じていることが分かる。
// Scilabスクリプト
//G(s) = 3 * exp(-s) / (1 + 4s) のベクトル軌跡 (3次Padé近似)
clc;clear;clf();
s = %s; // ラプラス変数 s の定義
// e^(-s) を 3次 Padé 近似
delay = (1 - (3/4)s + (1/8)s^2 - (1/48)s^3) / (1 + (3/4)s + (1/8)s^2 + (1/48)s^3);
// 伝達関数の定義
G = (3 * delay) / (1 + 4 * s);
Gs = syslin('c',G);
// 伝達関数の表示
disp("Approximate Transfer Function G(s) with 3rd-order Padé delay:");
disp(Gs);
// ベクトル軌跡(ナイキスト軌跡)の描画
nyquist(Gs);
// プロットの調整
title('Nyquist Plot of G(s) = 3e^{-s} / (1 + 4s) (3rd-order Padé Approximation)');
xlabel('Re(G(s))');
ylabel('Im(G(s))');
scf(1);
bode(Gs,'rad');


2-3. 2次遅れ要素のベクトル軌跡
次の式で示す2次遅れ要素のベクトル軌跡を作成せよ。$$G(s) = \frac{2}{(1+3 s)(1 + 4s)}$$
解答例:\(G(s)\)において\(s \to j\omega\)により、$$G(j \omega) = \frac{2}{(1 + j3\omega)(1 + j 4\omega)}$$の周波数伝達関数となる。これより、ゲインは$$|G(j \omega)| = \frac{2}{|1+ j3 \omega||1 + j 4 \omega|} = \frac{2}{\sqrt{1 + (3 \omega)^2} \sqrt{1 + (4\omega)^2}}$$また、位相は$$\angle{G(j \omega} = - \angle{1 + j 3\omega} - \angle{1 + j 4 \omega} = -\tan^{-1}(3 \omega) - \tan^{-1} (4 \omega)$$となる。\(\omega \to +0 \)のとき、\(|G(j 0)| = 2,\quad \angle{G(j 0)} = 0\)となり、\(\omega \to \infty\)のとき、\(|G(j\infty)| = 0,\quad \angle{G(j \infty)} = - \pi\)となる。
※Scilabによる、ベクトル軌跡を図5に示す。Scilabの関数「nyquist()」では\(\omega = -\infty \to +\infty\)の範囲のナイキスト軌跡を描画する。また、図6にボード線図を示す。ボード線図より、位相が180度まで遅れる(\(-\pi\)となる)ことが分かる。
// Scilabスクリプト
//G(s) = 2 / ((1 + 3s)(1 + 4s)) のベクトル軌跡
clc; clear; clf();
s = %s; // ラプラス変数 s を定義
// 伝達関数の定義
G = 2 / ((1 + 3 * s) * (1 + 4 * s));
Gs = syslin('c',G);
// 伝達関数の表示
disp("Transfer Function G(s):");
disp(G);
// ベクトル軌跡(ナイキストプロット)
nyquist(Gs);
// プロットの調整
title('Nyquist Plot of G(s) = 2 / ((1 + 3s)(1 + 4s))');
xlabel('Re(G(s))');
ylabel('Im(G(s))');
scf(1);
bode(Gs,'rad');

