ケィオスの時系列解析メモランダム

時系列解析,生体情報学,数学・物理などの解説です.

【インパルス応答】t = 0 に閉じ込められた物語

前の記事(以下のリンク)で,デルタ関数,あるいは,単位インパルス関数がどこに立っているのかにこだわりました.今回は,線形システムのインパルス応答を考えて,私がなぜインパルスが立っている位置(時刻)にこだわるのかを説明します.
chaos-kiyono.hatenablog.com


 インパルス応答では,下の図の上段のように,t=0の瞬間にいろんなことが起こりすぎてややこしいです.私としては,まず下の図の下段のように考えて,それをt=0に閉じ込めたとみなしたいです.

インパルス応答

 以下では具体例として,

 \begin{eqnarray} \frac{dy(t)}{dt} + a \, y(t) &=& \delta_{\varepsilon}(t)  \end{eqnarray}

を考えます.ここで,aは正の定数,\delta_{\varepsilon}(t)は下の図のように定義します.

\delta_{\varepsilon}(t)の定義.右の図は,t>0に置いてt=0に近づける場合.

 この微分方程式a=3として,\delta_{\varepsilon}(t)\varepsilonを変えて,数値的に解いた結果が下の図です.ピンクの部分が\delta_{\varepsilon}(t),青の線が応答(出力)y(t)で,\varepsilonを0に近づけています.

入力\delta_{\varepsilon}(t) (ピンク)に対するシステムの応答(数値計算結果).\varepsilonを0に近づけた結果.

 通常は,\varepsilon \to 0とした結果を考えています.以下では,\varepsilon \to 0としたものを,\delta(t)として,
 
 \begin{eqnarray} \frac{dy(t)}{dt} + a \, y(t) &=& \delta(t), \quad y(0) = 0   \end{eqnarray}

を解いてみたいと思います.解き方はいくつかあります.私が思いつくのは3通りの方法です: (1) 同次方程式の解を求めてから定数変化法で特解を求める; (2) 積分因子を掛けて解く; (3) ラプラス変換で解く.

定数変化法で解く

 \begin{eqnarray} \frac{dy(t)}{dt} + a \, y(t) &=& \delta(t) \end{eqnarray}

は,非同次(非斉次)方程式(外部からの入力を表すtの関数を含む式)です.この方程式の一般解は,同次(斉次)方程式(外部からの入力を表すtの関数がない式)

 \begin{eqnarray} \frac{dy(t)}{dt} + a \, y(t) &=& 0  \end{eqnarray}

の一般解y_0 (t)と,右辺に\delta(t)を含む非同次方程式の特解y_{1} (t)の和で与えられます.なぜなら,y_0 (t)y_{1} (t)は,それぞれ,

 \left\{\begin{array}{l}
\displaystyle \frac{dy_0(t)}{dt} + a \, y_0(t) &=& 0 \\
\displaystyle \frac{dy_1(t)}{dt} + a \, y_1(t) &=& \delta(t)
\end{array}\right.

を満たすので,辺々足して,

 \displaystyle \frac{d}{dt} \left(y_0(t) + y_1(t) \right) + a \left(y_0(t) + y_1(t) \right) = \delta(t)

となるからです.結局,

  y(t) = y_0(t) + y_1(t)

も元の微分方程式の解になることが分かります.

 ここから,実際に解いていきます.まず,同次方程式の一般解を求めると,

 \begin{eqnarray} \frac{dy(t)}{dt}  &=& - a \, y(t) \\
\int \frac{1}{y(t)} \, dy(t)  &=& - \int a \, dt \\
\log \left| y(t) \right|  &=& - a t + C_0 \\
y(t)  &=& \pm e^{C_0}\, e^{- a t} \\
y(t) &=& C e^{-at}  \end{eqnarray}
 
となります.ここで,C_0Cは定数で,C = \pm e^{C_0}です.

 定数変化法では,上の一般解の定数部分Cを,tの関数C(t)に変えちゃいます.つまり,y(t) = C(t) e^{-at}を非同次方程式に代入し,C(t)を求めます.

 \begin{eqnarray} \frac{dy(t)}{dt} + a \, y(t) &=& \delta (t) \\
e^{-at} \frac{dC(t)}{dt} - a C(t) e^{-at}  + a C(t) e^{-at} &=& \delta(t) \\
\frac{dC(t)}{dt} &=& \delta(t) e^{at}  \\
\int_{0}^{t} dC(\tau)  &=& \int_{0}^{t} \delta(\tau) \, e^{a \tau} \, d\tau \\
C(t) - C(0) &=& \left\{\begin{array}{lc}
0  &  (t \le 0) \\
1 & (t > 0)
\end{array}\right.   \end{eqnarray}

私の流儀では,\delta(t)の面積を,t>0の領域に置いているので,

 \begin{eqnarray}\int_{0}^{\infty} \! \delta(t) \, dt &=& 1 \\
\int_{0}^{\infty} \! f(t) \, \delta(t) \, dt &=& f(0) \end{eqnarray}

になります.さらに,任意の\varepsilon > 0に対して,

 \begin{eqnarray}\int_{0}^{\varepsilon} \! \delta(t) \, dt &=& 1 \\
\int_{0}^{\varepsilon} \! f(t) \, \delta(t) \, dt &=& f(0) \end{eqnarray}

です.

 上のC(0)は,一般解に対応するので無視すれば,特解が

 y(t) = C(t) \, e^{-at} =  e^{-at} \quad  (t > 0)

と求まります.したがって,一般解は,Cを定数として,

 \begin{eqnarray} y(t) =\left\{\begin{array}{lc}
C e^{at}  &  (t \le 0) \\
C e^{at} + e^{-at} & (t > 0)
\end{array}\right. \end{eqnarray}

です.初期条件 y(0)=0を満たすようにCを設定すれば (C=0),

 \begin{eqnarray} y(t) =\left\{\begin{array}{lc}
0  &  (t \le 0) \\
e^{-at} & (t > 0)
\end{array}\right. \end{eqnarray}

となります.インパルス \delta(t)に対する応答は,t > 0で生じています.t = 0にインパルスを与えたと考えると,変な感じがします.ですので,私は t > 0で,tが0に近い時刻でインパルスを入れたとみなしたいのです.

積分因子を使って解く

 \begin{eqnarray} \frac{dy(t)}{dt} + p(t) \, y(t) &=& q(t) \end{eqnarray}

の形の微分方程式は,両辺に

 \displaystyle \exp \left( \int p(t)\, dt \right)

をかけることで,解くことができます.ここで,上の不定積分の定数項は無視してください.これは,左辺を積の微分の形にするアイデアです.

 具体的に,

 \begin{eqnarray} \frac{dy(t)}{dt} + a \, y(t) &=& \delta(t) \end{eqnarray}

を解いてみます.この場合, p(t) = aです.

 \displaystyle \exp \left( \int a \, dt \right) = e^{at}

 \displaystyle e^{at}微分方程式の両辺にかけると,

 \begin{eqnarray} e^{at} \frac{dy(t)}{dt} + a e^{at} \, y(t) &=& \delta(t) \, e^{at} \\
\frac{d}{dt} \left( e^{at} \, y(t) \right)  &=& \delta(t) \, e^{at} \end{eqnarray}

となります.左辺が,積の微分の形になっていることに気づいてください.これを解くと,

 \begin{eqnarray} \frac{d}{dt} \left( e^{at} \, y(t) \right)  &=& \delta(t) \, e^{at} \\
\int_0^{t} d \left( e^{a \tau} \, y(\tau) \right) &=& \int_0^{t} \delta(\tau) \, e^{a \tau} \, dt \\
e^{a t} \, y(t) - y(0)  &=& \left\{\begin{array}{lc}
0  &  (t \le 0) \\
1 & (t > 0)
\end{array}\right. \\ 
y(t)  &=& \left\{\begin{array}{lc}
0  &  (t \le 0) \\
e^{-at} & (t > 0)
\end{array}\right.  \end{eqnarray}

となります.

ラプラス変換で解く

 ここでは,ラプラス変換については詳しく説明しません.ラプラス変換と,その逆変換の公式の導出は,自分で調べてください.

 今回の微分方程式

 \begin{eqnarray} \frac{dy(t)}{dt} + a \, y(t) &=& \delta(t), \quad y(0) = 0 \end{eqnarray}

ラプラス変換で解いてみます.

 以下では,y(t)ラプラス変換Y(s) とします.微分方程式の両辺をラプラス変換すると,

 \begin{eqnarray} s Y(s) - y(0) + a \, Y(s) &=& 1 \end{eqnarray}

になります.初期値  y(0)=0を使うと,

 \begin{eqnarray} s Y(s) + a \, Y(s) &=& 1 \\
Y(s) &=& \frac{1}{s+a} 
\end{eqnarray}

となります.両辺を逆変換すると,

 \begin{eqnarray} y(t) &=& e^{-at}\, u(t) \end{eqnarray}

がえられます.ここで,u(t)は単位ステップ関数

 \begin{eqnarray} u(t)= \begin{cases} 0 & (t \le 0) \\ 1 & (t > 0)\end{cases} \end{eqnarray}

です.

 単位ステップ関数の別の定義として,

 \begin{eqnarray} u(t)= \begin{cases} 0 & (t < 0) \\ 1 & (t \ge 0)\end{cases} \end{eqnarray}

が使われることがあります.この定義だと, y(t) = e^{-at}\, u(t)とすると,y(0) = 1になって,初期条件 y(0) = 0を満たさなくなってしまします.明らかにダメです.

まとめ

 \begin{eqnarray} \frac{dy(t)}{dt} + a \, y(t) &=& \delta(t), \quad y(0) = 0 \end{eqnarray}

を例として解いてみました.どの解き方でも解は一致します.ここで考えたかったことは,t = 0の一瞬をどうとらえるかです.私としては,t = 0の瞬間にすべてが起きたと考えるのではなく,t=0の直後の無限に短い時間の間に応答が生じたと考えたいということです.