The Negligible Lab

Astray in the forest of electrical and electronic circuits. Adrift in the gap between time and frequency domains. 独立独歩を是とする。

2次遅れ系の時間応答と減衰係数ζについての素朴な疑問

はじめに

今回は古典制御理論の初歩的なある事柄に関して筆者が抱いていた素朴な(あるいは幼稚な)疑問に関する書き散らしとなっています。あらかじめご了承下さい。

さて,2次遅れ系

G(s) = \displaystyle \frac{K \omega_{n}^{2}}{s^{2} + 2 \zeta \omega_{n} s + \omega_{n}^{2}} \tag{1}

のインパルス応答やステップ応答は,減衰係数ζ (> 0)の値によって3つに場合分けされることが広く知られています。この3つは特性方程式((1)式の分母 = 0)の解p1, p2に対応しており,それぞれ

  1. ζ < 1(p1, p2が共役複素数解)の場合,振動しながら減衰・収束する(不足制動)
  2. ζ = 1(p1, p2が重解)の場合,1と3の臨界状態(臨界制動)
  3. ζ > 1(p1, p2が異なる2つの実数解)の場合,振動することなく減衰・収束する(過制動)

のようになります。

図1: 2次遅れ系のインパルス応答,ステップ応答,およびボード線図

図1に例としてK = 1,ωn = 1に固定し,ζを0.1から2.0まで変化させた場合における2次遅れ系のインパルス応答,ステップ応答,およびボード線図を示します。

上記の3つの条件におけるインパルス応答やステップ応答を表す数式を一見すると,後述のようにかなり形が異なって見えます。しかし,ζが1を跨ぐ前後においても時間応答の変化は滑らかに見えます。これは一体どうしてでしょうか? こんな疑問がもやもやとしていました。

目次

インパルス応答

インパルス応答を表す3つの数式

G(s)をラプラス逆変換するとインパルス応答g(t)を得ます。導出は参考資料に譲りますが*1,ζの3つの条件に応じて3つに場合分けされます。

g(t) = \mathcal{L}^{-1} [G(s)] = \left \{ \begin{array}{ll}
g_{1}(t) \qquad (\zeta < 1) \\[5pt]
g_{2}(t) \qquad (\zeta = 1) \\[5pt]
g_{3}(t) \qquad (\zeta > 1)
\end{array} \right . \tag{2}

ただし,

 \begin{align}
g_{1}(t) &= \displaystyle \frac{K \omega_{n}}{\sqrt{1 - \zeta^{2}}} e^{-\zeta \omega_{n} t} \sin \sqrt{1 - \zeta^{2}} \omega_{n} t \tag{3} \\[10pt]
g_{2}(t) &= K \omega_{n}^{2} t e^{-\omega_{n} t} \tag{4} \\[10pt]
g_{3}(t) &= \displaystyle \frac{K \omega_{n}}{2 \sqrt{\zeta^{2} - 1}} \left \{ e^{-\left (\zeta - \sqrt{\zeta^{2} - 1} \right ) \omega_{n} t} - e^{-\left (\zeta + \sqrt{\zeta^{2} - 1} \right ) \omega_{n} t} \right \} \tag{5}
\end{align}

です。

さて,(3) ~ (5)式を見るとそれぞれ形がまったく違います。減衰係数ζが1を跨ぐ際にこの3つの式を行き来する訳ですが,その際の変化が滑らかに見えるという点について,筆者は直観的に理解できませんでした。

ζ → 1で重なることの証明

図2にζ = 1に近い3つのインパルス応答をプロットしてみましょう。

図2: ζ = 1に近い場合のインパルス応答

図2ではζ = 0.98,ζ = 1.00,ζ = 1.02に対応する3つのインパルス応答をプロットしています。やはり,ほとんど重なっていますね。きちんと表現するならば,

\displaystyle \lim_{\zeta \to 1^{-}} g_{1}(t) = \displaystyle \lim_{\zeta \to 1^{+}} g_{3}(t) = g_{2}(t) \tag{6}

と書けそうです。これを証明していきます*2

g1(t)についての証明

まず,(3)式は次のように書き直すことができます。

g_{1}(t) = K \omega_{n} e^{-\zeta \omega_{n} t} \displaystyle \frac{\sin \sqrt{1 - \zeta^{2}} \omega_{n} t}{\sqrt{1 - \zeta^{2}}} \tag{7}

ζ → 1の場合,√(1 - ζ2) → 0+ですので,これは高校数学に登場する

\displaystyle \lim_{x \to 0} \frac{\sin x}{x} = 1 \tag{8}

を応用できそうです。これをを少し変え,(8)式分子のsinの中のxに係数Aが付いている場合も同様に収束し,

\displaystyle \lim_{x \to 0} \frac{\sin A x}{x} = A \tag{9}

となります。これを適用すれば,

\displaystyle \lim_{\zeta \to 1^{-}} g_{1}(t) = \lim_{\zeta \to 1^{-}} \left ( K \omega_{n} e^{-\zeta \omega_{n} t} \displaystyle \frac{\sin \sqrt{1 - \zeta^{2}} \omega_{n} t}{\sqrt{1 - \zeta^{2}}} \right ) = K \omega_{n}^{2} t e^{-\omega_{n} t} = g_{2}(t) \tag{10}

を得ますので,(6)式の半分を証明できました。

g3(t)についての証明

(5)式についても書き直します。まず,

g_{3}(t) = \displaystyle \frac{K \omega_{n} e^{-\zeta \omega_{n} t}}{\sqrt{\zeta^{2} - 1}} \frac{e^{\sqrt{\zeta^{2} - 1} \omega_{n} t} - e^{-\sqrt{\zeta^{2} - 1} \omega_{n} t}}{2} \tag{11}

としてみます。これには,

\sinh x = \displaystyle \frac{e^{x} - e^{-x}}{2} \tag{12}

が含まれていますね。双曲線関数の登場です。これを利用してさらに書き直すと,

g_{3}(t) = K \omega_{n} e^{-\zeta \omega_{n} t} \displaystyle \frac{\sinh \sqrt{\zeta^{2} - 1} \omega_{n} t}{\sqrt{\zeta^{2} - 1}} \tag{13}

を得ます。これは(7)式とそっくりです*3sinhについても(9)式と同様に

\displaystyle \lim_{x \to 0} \frac{\sinh A x}{x} = A \tag{14}

が成り立ちますので,これを適用すれば,

\displaystyle \lim_{\zeta \to 1^{+}} g_{3}(t) = \lim_{\zeta \to 1^{+}} \left ( K \omega_{n} e^{-\zeta \omega_{n} t} \displaystyle \frac{\sinh \sqrt{\zeta^{2} - 1} \omega_{n} t}{\sqrt{\zeta^{2} - 1}} \right ) = K \omega_{n}^{2} t e^{-\omega_{n} t} = g_{2}(t) \tag{15}

となります。これで(6)式のもう半分を証明できました。

改めてインパルス応答の式を見る

以上でインパルス応答を表す(3) ~ (5)式がζ → 1で滑らかに繋がることを証明できました。この証明の中の式変形を考えると,インパルス応答については次のように表現する方が一貫性があって美しいのではないかと筆者個人としては考えます*4

 \begin{align}
g_{1}(t) &= K \omega_{n} e^{-\zeta \omega_{n} t} \displaystyle \frac{\sin \sqrt{1 - \zeta^{2}} \omega_{n} t}{\sqrt{1 - \zeta^{2}}} \tag{16} \\[10pt]
g_{2}(t) &= K \omega_{n}^{2} t e^{-\omega_{n} t} \tag{17} \\[10pt]
g_{3}(t) &=K \omega_{n} e^{-\zeta \omega_{n} t} \displaystyle \frac{\sinh \sqrt{\zeta^{2} - 1} \omega_{n} t}{\sqrt{\zeta^{2} - 1}} \tag{18}
\end{align}

さらに言えば,(16)式と(18)式を区別する必要は実のところないということも言えそうです。sinとsinhについては,

 j \sinh x = \sin j x \tag{19}

という関係があります。したがって,(16)式においてζ > 1となって√(1 − ζ2)が虚数になった場合にはsinがsinhに変わり,かつ,分母の√(1 − ζ2)もまた虚数になるので,全体としてはやはり実数となり,整理すると自動的に(18)式が導かれます。

ステップ応答

ステップ応答を表す3つの数式

ステップ応答についても考えてみます*5。ステップ入力はs領域で

U(s) = \displaystyle \frac{1}{s} \tag{19}

ですので,ステップ応答y(t)は次式のように得られます。

y(t) = \mathcal{L}^{-1} [G(s) U(s)] = \left \{ \begin{array}{ll}
y_{1}(t) \qquad (\zeta < 1) \\[5pt]
y_{2}(t) \qquad (\zeta = 1) \\[5pt]
y_{3}(t) \qquad (\zeta > 1)
\end{array} \right . \tag{20}

ただし,

\begin{align}
y_{1}(t) &= \textstyle K \left \{ 1 - e^{-\zeta \omega_n t} \left (\cos \sqrt{1 - \zeta^{2}} \omega_n t + \frac{\zeta}{\sqrt{1 - \zeta^{2}}} \sin \sqrt{1 - \zeta^{2}} \omega_n t \right ) \right \} \tag{21} \\[10pt]
y_{2}(t) &= K \left \{ 1 - e^{-\omega_{n} t} (1 + \omega_{n} t) \right \} \tag{22} \\[10pt]
y_{3}(t) &= \textstyle K \left \{ 1 - \frac{\zeta + \sqrt{\zeta^{2} - 1}}{2 \sqrt{\zeta^{2} - 1}} e^{-\left(\zeta - \sqrt{\zeta^{2} - 1} \right ) \omega_{n} t} + \frac{\zeta - \sqrt{\zeta^{2} - 1}}{2 \sqrt{\zeta^{2} - 1}} e^{-\left(\zeta + \sqrt{\zeta^{2} - 1} \right ) \omega_{n} t} \right \} \tag{23}
\end{align}

です。 やはり,(21) ~ (23)式を見るとそれぞれ形がまったく違います

ζ → 1で重なることの証明

ζ = 1に近い3つのステップ応答を図3にプロットしてみましょう。

図3: ζ = 1に近いステップ応答

図3ではζ = 0.98,ζ = 1.00,ζ = 1.02に対応する3つのステップ応答をプロットしています。やはり,ほとんど重なっていますね。これもインパルス応答の場合と同様に,

\displaystyle \lim_{\zeta \to 1^{-}} y_{1}(t) = \displaystyle \lim_{\zeta \to 1^{+}} y_{3}(t) = y_{2}(t) \tag{24}

と書けそうです。これを証明していきます。

y1(t)についての証明

(21)式を書き直すと,

y_{1}(t) = K \left \{ 1 - e^{-\zeta \omega_n t} \left (\cos \sqrt{1 - \zeta^{2}} \omega_n t + \displaystyle \frac{\zeta \sin \sqrt{1 - \zeta^{2}} \omega_n t}{\sqrt{1 - \zeta^{2}}} \right ) \right \} \tag{25}

となります。ここで,(25)式の小括弧内のcosとsinの項についてζ → 1の極限をとれば,

\begin{align}
& \displaystyle \lim_{\zeta \to 1^{-}} \cos \sqrt{1 - \zeta^{2}} \omega_n t = 1 \tag{26} \\[10pt]
& \displaystyle \lim_{\zeta \to 1^{-}}  \frac{\zeta \sin \sqrt{1 - \zeta^{2}} \omega_n t}{\sqrt{1 - \zeta^{2}}} = \omega_{n} t \tag{27}
\end{align}

となります。(26),(27)式を考慮すると,

\displaystyle \lim_{\zeta \to 1^{-}} y_{1}(t) = K \left \{ 1 - e^{-\omega_{n} t} (1 + \omega_{n} t) \right \} = y_{2}(t) \tag{28}

を得ますので,(24)式の半分を証明できました。

y3(t)についての証明

(23)式についてe−ζωntを括り出すと,

y_{3}(t) = K \left \{ 1 - e^{-\zeta \omega_{n} t} \underbrace{\left ( \textstyle \frac{\zeta + \sqrt{\zeta^{2} - 1}}{2 \sqrt{\zeta^{2} - 1}} e^{\sqrt{\zeta^{2} - 1} \omega_{n} t} - \textstyle \frac{\zeta - \sqrt{\zeta^{2} - 1}}{2 \sqrt{\zeta^{2} - 1}} e^{-\sqrt{\zeta^{2} - 1} \omega_{n} t} \right )}_{(*)} \right \} \tag{29}

となります。(29)式の小括弧内を別の形に整理すると,

 \begin{align}
(*) &= \displaystyle \frac{\zeta}{\sqrt{\zeta^{2} - 1}} \frac{e^{\sqrt{\zeta^{2} - 1} \omega_{n} t} - e^{-\sqrt{\zeta^{2} - 1} \omega_{n} t}}{2} + \frac{e^{\sqrt{\zeta^{2} - 1} \omega_{n} t} + e^{-\sqrt{\zeta^{2} - 1} \omega_{n} t}}{2} \\[10pt]
& = \frac{\zeta \sinh \sqrt{\zeta^{2} - 1} \omega_{n} t}{\sqrt{\zeta^{2} - 1}} + \cosh \sqrt{\zeta^{2} - 1} \omega_{n} t
\end{align} \tag{30}

したがって,(29)式は

y_{1}(t) = K \left \{ 1 - e^{-\zeta \omega_n t} \left (\cosh \sqrt{\zeta^{2} - 1} \omega_n t + \displaystyle \frac{\zeta \sinh \sqrt{\zeta^{2} - 1} \omega_{n} t}{\sqrt{\zeta^{2} - 1}} \right ) \right \} \tag{31}

のように書き換えることができます。またしても双曲線関数が登場しました。(31)式の小括弧内のcoshsinhの項についてζ → 1+の極限をとれば,

\begin{align}
& \displaystyle \lim_{\zeta \to 1^{+}} \cosh \sqrt{\zeta^{2} - 1} \omega_n t = 1 \tag{32} \\[10pt]
& \displaystyle \lim_{\zeta \to 1^{+}}  \frac{\zeta \sinh \sqrt{\zeta^{2} - 1} \omega_n t}{\sqrt{\zeta^{2} - 1}} = \omega_{n} t \tag{33}
\end{align}

となります。(32),(33)式を考慮すると,

\displaystyle \lim_{\zeta \to 1^{+}} y_{3}(t) = K \left \{ 1 - e^{-\omega_{n} t} (1 + \omega_{n} t) \right \} = y_{2}(t) \tag{34}

を得ますので,(24)式のもう半分を証明できました。

改めてステップ応答の式を見る

以上でステップ応答を表す(21) ~ (23)式がζ → 1で滑らかに繋がることを証明できました。インパルス応答の場合と同様に,より一貫性のある美しい*6形にステップ応答の式を書き直すと,

\begin{align}
y_{1}(t) &= K \left \{ 1 - e^{-\zeta \omega_n t} \left (\cos \sqrt{1 - \zeta^{2}} \omega_n t + \frac{\zeta \sin \sqrt{1 - \zeta^{2}} \omega_n t }{\sqrt{1 - \zeta^{2}}} \right ) \right \} \tag{35} \\[10pt]
y_{2}(t) &= K \left \{ 1 - e^{-\omega_{n} t} (1 + \omega_{n} t) \right \} \tag{36} \\[10pt]
y_{3}(t) &= K \left \{ 1 - e^{-\zeta \omega_n t} \left (\cosh \sqrt{\zeta^{2} - 1} \omega_n t + \frac{\zeta \sinh \sqrt{\zeta^{2} - 1} \omega_n t}{\sqrt{\zeta^{2} - 1}} \right ) \right \} \tag{37}
\end{align}

を得ます。これもまたインパルス応答の場合と同様に,本質的には(35)式と(37)式を区別する必要はないと考えられます。

まとめ

2次遅れ系の時間応答と減衰係数ζの関係について筆者がもやもやと思い悩んでいた件について,拙いながらも数式をイジることで証明できました*7。この試みの中で面白かったのは,やはり過制動(ζ > 1)の場合の時間応答に双曲線関数が現れるところですね。なお,これまで筆者はその発想に至りませんでしたが,不足制動の場合の(3)式や(21)式においてζが1を超えた場合を直接考えれば,sinやcosがsinhcoshに変わるので直ちに同じ結論に至るはずです。

参考資料

本記事を書くにあたり,以下を参考にさせて頂きました。ありがとうございます。

  1. 南裕樹:「Pythonによる制御工学入門」,オーム社,2019年,4.1.2項
  2. 南裕樹・石川将人:「制御系設計論」,コロナ社,2022年,3.1.4項
  3. 杉江俊治・藤田政之:「システム制御工学シリーズ3 フィードバック制御入門」,コロナ社,1999年,3.3節
  4. 足立修一:「制御工学の基礎」,東京電機大学出版局,2016年,4.2.6項
  5. こんとろラボ:2次遅れ系のインパルス応答・ステップ応答。特性と使い方を解説!

いずれも2次遅れ系のステップ応答を導出しています(インパルス応答は導出していないものもあります)。ただし,この中では過制動(ζ > 1)の場合のステップ応答に双曲線関数coshsinhを用いて表現していたのは,足立先生の4だけでした。また,そもそも過制動という状態は積極的に使うものではないので,いずれの資料においても大きく取り扱われてはいないように見えました。

*1:申し訳ありません…💧

*2:筆者は数学弱者につき,数学的な厳密性についてはどうぞ目をつぶって下さるよう謹んでお願い申し上げます。

*3:後述しますが「そっくり」というよりは「同じ」です。

*4:それってあなたの感想ですよね。

*5:インパルス応答を時間積分したものなので,同様の結果が得られることは自明です。

*6:個人の感想です。

*7:(注)筆者は厳然たる数学弱者です。