【python-control】ゲイン余裕と位相余裕の計算

当記事では、Python用制御工学モジュール「python-control」でシステムのゲイン余裕・位相余裕を求める方法ついて紹介します。

ゲイン余裕・位相余裕とは

ゲイン余裕とは、ボード線図を描いたときに、位相が-180度のときゲインが0dBから何dBあるかを示したものです。
位相余裕とは、ボード線図を描いたときに、ゲインが0dBのとき,位相が-180度から何度あるかを示したものです。

【詳細】
【制御理論】ゲイン余裕と位相余裕

python-controlの「control.margin(sys)」メソッドを用いると、Matlabのmargin関数のようにシステムのゲイン余裕と位相余裕を計算できます。

【参考文献】
・python-controlドキュメント:marginメソッドの使い方
・Matlabドキュメント:margin関数の使い方
※python-controlはMatlab風ライブラリなので、Matlabの資料が役に立ちます

ソースコード

以下の伝達関数のナイキスト線図を描くサンプルプログラムです。
\begin{eqnarray}
G(S)=\frac{2s^2+5s+1}{ s^2+2s+3}
\end{eqnarray}

実行結果

(None, 240.0, 0.57735026918962584, None)

※240.0[度]が位相余裕、0.57735026918962584[dB]がゲイン余裕です。

シェア&フォローお願いします!