20. ベクトル軌跡とナイキスト軌跡

伝達関数\(G(s)\)において、\(s \rightarrow j\omega\)とすることで、周波数伝達関数 \(G(j\omega)\)が求まる。この周波数伝達関数は、$$G(j\omega)=a(\omega)+jb(\omega )=\left|G(j\omega)\right|e^{j\phi(\omega)} , $$ $$\phi(\omega)=\arg G(j\omega)=\tan^{-1}\left(\frac{b(\omega)}{a(\omega)}\right)$$と表せる。従って、\(G(j\omega)\)の実部\(a(\omega)\)を横軸に、虚部\(b(\omega)\)を縦軸にとって直角座標上のベクトルで表せる。(複素平面上に表すということ。)ここで、角周波数\(\omega\)を\(0\)から\(\infty\)まで変化させると、このベクトルの先端は連続した軌跡を描く。この軌跡をベクトル軌跡と呼ぶ。また、角周波数\(\omega\)を\(-\infty\)から\(+\infty\)まで変化させて描いた軌跡をナイキスト軌跡と呼び、フィードバック制御系の安定度を論じるときによく使われる(ナイキストの安定判別法)。ナイキスト軌跡は、ベクトル軌跡を実軸対称に描くことで得られる。
※ベクトル軌跡とナイキスト軌跡は、ほぼ同様に扱えるので区別せずに記述している場合もある。制御工学の実用上は、多くの場合は問題にならないが、制御理論的には区別する必要がある。

積分のベクトル軌跡

積分要素のベクトル軌跡

積分要素の伝達関数\(G(s)=\frac{1}{s} \)の周波数伝達関数は、\(s \rightarrow j\omega\) として、$$G(j\omega)=\frac{1}{j\omega}=-\frac{j}{\omega}$$となる。従って、$$\left|G(j\omega)\right|=\frac{1}{\omega} $$ $$\arg G(j\omega)=-90\text{°}$$ である。
\(\omega \rightarrow 0\)のとき、\(\left|G(j\omega)\right| \rightarrow \infty\)
\(\omega =1 \)のとき、\(\left|G(j\omega)\right|=1 \)
\(\omega \rightarrow \infty\)のとき、\(\left|G(j\omega)\right| \rightarrow 0\)
であり、位相は常に\(90\text{°}\)遅れである。

一次遅れ系のベクトル軌跡

一次遅れ系(時定数T=1)

※ナイキスト軌跡は、このベクトル軌跡に実軸対称のグラフを追加した図になる。

一次遅れ系の伝達関数\(G(s)=\frac{1}{1+sT}\)の周波数伝達関数は、\(s \rightarrow j\omega\) として、$$G(j\omega)=\frac{1}{1+j \omega T} $$ となる。従って、$$\left|G(j\omega)\right|=\frac{1}{\sqrt{1+(\omega T)^2}} $$ $$\arg G(j\omega)=-\tan^{-1}(\omega T)$$ である。これより、\(G(j\omega)\)の大きさと偏角が決定し、複素平面上にベクトルが描ける。角周波数\(\omega\)を\(0\)から\(\infty\)まで変化させたときのベクトルの先端の軌跡がベクトル軌跡となる。

二次遅れ系のベクトル軌跡

二次遅れ系

自然角周波数\(\omega_n\))を1[rad/s]とし、減衰係数 \(\zeta \) を0.2~1.0まで0.2刻みで変化させて、ベクトル軌跡を描いた。緑の線が\(\zeta=1.0\)、赤の線が\(\zeta=0.2\)の場合である。\(\zeta\)が小さいほど\(\omega\)に対する軌跡の変化が大きくなる。また、\(\zeta > 1\)の場合、一次遅れ系に近い軌跡となり、ステップ応答でも分かるように挙動も一次遅れ系に近くなる。

二次遅れ系の伝達関数は、$$G(s)=\frac{\omega_n^2}{s^2+2\zeta \omega_n s + \omega_n^2}$$ここで、\(\omega_n\):自然角周波数、\(\zeta\) :減衰係数 である。この周波数伝達関数は、\(s \rightarrow j\omega\)として、$$G(j\omega)=\frac{\omega_n^2}{-\omega^2 + j2 \zeta \omega_n \omega + \omega_n^2}$$ $$ = \frac{1}{1 - \left(\frac{\omega}{\omega_n}\right)^2+j2\zeta\frac{\omega}{\omega_n}} $$となる。従って、$$\left|G(j\omega)\right|=\frac{1}{\sqrt{\left\{1 - \left(\frac{\omega}{\omega_n}\right)^2\right\}^2 + \left(2\zeta\frac{\omega}{\omega_n} \right)^2}}$$ $$\arg G(j\omega)=-\tan^{-1}\frac{2\zeta\frac{\omega}{\omega_n}}{1-\left(\frac{\omega}{\omega_n}\right)^2}$$となる。

Scilabによるベクトル軌跡の描画

//一次遅れ系のベクトル軌跡
clear; clf();
s=%s;
//時定数 T=1
T=1;
// 一次遅れ系の伝達関数
G=1/(T*s+1);
Gs=syslin('c',G); /* Scilab 内部のシステム表現に変換*/
//ベクトル軌跡の描画
nyquist(Gs, 0, 10000, %f);

//二次遅れ系のベクトル軌跡
clear; clf();
s=%s;
//自然角周波数 wn=1[rad/s]
wn=1;
//減衰係数 zeta (減衰係数を0.2から1.0まで変える)
for zeta=0.2:0.2:1.0
//二次遅れ系の伝達関数
G=(wn*wn)/(s^2+2.*zeta*wn*s+wn*wn);
Gs=syslin('c',G); /* Scilab 内部のシステム表現に変換*/
//ベクトル軌跡の描画
nyquist(Gs, 0, 100000, %f);
end

※nyquist()関数はsymmetry引数(グラフの対称性を指定する引数)をとれる。デフォルトでは%t(true)となっており上下対称のグラフを描くようになっている。周波数の正の範囲だけを描画させたいときはsymmetry引数を%f(false)に指定する。

20. ベクトル軌跡とナイキスト軌跡” に対して1件のコメントがあります。

コメントは受け付けていません。