13. ラプラス変換

13.1 線形微分方程式

やらない夫
前回からの話の流れは,これから線形差分方程式で表されるディジタルフィルタを考えていこうということだったわけだ.

やる夫
そうだったお.

やらない夫
線形差分方程式を解析するためのツールとして z 変換というものがものがある.これについて学んでいこうと思う.

やる夫
これまでも何度か名前だけ出て来たお.いったい何者なんだお?

やらない夫
線形微分方程式を解析するためのツールとして,ラプラス変換が強力だというのは知っているだろう? z 変換は,大雑把にいうと,微分方程式じゃなくて差分方程式用のラプラス変換だ.言い換えると,連続時間系で使われるラプラス変換に相当するものを離散時間系で考えたのが z 変換になる.

やる夫
ラプラス変換が微分方程式を解くのに便利だったり,制御工学でバリバリ使われてたりするのは知ってるお.使い方もまあまあ知ってるけど,あまり理解できていないお….

やらない夫
じゃあ,まずはラプラス変換について軽く説明することにするか.

やる夫
お願いしますお.

やらない夫
ラプラス変換を使って解析する線形微分方程式として,こんなものを考えよう.


両辺を定数倍しても変わらないのでちょっと冗長だが,別に問題じゃないので気にしないことにする.

やる夫
前回の最後に出てきた線形差分方程式と似てるお.

やらない夫
その辺の対応関係を意識しながら話を聞いてもらえるといいかな.ともかく,こういう微分方程式を解くにラプラス変換が有効だ.…が,その前に,微分方程式自体についての理解は大丈夫か?

やる夫
え,えーと,大丈夫かと改めて言われるとあまり自信ないお.でも全くわからないわけでもないつもりだお.

やらない夫
じゃあウォームアップも兼ねて,ものすごく基本的な微分方程式を普通に解いてみるか.


初期条件は $ y(0) = 0$ で,入力は $ x(t) = \delta(t)$ としよう.

やる夫
デルタ関数かお.数学で微分方程式を習ったときには,あまり出て来なかった気がするお.

やらない夫
そうかも知れないな.でも今我々は線形時不変システムを考えようとしているわけだ.インパルス応答が重要なわけだから,入力として単位インパルスを考えるのは悪い例題ではないだろう.

やる夫
まあでも,このくらい簡単な微分方程式なら何とか解けそうだお.えーと,まずは斉次方程式,つまり $ x(t) = 0$ の場合を考えるんだお.

$\displaystyle \frac{d}{dt}y(t)$ $\displaystyle = a y(t)$ (13.3)
$\displaystyle \frac{1}{y(t)}dy(t)$ $\displaystyle = a dt$ (13.4)
$\displaystyle \int \frac{1}{y(t)}dy(t)$ $\displaystyle = \int a dt$ (13.5)
$\displaystyle \log{y(t)}$ $\displaystyle = at + c_0$ (13.6)
$\displaystyle y(t)$ $\displaystyle = e^{at + c_0} = e^{c_0} e^{at}$ (13.7)
  $\displaystyle = C e^{at}$ (13.8)

ただし $ c_0$ は任意定数で, $ C = e^{c_0}$ とする,っと.

やらない夫
よくできてるじゃないか.

やる夫
で,次に入力 $ x(t)$ がある場合を考えるんだお.…あれ? どうするんだったかお.

やらない夫
ほめた途端それかよ….この場合の定石は定数変化法だな.斉次解 $ y(t) = C e^{at}$ の定数 $ C$ を関数 $ C(t)$ で置き換えたものの中から,元の非斉次方程式を満たすものを見つけるんだった.

やる夫
あー,そうか.思い出したお.

$\displaystyle y(t)$ $\displaystyle = C(t) e^{at}$ (13.9)
$\displaystyle \frac{d}{dt}y(t)$ $\displaystyle = \frac{d}{dt}C(t) e^{at} + a C(t) e^{at}$ (13.10)

と置いて,元の方程式に代入するお.

$\displaystyle \frac{d}{dt}C(t) e^{at} + a C(t) e^{at} - a C(t) e^{at} = x(t)$ (13.11)

整理して $ C(t)$ について解くと

$\displaystyle \frac{d}{dt}C(t) e^{at}$ $\displaystyle = x(t)$ (13.12)
$\displaystyle \frac{d}{dt}C(t)$ $\displaystyle = x(t) e^{-at}$ (13.13)
$\displaystyle C(t)$ $\displaystyle = \int x(t) e^{-at} dt$ (13.14)

になるお.

やらない夫
不自然なくらいにすらすら出来てるじゃないか.

やる夫
章全体の長さの都合上,ここであまり尺を使いたくないという判断らしいお.で,今の問題は $ x(t) = \delta(t)$ の場合だったお.

$\displaystyle C(t)$ $\displaystyle = \int \delta(t) e^{-at} dt$ (13.15)

ってことだお.だから,$ c_1$ を任意定数として

$\displaystyle C(t)$ $\displaystyle = c_1 + \int_{-\infty}^t \delta(\tau) e^{-a\tau} d\tau$ (13.16)
  $\displaystyle = \left\{\begin{array}{ll} c_1 + 1, & t > 0 c_1, & t < 0 \end{array}\right.$ (13.17)

とかになるんかお.$ t = 0$ のときの値をどうしたらいいのかわからんお.

やらない夫
$ t = 0$ の場合は未定義ということにしておこう. $ t = 0$ にインパルスが立っている $ \delta(\tau)e^{-a\tau}$ を積分するんだから,そこを跨ぐ前は 0 で,跨ぎ終わったところで $ e^{-a0} = 1$ になるってことだな.

場合分けが見苦しいので,この「デルタ関数の積分」に記号を与えて

$\displaystyle u_0(t)$ $\displaystyle = \left\{\begin{array}{ll} 1, & t > 0 0, & t < 0 \end{array}\right.$ (13.18)

と書くことにしよう.連続時間の単位ステップ関数と呼ばれる.慣例上 $ u_0(0) = 1$ としている本も多いが,さっき考えた通り,$ t = 0$ の場合は未定義だと考えることにしよう.

やる夫
未定義なのが気持ち悪いけど,それ以外は離散時間の場合の $ u_0[n]$ と似たようなもんだからわかりやすいお.制御工学とかでもよく見たお.

やらない夫
これを使うと今の結果は

$\displaystyle C(t)$ $\displaystyle = c_1 + u_0(t)$ (13.19)

と表せる.$ u_0(t)$$ \delta(t)$ の積分なんだから,式 (13.16) から直接こう変形してもいいな.

やる夫
じゃあ,それを使っていよいよ仕上げだお. $ y(t) = C(t) e^{at}$ に代入して

$\displaystyle y(t)$ $\displaystyle = (c_1 + u_0(t)) e^{at}$ (13.20)

で,初期値 $ y(0) = 0$ を満たすように $ c_1$ を定めればいいので…,あれ? $ u_0(0)$ が未定義だから,定まんないお.どうすりゃいいんだお?

やらない夫
ああ,そこはちょっと難しいところだな.こう考えて欲しい.$ y(t)$ の値は最初は 0 だったものが,入力 $ \delta(t)$ によって駆動されて変化するわけだ.だから,$ t = 0$ で変化し始める「直前」を初期値だと考える.つまり $ t = 0$ に左から近づく極限 $ \lim_{t \rightarrow 0-} y(t)$$ y(t)$ の初期値とする.

やる夫
ふーん,まあ,$ y(0)$ が未定義なら,そうするしかない気がするお.

やらない夫
というか,一般に初期値とは $ t = 0$ への左極限であって,たいていの場合はそれが $ t = 0$ の値と一致する,というのが本来の考え方だろうな.まあともかく,これで計算を進められるだろう?

やる夫
えーと,初期値は

$\displaystyle \lim_{t \rightarrow 0-} y(t)$ $\displaystyle = \lim_{t \rightarrow 0-} (c_1 + u_0(t)) e^{at}$ (13.21)
  $\displaystyle = c_1 e^{a0}$ (13.22)
  $\displaystyle = c_1$ (13.23)

で,これが 0 にならないといけないので $ c_1 = 0$ だお.結局,解は


になるお.

やらない夫
そういうことになるな.式 (13.2) の微分方程式で初期値 $ y(t) = 0$,入力 $ x(t) = \delta(t)$ としたときの解が式 (13.24) になるわけだ.システムとして見ると,この微分方程式で表されるシステムのインパルス応答が式 (13.24) のような指数関数になるってことだな.

やる夫
インパルス応答を求めるのも一苦労だお.

13.2 ラプラス変換による微分方程式の解法

やらない夫
さて,この同じ問題をラプラス変換で解いてみよう.まず確認だが,ラプラス変換ってどういうものだった?

やる夫
えーと,時間 $ t$ の関数 $ x(t)$


として複素数 $ s$ の関数 $ X(s)$ に変換するんだったお.

やらない夫
そうだな.式 (13.25) の変換のことをラプラス変換と呼ぶ.同時に,$ X(s)$ のことも「$ x(t)$ のラプラス変換」と呼ぶ.この辺はフーリエ変換とかと同じだな.この関係を

$\displaystyle X(s)$ $\displaystyle = {\cal L}[x(t)]$ (13.26)
$\displaystyle x(t)$ $\displaystyle \stackrel{\cal L}{\longrightarrow}X(s)$ (13.27)

などと表すのが一般的だ.

式 (13.2) の微分方程式を解く場合は,まず両辺をラプラス変換するんだったな.

$\displaystyle {\cal L}\left[ \frac{d}{dt}y(t) \right]$ $\displaystyle = {\cal L}\left[ a y(t) + \delta(t) \right]$ (13.28)

やる夫
真面目にやろうと思うと面倒だけど,実際にはこの積分を真面目に計算することってほとんどないんだお.だいたいはラプラス変換表を見ながら機械的に置き換えていくだけで済んじゃうお.

やらない夫
ああ,その通りだ.当面必要なものだけ抜粋した表を書いておこうか.

  時間領域 s領域
単位インパルス $ \delta(t)$ 1
指数関数 $ e^{at} u_0(t)$ $ \displaystyle \frac{1}{s - a}$
線形性 $ a f(t) + b g(t)$ $ a F(s) + b G(s)$
微分 $ \displaystyle\frac{d}{dt} f(t)$ $ sF(s) -
f(0)$
たたみこみ $ \displaystyle h(t) * x(t) = \int_0^{\infty} h(\tau)x(t -
\tau)d\tau$ $ H(s)X(s)$

やる夫
じゃあ置き換えていきますお.まず線形性から

$\displaystyle {\cal L}\left[ \frac{d}{dt}y(t) \right]$ $\displaystyle = a {\cal L}\left[ y(t) \right] + {\cal L}\left[\delta(t) \right]$ (13.29)

微分と単位インパルスを置き換えて

$\displaystyle sY(s)$ $\displaystyle = a Y(s) + 1$ (13.30)

になるお.

やらない夫
これで,$ y(t)$ に関する微分方程式を,$ Y(s)$ に関する代数方程式に置き換えられたわけだ.

やる夫
で,これを $ Y(s)$ について解いて,

$\displaystyle (s - a)Y(s)$ $\displaystyle = 1$ (13.31)
$\displaystyle Y(s)$ $\displaystyle = \frac{1}{s - a}$ (13.32)

またラプラス変換表を見ながら,時間領域に逆変換してやればいいんだお.

$\displaystyle y(t)$ $\displaystyle = e^{at} u_0(t)$ (13.33)

終わりだお.式 (13.24) とも一致してるお.

やらない夫
というわけで,微分方程式をまともに解く場合に比べて,ラプラス変換を使うとずっと簡単に解けるわけだ.

やる夫
比べものにならないお.ほとんどチートだお.でも,正直どうしてこんな風にうまくいくのか,さっぱり理解できてないお.結局,ラプラス変換って何なんだお?

13.3 ラプラス変換とは何なのか

やらない夫
じゃあ基本的なところから説明していこう.話の出発点はフーリエ変換だ.

$\displaystyle {\cal F}[x(t)]$ $\displaystyle = \int_{-\infty}^{\infty} x(t) e^{-j\Omega t}dt$ (13.34)

やる夫
この変換で $ x(t)$ を周波数成分に分解できるわけだお.

やらない夫
ところが,フーリエ変換が収束しない関数ってのが結構多いんという問題があるんだな.既に話に出てきたものの中でも,定数関数とか,sin とか cos とかが収束しなかった.基本的に,時刻 $ t$ を正の無限大とか負の無限大にしたときに 0 に近づかないような関数は収束させようがない.

やる夫
収束しなくても,定数関数とか sin とか cos なんかは,デルタ関数を使えばフーリエ変換を考えることができたお.

やらない夫
まあそうなんだが,しかし,例えば実指数関数 $ e^{at}$ なんかだと,時刻を正または負の無限大にしたときに 0 に近づかないどころか急激に増加していってしまうので,デルタ関数で表すことすらできないんだな.さっき見たとおり,$ e^{at}$ なんてのはごく基本的な微分方程式の解として出てくるものなので,とても重要だ.これを考えることができないというのは,実用上ちょっと困る.

やる夫
あー,まあ確かにその通りだお.

やらない夫
この問題を何とかしようというのがラプラス変換の一つの目的だ.導入する対策は2つだ.まずは元の関数 $ x(t)$ に適当な実指数関数 $ e^{-ct}$ をかけてやる.

やる夫
かけて何の意味があるんだお?

やらない夫
例えばさっきの $ x(t) = e^{at}$ の場合を考えようか.$ a > 0$ だったとする.この場合 $ t \rightarrow \infty$ $ x(t) \rightarrow \infty$ で,フーリエ変換が収束しない.そこで代わりに $ x(t) e^{-ct} = e^{(a - c)t}$ を考える.

やる夫
かけてもやっぱり指数関数だお.

やらない夫
指数関数だが,今 $ c$ は自由に決められる定数だ.これを $ a - c < 0$ になるように十分に大きく取ってやろう.そうすると, $ t \rightarrow \infty$ $ x(t) e^{-ct} \rightarrow 0$ にすることができる.


\includegraphics[scale=0.5]{fig_laplace/exp_a_minus_c.eps}

やる夫
んー,そうだけど,そうすると逆に $ t \rightarrow -\infty$ のときに発散しちゃうお.やっぱりフーリエ変換できないお.

やらない夫
いいところに気づいた.だから二つ目の対策が必要だ.どうするかというと,単位ステップ関数 $ u_0(t)$ をかけておく.つまり $ x(t)u_0(t)e^{-ct}$ のフーリエ変換を考えるということだ.


\includegraphics[scale=0.5]{fig_laplace/exp_a_minus_c_u0.eps}

やる夫
えーと,時刻が負のところをばっさり捨ててしまっているわけだお.確かにそうすれば発散するしないの問題は発生しないけど,元の $ x(t)$ の情報は一部失われているお.それでいいのかお?

やらない夫
それでいいかどうかは扱おうとしている問題によるな.微分方程式の初期値問題を考えている限りは,初期時刻より前はどうでもいいわけで,「それでいい」と言ってしまってもよいだろう.

やる夫
なるほど,初期時刻以降だけを考えるような場合ならそれでよさそうだお.

やらない夫
これら2つの対策を $ x(t)$ に施してから,フーリエ変換するわけだ.

$\displaystyle {\cal F}[x(t) u_0(t) e^{-ct}]$ $\displaystyle = \int_{-\infty}^{\infty} x(t) u_0(t) e^{-ct} e^{-j\Omega t}dt$ (13.35)
  $\displaystyle = \int_{0}^{\infty} x(t) e^{-(c + j\Omega) t}dt$ (13.36)

ここで,複素数 $ c + j\Omega $ を新しい変数 $ s$ と書いたのが式 (13.25) のラプラス変換だ.

やる夫
ラプラス変換自体は,時間 $ t$ の関数から複素数 $ s$ の関数への変換なわけだけど,やってることをよくよく考えると周波数 $ \Omega$ の関数への変換なんだお.

やらない夫
定数 $ c$ を固定して考えるとそうなるな.複素平面上の虚軸に平行な直線 $ \mathop{\rm Re}\nolimits\{s\} = c$ 上の複素数値関数に移されると考えることができる.


\includegraphics[scale=0.5]{fig_laplace/lt_fixed_c.eps}

一般には $ c$ の選び方に自由度があるから,移される先の直線はある程度自由に選ぶことができる.


\includegraphics[scale=0.5]{fig_laplace/free_c.eps}

こうして可能な限り $ c$ を動かしてやった全体を考えた結果, $ X(s) = X(c + j\Omega)$ が複素平面上で定義されるようになって, $ X(s)$ を複素数 $ s$ の関数と捉えられることになるわけだ.

変換された変数 $ s$ の側の領域を,フーリエ変換同様に周波数領域と呼ぶ場合もあるし,複素領域とか $ s$ 領域とか呼ぶ場合もある.ただし,$ c$ はラプラス変換が収束するようにとってやる必要があるので,$ s$ が常に複素平面全体を動けるとは限らない点には注意が必要だ.

やる夫
$ c$ は, $ x(t)e^{-ct}$ $ t \rightarrow \infty$ で収束できるように十分大きくないといけなかったんだお.

やらない夫
そうだな.だから $ c$ は一般に,$ x(t)$ によって決まる定数より大きくなくてはならないわけだ. $ s = c + j\Omega$ で考えると,虚軸に平行なある直線より右側にいなくてはならないことになる. $ X(s)$ はその範囲でだけ収束するわけで,この範囲をラプラス変換の収束範囲と呼んだりする.


\includegraphics[scale=0.5]{fig_laplace/roc.eps}

やる夫
ラプラス変換表にある $ \delta(t)$ とか $ e^{at}$ とか,実際にそうやって計算できるのかお.

やらない夫
やってみようか.デルタ関数は簡単だ.

$\displaystyle {\cal L}[\delta(t)]$ $\displaystyle = \int_0^{\infty} \delta(t) e^{-st} dt$ (13.37)
  $\displaystyle = e^{-s0}$ (13.38)
  $\displaystyle = 1$ (13.39)

やる夫
んー,積分範囲が 0 から $ \infty$ だけど,デルタ関数のインパルスの部分を含むと考えていいのかお?

やらない夫
ああ,そう考えるのが標準的だ.0 から $ \infty$ まで積分するというのは 0 を含むかどうか曖昧だが,積分される関数の時刻 0 での値が有限なら,別に含んでも含まなくても結果は変わらない.面積に影響しないからな.問題は今のように無限大が出てくる場合だが,含まないとするとインパルス応答が常に 0 になってしまう.だから,積分範囲には 0 を含むと考えるのが合理的だ.このことを明確にしたいときは,

$\displaystyle X(s) = \int_{0-}^{\infty} x(t) e^{-st} dt$ (13.40)

と表したりするな.

やる夫
0 よりちょっとだけマイナス側から積分するってことかお.まあ,そういう約束だと思うことにしますお.

やらない夫
じゃあ次は $ e^{at}$ だ.計算してみてくれ.

やる夫
えーと,公式につっこむお.

$\displaystyle {\cal L}[e^{at}]$ $\displaystyle = \int_0^{\infty} e^{at} e^{-st} dt$ (13.41)
  $\displaystyle = \int_0^{\infty} e^{(a - s)t} dt$ (13.42)
  $\displaystyle = \left[ \frac{1}{a - s} e^{(a - s)t} \right]_0^{\infty}$ (13.43)
  $\displaystyle = \frac{1}{a - s} \left( \lim_{t \rightarrow \infty}e^{(a - s)t} - 1\right)$ (13.44)

うーん,$ \lim$ のところはどうすればいいんだお? $ a - s$ が正か負かによって発散したり収束したりするお.

やらない夫
おいおい,そこがさっきまでえんえんと説明してきたところだぞ.その部分が収束できるように, $ s = c + j\Omega$$ c$ を十分に大きく取るって話だったはずだ.

やる夫
あー,そうか,つまり $ \mathop{\rm Re}\nolimits\{a - s\} < 0$ になるように取ることで,

$\displaystyle {\cal L}[e^{at}]$ $\displaystyle = \frac{1}{a - s} \left( 0 - 1\right)$ (13.45)
  $\displaystyle = \frac{1}{s - a}$ (13.46)

ってことだお.ラプラス変換表の答えが出てきたお.

やらない夫
そうだな.この場合の収束範囲は $ \mathop{\rm Re}\nolimits\{s\} > \mathop{\rm Re}\nolimits\{a\}$ ということになる.こういう風に,積分を計算するときに収束させられるように自由にパラメータ $ c$ を取れるってのがミソなわけだな.

やる夫
しっくり来た気がするお.えーと,ラプラス変換はわかったけど,ラプラス逆変換の方はどうなるんだお?

やらない夫
やっぱりフーリエ逆変換から考えるのがいいだろうな.完全にラプラス変換になる切る前の,まだフーリエ変換らしさが残っている式 (13.35) に基づいて考えると,ラプラス変換ってのはつまり,

$\displaystyle X(c + j\Omega)$ $\displaystyle = {\cal F}[x(t) u_0(t) e^{-ct}]$ (13.47)

という計算をしているわけだな.これに対応するフーリエ逆変換を考えると,

$\displaystyle x(t) u_0(t) e^{-ct}$ $\displaystyle = {\cal F}^{-1}[X(c + j\Omega)]$ (13.48)
  $\displaystyle = \frac{1}{2\pi} \int_{-\infty}^{\infty} X(c + j\Omega) e^{j\Omega t} d\Omega$ (13.49)

になる.

やる夫
フーリエ逆変換の公式通りだお.

やらない夫
左辺の $ e^{-ct}$ を右辺に移そう.

$\displaystyle x(t) u_0(t)$ $\displaystyle = \frac{1}{2\pi} \int_{-\infty}^{\infty} X(c + j\Omega) e^{ct} e^{j\Omega t} d\Omega$ (13.50)
  $\displaystyle = \frac{1}{2\pi} \int_{-\infty}^{\infty} X(c + j\Omega) e^{(c + j\Omega) t} d\Omega$ (13.51)

ここで右辺の積分変数 $ \Omega$$ s$ に置換すればラプラス逆変換の公式が得られる.

やる夫
えーと, $ s = c + j\Omega$ だから $ ds = jd\Omega$ だお.置換すると


になるお.何か積分範囲が気持ち悪いけどこれでいいのかお?

やらない夫
いいだろう.虚軸に平行な直線 $ \mathop{\rm Re}\nolimits\{s\} = c$ に沿って積分することになるな.

やる夫
んー,結局左辺の $ u_0(t)$ はついたままなのかお? $ x(t) = \cdots$ ってするわけにはいかないのかお?

やらない夫
ああ,こうならざるを得ない.ラプラス変換する時点で $ u_0(t)$ をかけて時刻が負のところの情報は捨ててしまったわけだ.そこから $ s$ 領域に移って,また時間領域に戻ってきても,捨てた情報は取り戻せない.$ t < 0$ の部分がすべて 0 になった関数に戻るだけだ.

やる夫
なるほど.まあ初期時刻より前のことは考えないわけだから,別にそれで問題ないっちゃないんだお.

やらない夫
さらに思い切って「初期時刻より前のことはハナから気にしない」という立場で, $ x(t) u_0(t)$ のことを $ x(t)$ と書いてしまっている本もあるので注意して欲しい.ラプラス変換表もそうで,例えば $ e^{at} u_0(t) \stackrel{\cal L}{\longrightarrow}\frac{1}{s - a}$ の代わりに $ e^{at} \stackrel{\cal L}{\longrightarrow}
\frac{1}{s - a}$ と書かれている場合がある.というかむしろその方が多いかもな.読むときに頭の中で「$ t < 0$ の範囲は捨て去られている」と補ってやることが重要だ.

やる夫
しかしちょっと不思議だお.例えば今の例だと $ \frac{1}{s - a}$ を式 (13.52) の右辺の通りに積分しただけで,$ t = 0$ で不連続な $ e^{at} u_0(t)$ が出てくるってことかお?

やらない夫
ああ,出てくる.実際の計算は複素関数論の知識を使ってやることになる.深入りはしないが,$ t = 0$ を境界として場合分けして計算することになるはずだ.その結果 $ t < 0$ の範囲では答えとして 0 が出てくる.

やる夫
ふーん,まあ,でもこの逆変換の公式を直接使うことはほとんどないんだお? だいたいラプラス変換表を見てしまえば済んでしまうんだお?

やらない夫
実用上そういうケースが多いのは認めるが,最終手段としてちゃんと公式から直接計算できるように訓練しておくのは重要だと思うぞ.

それからもう一つ,後々のために,このラプラス逆変換の公式を直観的に理解しておいてもらいたいと思う.

やる夫
んー,どういうことだお?

やらない夫
フーリエ逆変換の公式は,時間関数 $ x(t)$ が角周波数 $ \Omega$ の成分 $ e^{j\Omega t}$ の重ね合わせで表されることを意味していただろ.

やる夫
そうだったお.幾何学的にとらえると $ \{ e^{j\Omega t} \}_{\Omega \in {\bf R}}$ の各方向にベクトル $ x(t)$ を分解しているんだお.

やらない夫
同じように,ラプラス逆変換は,時間関数 $ x(t) u_0(t)$ をいろいろな角周波数 $ \Omega$ $ e^{(c + j\Omega) t}$ の重ね合わせで表しているというイメージを持っておいて欲しい.重ね合わせるときの係数がラプラス変換 $ X(c + j\Omega) = X(s)$ だ.

やる夫
んー,まあフーリエ逆変換とラプラス逆変換の式を見比べると,確かにそういう解釈はできそうだお.えーと,てことはこれも正規直交展開みたいなもんなのかお?

やらない夫
厳密に議論しようとすると, $ \{ e^{(c + j\Omega) t} \}_{\Omega \in {\bf R}}$ の各要素間で内積を考えるのが難しいので,あまりそういう考え方をすることはないようだな.だから $ \{ e^{(c + j\Omega) t} \}_{\Omega \in {\bf R}}$ で直接展開するのではなく,今やったようにいったんフーリエ変換を経由して定式化するのが普通のようだ.しかし,ちょっと厳密性には目をつぶって,そういう見方もしておこう.

やる夫
んーと,フーリエ変換の場合, $ \{ e^{j\Omega t} \}_{\Omega \in {\bf R}}$ ってのは角周波数の違う単振動の集合で,それらの重ね合わせで信号を表すってことでイメージできてたお.


\includegraphics[scale=0.5]{fig_laplace/superpos_ft.eps}

でも, $ \{ e^{(c + j\Omega) t} \}_{\Omega \in {\bf R}}$ の場合,どういうイメージを持てばいいのかお?

やらない夫
$ e^{(c + j\Omega) t} = e^{ct} e^{j\Omega t}$ になるだろ? だから,角周波数 $ \Omega$ で振動しながら,その振幅が $ e^{ct}$ で変化していくような信号を分解要素と考えればいい.$ c$ はラプラス変換が収束するように十分に大きく取るんだったから,まあ $ c > 0$ の適当な定数を想像してもらえればいいかな.

やる夫
えーと,てことは振幅が指数関数的に大きくなっていく振動ってことになるお.

やらない夫
そうだな.振幅の変化のしかたは $ e^{ct}$ で共通で,ただし振動の角周波数 $ \Omega$ が異なる無数の信号の重ねあわせで元の信号を表そうってことになるな.


\includegraphics[scale=0.5]{fig_laplace/superpos_lt.eps}

やる夫
そんなややこしいものを重ね合わせて何が嬉しいんだお?

やらない夫
そもそもラプラス変換を何のために導入したんだったかというと,フーリエ変換が収束しない場合への対策だったわけだ. $ t \rightarrow \infty$ で 0 に近づかないような信号を,振幅一定の単振動の重ねあわせで表現しようと思うと,重ね合わせ係数として無限大が必要になってしまう,ってのがフーリエ変換が収束しない状況だ.

じゃあ,最初から $ t \rightarrow \infty$ で発散するような振動を重ね合わせの構成要素としておけば,重ね合わせ係数を有限で抑えることができるようになるんじゃないか.これがラプラス変換の発想だな.

やる夫
ちょっと想像しにくいけど,言ってることはわかるお.

やらない夫
このような重ね合わせの考え方を使って,たたみこみと積の関係がラプラス変換でも成り立つことを見ておこう.フーリエ変換でたたみこみと積の関係を導いたときは,単振動 $ e^{j\Omega t}$ を入力して応答を見たんだった.

やる夫
今の流れで考えると,ラプラス変換の場合はやっぱり $ e^{st} = e^{(c+j\Omega)t}$ を入れてみるのかお?

やらない夫
いい推測だ.インパルス応答 $ h(t)$ を持つ因果的なシステムへ $ x(t) = e^{st}$ を入力すると

$\displaystyle y(t)$ $\displaystyle = \int_0^{\infty} h(\tau) x(t - \tau) d\tau$ (13.53)
  $\displaystyle = \int_0^{\infty} h(\tau) e^{s (t - \tau)} d\tau$ (13.54)
  $\displaystyle = e^{st}\int_0^{\infty} h(\tau) e^{-s\tau} d\tau$ (13.55)
  $\displaystyle = H(s) e^{st}$ (13.56)

となる.つまり,振幅が変化しながら振動する $ e^{st}$ を入れると,同じ $ e^{st}$$ H(s)$ 倍されて出てくるわけだ.

やる夫
えーと,だから,任意の入力 $ x(t)$ を分解して考えると,各 $ e^{st}$ の成分 $ X(s)$$ H(s)$ 倍されて出力されるってことだお.結局フーリエ変換と同じく,時間領域で $ h(t)$ をたたみこむと,周波数成分が $ H(s)$ 倍になるんだお.

やらない夫
まあフーリエ変換と同じ関係なので覚えるのは簡単だろう.$ H(s)$ は伝達関数と呼ばれるんだが,これについてはもう少し後で詳しく見ることにしよう.

13.4 なぜラプラス変換で微分方程式が解けるのか

やる夫
ラプラス変換がどういうものかってことはわかってきたけど,それでも最初の疑問が消えないお.どうして微分方程式があんなに簡単に解けるんだお?

やらない夫
ええと,微分方程式を $ s$ 領域に移すと代数方程式になるから簡単に解けて,それを逆変換すれば答えが求まる,っていうことはわかった上で聞いてるんだな?

やる夫
そうだお,それはわかってるお.聞きたいのは,どうしてそんな風にうまくいくのかってことだお.$ e^{-ct}$ をかけてフーリエ変換するだけで,なんでこんな手品みたいことが起きるんだお?

やらない夫
なかなか深い質問だな.一言では説明できないので,ゆっくり紐解いていこう.まず最初に注意しておいてもらいたいんだが,微分方程式が簡単に解けるのは別にラプラス変換の専売特許じゃない.フーリエ変換でも可能だ.つまり $ e^{-ct}$ をかけていることは本質的にはあまり関係ない.

やる夫
あ,あれ,そうなのかお?

やらない夫
フーリエ変換で周波数領域に移すと微分方程式が代数方程式になって簡単に解ける,というのが本質であって,$ e^{-ct}$ をかけているのは,少なくとも微分方程式を解くという作業に関しては,フーリエ変換が収束しない場合への対策でしかない.まずこれを説明しよう.

出発点は式 (13.1) の微分方程式だ.

$\displaystyle \left\{\sum_{k = 0}^{N} a_k (\frac{d}{dt})^{k} \right\} y(t) = \left\{\sum_{k = 0}^{M} b_k (\frac{d}{dt})^{k} \right\} x(t)$ (13.1)

この $ y(t)$$ x(t)$ をフーリエ逆変換で置き換えてみよう.

やる夫
えーと,つまり周波数成分に分解してみるってことだお. $ y(t)$$ x(t)$ のフーリエ変換を $ Y(\Omega)$$ X(\Omega)$ として,

$\displaystyle \frac{1}{2\pi}\left\{\sum_{k = 0}^{N} a_k (\frac{d}{dt})^{k} \rig...
...ac{d}{dt})^{k} \right\} \int_{-\infty}^{\infty} X(\Omega) e^{j\Omega t} d\Omega$ (13.57)

になるお.

やらない夫
ここで微分を総和する演算と積分演算を交換しよう.総和は有限個なので問題なく交換できる.微分と積分の交換は本当は慎重にやらないとまずいが,まあ気にしないことにしよう.

$\displaystyle \frac{1}{2\pi}\int_{-\infty}^{\infty} \left\{\sum_{k = 0}^{N} a_k...
...sum_{k = 0}^{M} b_k (\frac{d}{dt})^{k} \right\} X(\Omega) e^{j\Omega t} d\Omega$ (13.58)

総和の各項の微分は $ Y(\Omega)e^{j\Omega t}$ に適用されるわけだが,ここで $ Y(\Omega)$$ X(\Omega)$$ t$ を含まないことに注意して欲しい.つまり

$\displaystyle (\frac{d}{dt})^{k} Y(\Omega)e^{j\Omega t}$ $\displaystyle = Y(\Omega) (\frac{d}{dt})^{k} e^{j\Omega t}$ (13.59)
  $\displaystyle = (j\Omega)^{k} Y(\Omega) e^{j\Omega t}$ (13.60)

と計算できる.元の方程式に代入すると

$\displaystyle \frac{1}{2\pi}\int_{-\infty}^{\infty} \left[\left\{\sum_{k = 0}^{...
..._{k = 0}^{M} b_k (j\Omega)^{k} \right\} X(\Omega) \right] e^{j\Omega t} d\Omega$ (13.61)

ってことになる.

やる夫
あっ,微分がなくなったお.

やらない夫
この両辺をよく見てみると,大カッコ [ ] で囲まれた部分は $ \Omega$ の関数であって,その逆フーリエ変換を計算していることになっている.

やる夫
あー,そうなってるお.つまり,両辺の大カッコの中の式の逆フーリエ変換同士が等しいってことだお.

やらない夫
逆フーリエ変換して等しくなるってことは,大カッコの中身同士も等しいってことだ.


これが,任意の $ \Omega$ について成り立つということだな.

やる夫
お,おお?

やらない夫
もうこれはただの代数方程式なので,簡単に解くことができる.


右辺のフーリエ逆変換を計算すれば,それは左辺のフーリエ逆変換,すなわち $ y(t)$ と一致する.$ y(t)$ が得られたわけだ.

$\displaystyle y(t) = {\cal F}^{-1} \left[ \frac{\sum_{k = 0}^{M} b_k (j\Omega)^{k}} {\sum_{k = 0}^{N} a_k (j\Omega)^{k}} X(\Omega) \right]$ (13.64)

やる夫
あ,いや,えーと,頭の整理に時間がかかりそうだお.

やらない夫
数式だけを追っているとわからなくなるかもな.幾何学的に考えてみようか.

何度か話した通り,信号 $ x(t)$ をフーリエ変換するってのは, $ x(t)$ をベクトルとみなして周波数 $ \Omega$ ごとの基底ベクトル $ e^{j\Omega t}$ の方向に成分分解することだった.


\includegraphics[scale=0.5]{fig_laplace/decomp.eps}

やる夫
そうだったお.

やらない夫
分解された各成分は,ベクトル $ e^{j\Omega t}$ $ \frac{1}{2\pi}X(\Omega)$ 倍されたものになる.説明上,このベクトルを「方向が $ e^{j\Omega t}$ で,長さが $ \frac{1}{2\pi}X(\Omega)$倍されたベクトル」と呼ぶことにしよう.ただし以降では, $ \frac{1}{2\pi}$ 倍は邪魔なので省略して考える.どうせ常に方程式の両辺につくから,無くても同じだ.

やる夫
普通の幾何学で,方向が $ \bm{e}$ で長さが $ a$ 倍されたベクトル $ a\bm{e}$ って言っているようなもんだお.

やらない夫
$ x(t)$ 自体を微分する代わりに,各成分を個別に微分してから重ね合わせることを考えよう. $ e^{j\Omega t}$ は微分すると $ j\Omega e^{j\Omega t}$ になる.つまり,分解された各方向ベクトルは,微分しても方向は変わらず長さが $ j\Omega$ 倍になるだけだ.


\includegraphics[scale=0.5]{fig_laplace/decomp_diff.eps}

やる夫
えーと? あ,そうか.今は $ t$ の関数をベクトルとみなしているので, $ j\Omega$ は単なるスカラなんだお.各方向のベクトルがそのまま伸縮することになるお.伸縮率は $ j\Omega$ 倍だから,周波数 $ \Omega$ によって変わるけど,ともかく方向は変わらないお.

やらない夫
ということを踏まえて元の微分方程式を考えよう.ベクトル $ x(t)$$ y(t)$ を適当な回数微分して,定数倍して,それらを足し合わせたもの同士が一致することを表しているわけだ.

$ x(t)$$ y(t)$ を各方向に分解してからこの一連の操作をすることを考えると,この操作によってやっぱり各成分の方向は変わらずに伸縮だけすることになる.操作後のベクトルが両辺で一致するということは,操作後の各方向の長さ同士も一致するということだ.これがあらゆる方向 $ e^{j\Omega t}$ についていえる.その関係が代数方程式 (13.62) で表されている.

やる夫
つまり,微分方程式 (13.1) は「ベクトル同士が等しい」という関係であって,これを「ベクトルの成分同士が等しい」という関係として書き直したのが代数方程式 (13.62) だってことかお.

やらない夫
そういうことだ.その際,成分分解を考えるときの基底として,微分しても方向が変わらない複素指数関数を採用したのがミソになっている.線形代数の言葉でいうと,微分に関する固有ベクトルを基底ベクトルにしたわけだな.固有値が $ j\Omega$ になる.

やる夫
あ,いや,そんな急に線形代数の言葉でいわれても困るお.

やらない夫
まあ,固有ベクトル云々はちょっと頭の片隅に入れておいてくれるだけでいい.ともかくベクトルの成分同士が等しいという関係から $ \Omega$ についての代数的な恒等式が得られたわけだ.微分された信号を,微分演算を使わずに表示することができる.

やる夫
で,それを $ Y(\Omega)$ について解いて,逆フーリエ変換するんだお.

やらない夫
そうだな.もうその意味も明白だろう.$ Y(\Omega)$ について解いた方程式 (13.63) の両辺を互いに等しいベクトルの成分だと考える.右辺のような成分から構成されるベクトルを構築するわけと,それが $ y(t)$,つまり微分方程式の解になる.

やる夫
結局,フーリエ変換だけで話が完結しちゃったお.ラプラス変換はどこに行ったのかお?

やらない夫
ラプラス変換でも話は全く同じだ.フーリエ変換が収束しなくてもラプラス変換なら収束する場合があるので,そちらの方が使える範囲が広いわけだ.

同じ微分方程式を考えて,今度は $ x(t)$$ y(t)$ のラプラス変換を $ X(s)$$ Y(s)$ と書くことにしよう.$ x(t)$$ y(t)$ を逆ラプラス変換で置き換えて同様に考えていくと,$ j\Omega$ のところが $ c + j\Omega $ になるだけで後は全く同様の議論ができる.つまり,

$\displaystyle \left\{\sum_{k = 0}^{N} a_k (c + j\Omega)^{k} \right\} Y(s) = \left\{\sum_{k = 0}^{M} b_k (c + j\Omega)^{k} \right\} X(s)$ (13.65)

すなわち


という代数方程式が得られるってことだな.

やる夫
あー確かにこれは,元の微分方程式をラプラス変換表を見ながら書き換えたものになってるお.そうか,「時間領域で微分すること」が「$ s$ 領域で $ s$ をかけること」に対応するのは,$ e^{st}$ の肩の $ s$ が微分で前に来るからだったんだお.

やらない夫
幾何学的にもフーリエ変換の場合と同じように考えればよいだろう.フーリエ変換の場合は $ \{ e^{j\Omega t} \}_{\Omega \in \bm{R}}$ の各方向に分解して考えたが,ラプラス変換の場合は $ \{ e^{(c + j\Omega) t} \}_{\Omega
\in \bm{R}}$ の各方向に分解して考えるわけだな.

13.5 なぜ $ c + j\Omega $$ s$ にするのか

やる夫
うーん,微分方程式が解ける理由はわかったけど,新たな謎が出てきたお.結局,ラプラス変換は単にフーリエ変換の収束性の問題を緩和するだけのものだってことなんだお? だったら,どうしてわざわざ $ s = c + j\Omega$ なんて変数の置き換えをして話をややこしくするのかわからんお.

やらない夫
それにはちゃんと理由がある.その理由を理解すれば,ラプラス変換が「単にフーリエ変換の収束性の問題を緩和するだけ」のものではないこともわかってもらえるはずだ.

やる夫
あっ,そうなのかお.それは教えて欲しいお.

やらない夫
さっきは,$ s$ 領域に移してから代数的操作をして,それをまた時間領域に戻すことで微分方程式を解くことを考えた.だが,実は最後の「時間領域に戻す」ところをやらずに $ s$ 領域のままでも,元の微分方程式について多くのことがわかる.

やる夫
えっと,どういうことかお.

やらない夫
制御工学とかでは実際によく出てくる話だ.式 (13.66) をもう少し $ s$ 領域のままで観察してみよう.

$\displaystyle Y(s) = \frac{\sum_{k = 0}^{M} b_k s^{k}}{\sum_{k = 0}^{N} a_k s^{k}} X(s)$ (13.67)

の分数の部分を $ H(s)$ と呼ぶことにする.つまり


ってことだ.そうすると

$\displaystyle Y(s) = H(s)X(s)$ (13.69)

と書ける.

やる夫
出力 $ Y(s)$ は入力 $ X(s)$$ H(s)$ 倍だってことだお.

やらない夫
時間領域では $ y(t)$$ x(t)$ の何倍とか,そういう安直なことは全く言えないわけだが,$ s$ 領域ではそのように見ることができるということだ. $ H(s)$ を,このシステムの伝達関数と呼ぶ.

やる夫
ああ,制御工学で習ったお.

やらない夫
伝達関数が何者かをもう少し追究しよう.$ H(s)$$ X(s)$ の積が $ Y(s)$ になるわけだが,これは時間領域だとどういう関係を表している?

やる夫
えーと,たたみこみと積の関係から

$\displaystyle y(t) = h(t) * x(t)$ (13.70)

ってことだお.入力に $ h(t)$ をたたみこむと出力が計算できるってことなので,$ h(t)$ はこのシステムのインパルス応答だってことになるお.

やらない夫
その通り.つまり,伝達関数とはインパルス応答のラプラス変換であるということだ.これも制御工学で習ったはずの重要な事項だ.

やる夫
んー,あー,確かにそうだった気がするお.

やらない夫
別の見方として, $ x(t) = \delta(t)$ を入力に取ったとしよう.$ s$ 領域では $ Y(s) = H(s) \cdot 1 = H(s)$ だ.単位インパルス $ \delta(t)$ を入力したときの出力が $ h(t)$ そのものだってことがわかるだろう.

やる夫
あ,そっちの方がわかりやすいお.

やらない夫
具体例でもう少し考えてみよう.

$\displaystyle \ddot{y}(t) + 3 \dot{y}(t) + 2y(t) = x(t)$ (13.71)

という微分方程式を考えよう. $ \frac{d}{dt}$ をいちいち書くのが面倒なので,慣例通り $ y(t)$ の時間微分,2階時間微分…を $ \dot{y}(t)$ $ \ddot{y}(t)$ …と書くことにしよう.初期値は $ y(0) = \dot{y}(0) = 0$ とする.ラプラス変換して $ Y(s)$ について解いてみてくれ.

やる夫
簡単だお.時間微分を $ s$ 倍で置き換えて

$\displaystyle s^2Y(s) + 3 sY(s) + 2Y(s)$ $\displaystyle = X(s)$ (13.72)
$\displaystyle (s^2 + 3 s + 2)Y(s)$ $\displaystyle = X(s)$ (13.73)
$\displaystyle Y(s)$ $\displaystyle = \frac{1}{s^2 + 3 s + 2} X(s)$ (13.74)

になるお.

やらない夫
そうだな. $ \frac{1}{s^2 + 3 s + 2}$ の部分が伝達関数だ.これをラプラス逆変換すると,インパルス応答が得られる.

やる夫
えーと,じゃあラプラス変換表を見て…,って,こんなの表にないお.

やらない夫
まあよくあることだな.どうするんだった?

やる夫
そっか,部分分数展開するんだったお.

$\displaystyle H(s)$ $\displaystyle = \frac{1}{s^2 + 3 s + 2}$ (13.75)
  $\displaystyle = \frac{1}{(s + 2)(s + 1)}$ (13.76)
  $\displaystyle = \frac{1}{s + 1} - \frac{1}{s + 2}$ (13.77)

こうすれば,変換表 $ e^{at} u_0(t) \stackrel{\cal L}{\longrightarrow}\frac{1}{s - a}$ を使って

$\displaystyle {\cal L}^{-1}\left[\frac{1}{s + 1} - \frac{1}{s + 2} \right]$ $\displaystyle = (e^{-t} - e^{-2t})u_0(t)$ (13.78)

って逆変換できるお.これがインパルス応答だお.

やらない夫
そうだな.2つの実指数関数を足し合わせた応答になるわけだ.

さて,今,ラプラス逆変換で時間領域に戻してもらったわけだが,戻さなくても,部分分数展開できた時点でインパルス応答の挙動はもうわかったようなものだろう?

やる夫
まあ,そうだお. $ \frac{1}{s - a}$ が指数関数になるってわかってるわけだから,後は実際に書き下すかどうかだけの問題だお.

やらない夫
さらに遡って,部分分数展開する前の時点,つまり $ \frac{1}{(s + 2)(s +
1)}$ まで計算した時点だとどうだろう.

やる夫
えーっと…,部分的にはわかるお.少なくとも $ e^{-2t}$$ e^{-t}$ の線形結合になることだけはわかりそうだお.

やらない夫
ああ,今の場合,「分母 = 0」とした方程式の解の $ s = -2, -1$ から, $ e^{-2t}$$ e^{-t}$ が出てくることがわかるわけだな.それがわかるだけで,いろいろと重要な情報がつかめる.つまり,インパルス応答は時間とともに発散せず,振動的な挙動もしないってことだ.

同じように,「分母 = 0」の解として例えば $ s = 3$ が出て来たとすると,インパルス応答は $ e^{3t}$ を含むので発散すると判断できるだろう.

複素数解が出て来たらどうなる?

やる夫
えーと,例えば $ s = -1 + 2j$ が解だとしたら $ e^{(-1 + 2j)t} = e^{-t}
e^{j2t}$ がインパルス応答に含まれるので,角周波数 2 [rad/s] で振動しながら減衰していく成分が含まれるってことだお.…んー,複素指数関数だから,螺旋を描きながら振動するわけだお.そんな物理現象なんてあるかお?

やらない夫
それは問題ない.元の微分方程式が実際の物理現象を表しているものなら,係数は実数になるだろう.伝達関数の分母多項式も実係数になる.とういことは,複素数解は必ず共役なものとペアで出てくるわけだ.今の場合なら, $ e^{(-1 + 2j)t}$ と一緒に $ e^{(-1 - 2j)t}$ も現れるので,虚数部は互いにキャンセルされて,ちゃんと実数値の,振動しながら減衰する応答が出てくる.

やる夫
なるほど,安心したお.

やらない夫
まあともかくこれで,時間領域に戻さなくてもいろいろな情報が把握できることがわかっただろう.

やる夫
実際にラプラス逆変換までしなくても,「分母 = 0」の解が重要な情報を握っているってことだお.

やらない夫
重要なので,やっぱり名前がついている.伝達関数の分母 = 0 という方程式は特性方程式と呼ばれて,その解を,そのシステムの極,あるいは伝達関数の極という.伝達関数が無限大に発散する点だな.

$ s = a_1$ が極のとき,インパルス応答が $ e^{a_1 t}$ という要素を含むことになる.正確には,分母 = 0 が重解を持つときはちょっと話が違うのだが その場合も大勢は変わらないので置いておこう.$ a_1$ の実部の正負によって発散/収束が決まるし,虚部によって振動の周波数が決まってくる.

やる夫
ああー,そういえば制御工学で,すべての極の実部が負だったら安定,とか習ったけど,そういうことなのかお.すべての極の実部が負だったら,確かにインパルス応答に含まれる指数関数はすべて時間とともに収束するようになるお.よく意味もわからず丸暗記してたお….

やらない夫
だから,複素平面で極がどこに配置されているかという情報はとても重要だ.それがシステムの挙動を如実に表しているわけだ.

やる夫
んー,あれ? でもちょっとおかしくないかお?

やらない夫
何がだ?

やる夫
例えばさっきの $ h(t) = (e^{-t} - e^{-2t})u_0(t)$ だお.ラプラス変換して $ H(s) = \frac{1}{(s + 2)(s + 1)}$ になるわけだけど,その収束範囲は,えーと, $ \mathop{\rm Re}\nolimits\{s\} > -1$ になると思うお.そうじゃないとラプラス変換の積分が収束しないお.

やらない夫
そうだな.式 (13.41) を計算した辺りで考えた通りだ.

やる夫
つまり $ H(s)$ $ \mathop{\rm Re}\nolimits\{s\} > -1$ の範囲でしか意味がないはずで,それなのに極が $ s = -2$ とか $ s = -1$ とかにあるから云々って議論するのっておかしくないかお?


\includegraphics[scale=0.5]{fig_laplace/roc_pole.eps}

やらない夫
お前たまに鋭い質問するよな.その指摘はもっともだが,結論から言うと気にする必要はない. $ H(s) = \int_0^{\infty} h(t) e^{-st}dt$ という積分は,確かに収束範囲内でしか存在しない.しかし,収束範囲内で存在する $ H(s)$ の具体的な数式表現,例えば $ H(s) = \frac{1}{(s + 2)(s + 1)}$ という式がいったん得られてしまえば,その定義域を複素平面全体に拡張して考えることは可能だ.極の配置を考えるときには,この拡張された $ H(s)$ を考えている.

やる夫
んー,そんな勝手に拡張しちゃっていいのかお?

やらない夫
例えば $ e^{at} u_0(t) \stackrel{\cal L}{\longrightarrow}\frac{1}{s - a}$ という関係を考えよう.ラプラス変換の公式の積分を計算した結果として $ \frac{1}{s - a}$ が得られるのは, $ \mathop{\rm Re}\nolimits\{s\} > a$ の範囲だけだ.しかし, $ \frac{1}{s - a}$$ a$ と, $ e^{at}$$ a$ が対応しているという事実は,収束範囲とは何の関係もない.

やる夫
そっか,…てことは,ラプラス変換の計算をするときは収束範囲を気にする必要があるけど,いったん変換しちゃったらもう気にしなくていいのかお?

やらない夫
そうとも限らないな.例えばラプラス逆変換するときは積分経路を収束範囲内に取らないといけない.そうじゃなくてさっきの場合は, $ \frac{1}{s - a}$ という「式」から $ a$ がわかることだけが重要であって, $ s = a$ において実際にラプラス変換を評価しているわけではない.そこが大きな違いだな.

やる夫
うーん,なかなかややこしいお.

やらない夫
いろいろ気にし始めるとその辺は難しいんだが,ともかく,ラプラス変換後の $ s$ の式の形だけから,システムの時間領域の挙動が把握できるということを理解して欲しい.そしてそれは,$ \Omega$ じゃなくて $ s = c + j\Omega$ という新しい変数で書き換えたからこそ可能になったことだ.

やる夫
あー,確かに, $ c + j\Omega $ のままで「分母 = 0」を $ \Omega$ について解いても,わけわからんまま終わりそうだお.

やらない夫
ラプラス変換を部分分数展開することの意味を,もうちょっとだけ一般化した土俵で考えておこう.微分方程式から求めた伝達関数の一般形

$\displaystyle H(s) = \frac{\sum_{k = 0}^{M} b_k s^{k}}{\sum_{k = 0}^{N} a_k s^{k}}$ (13.68)

のうち,$ N > M$ で,分母 = 0 が重解を持たない場合を考えよう.これらの条件があると,部分分数展開が簡単にできて話がしやすい.この条件を満たさない場合については, 付録で扱うことにする.

やる夫
えーと,分母 = 0 の解を $ \lambda_i   (i = 1, \cdots, N)$ と書くと,適当な定数 $ w_i   (i = 1, \cdots, N)$ を使って

$\displaystyle H(s) = \sum_i^N \frac{w_i}{s - \lambda_i}$ (13.79)

って展開できるお.重解がある場合はもうちょっと面倒だった気がするけど,この場合は簡単だお.

やらない夫
つまり,$ H(s)$ という伝達関数を $ H_i(s) = 1/(s - \lambda_i)$ という $ N$ 個の伝達関数に並列分解することになる.同じ入力 $ X(s)$ をこれらのサブシステムに入れて,各出力 $ Y_i(s)$ に重み $ w_i$ をかけて足し合わせたものが出力 $ Y(s)$ だ.


\includegraphics[scale=0.5]{fig_laplace/sum_hi.eps}

やる夫
まあ見たまんまだお.

やらない夫
各サブシステムの入出力関係を式で表すと

$\displaystyle Y_i(s)$ $\displaystyle = \frac{1}{s - \lambda_i} X(s)$ (13.80)

すなわち

$\displaystyle s Y_i(s)$ $\displaystyle = \lambda_i Y_i(s) + X(s)$ (13.81)

となる.これを時間領域で表すとどうなる?

やる夫
えーと,

$\displaystyle \frac{d}{dt} y_i(t)$ $\displaystyle = \lambda_i y_i(t) + x(t)$ (13.82)

になるお.んー,最初にやった例題の微分方程式 (13.2) の形だお.

やらない夫
そう,考え得る限り最も基本的な微分方程式で表されるシステムだな.既に見た通り,そのインパルス応答は $ e^{\lambda_i t} u_0(t)$ になる. $ \lambda_i$ の値によって,時間とともに発散したり,減衰したり,振動しながら発散あるいは減衰したりする.そういう「基本的な要素」へシステムを分解するのがラプラス変換の重要な目的だ.

フーリエ変換の場合,どんな信号でも定常的な振動に無理やり分解してしまうので,そういう減衰とか発散のような過渡的な挙動が抽出できないんだな.ラプラス変換ならそれができる.

やる夫
そっか,で,そういう分解を部分分数展開で行えたり,各基本要素の挙動を「分母 = 0」の解として得たりできるように,変数 $ s$ が導入されているってことだお.

…あれー,でも別に $ s = c + j\Omega$ って定義しなくても,フーリエ変換のまま考えて $ s = j\Omega$ という変数を導入したとしても,同じことはできるんじゃないかお?

やらない夫
ま,そうだな.フーリエ変換が収束する/しないを気にしないとするなら,形式的にはその通りだ.

やる夫
形式的にはってどういうことだお?

やらない夫
フーリエ変換のまま $ s = j\Omega$ と置いても確かに計算上は同じ結果が出てくるが,解として純虚数以外のもの,例えば $ s = -3$ とか $ s = 2 + j$ とかが出てきた場合の解釈ができない.

結局本質的な役割を果たしたのは,実数 $ \Omega$ として,あるいは純虚数 $ j\Omega$ として定義されていた周波数という概念を,複素数 $ s$ に拡張したことだといえるだろうな.

やる夫
ラプラス変換のおかげで伝達関数を基本要素に分解できるという話は何となくわかった気がするお.でも,それはシステムのインパルス応答をラプラス変換する場合だけの話だお? 入力とか出力とかの信号をラプラス変換する場合は今の考え方は使えないのかお?

やらない夫
いや,全く同じように考えることができる.信号 $ x(t)$ というのは,インパルス応答が $ x(t)$ であるようなシステムに単位インパルス $ \delta(t)$ を入力したものと考えればいい.そのシステムを分解して各サブシステムの応答を見ることが,信号 $ x(t)$ の分解に相当する.

以前も強調した通り,こういう風に「信号」と「システム」を同一視できるところが,線形時不変システムの著しい特徴だ.


13.6 周波数応答と伝達関数

やらない夫
伝達関数の話が出てきたついでに,周波数応答と伝達関数の関係の話をしておこう.

やる夫
えっと,インパルス応答のラプラス変換が伝達関数で,インパルス応答のフーリエ変換が周波数応答だったお.

やらない夫
ああ,そこまで気が回ればもうほとんど答えにたどり着いている.ラプラス変換で $ s = c + j\Omega$ と定めたわけだが,このうち特に $ c
= 0$ である場合がフーリエ変換だ.つまり,ラプラス変換をして得られた複素関数の値を虚軸に沿って拾っていくと,フーリエ変換が得られるということだな.


\includegraphics[scale=0.5]{fig_laplace/ft_in_s_plane.eps}

ただし,ラプラス変換は積分範囲を 0 から $ \infty$ に取っているので,変換される時間信号が $ t < 0$ で 0 であるようなものでないと一致しないけどな.

やる夫
ということは,そういう場合はラプラス変換後の式に $ s = j\Omega$ を代入すればフーリエ変換になるってことかお.

やらない夫
そういうことだ.離散時間フーリエ変換の話をしたとき,一番最後に, $ f(t)$ のフーリエ変換を $ F(j\Omega)$書く場合があると言ったのを覚えているか? これがその理由だ.

やる夫
あー,そんなこと言ってたお.$ F(s)$$ s$$ j\Omega$ を代入してフーリエ変換を求めたって意味だったわけだお.んー,何もそんなややこしい書き方せずに,$ F(\Omega)$ って書いとけばいいんじゃないかお? 文字を書く手間も減るお.

やらない夫
厳密なことを言うと,ちょっとまずいんだ.$ f(t)$ のラプラス変換が $ F(s)$ です.同じ $ f(t)$ のフーリエ変換が $ F(\Omega)$ です,と言ってしまったとき,実は前者と後者の $ F(\cdot)$ は違う関数を表しているだろう.だから一連の議論でこれらを混用するのは,ある種の記号の濫用になっている.かといって $ F_\textnormal{Fourier}(\Omega)$ とか $ F_\textnormal{Laplace}(s)$ とか書かなきゃいけないのも勘弁して欲しいところだ.それと比べると,フーリエ変換を $ F(j\Omega)$ と書くってのは,まあよい落としどころとは言えると思う.

やる夫
でも,今までずっと $ F(\Omega)$ って書いてきたお.

やらない夫
ああ,まあ,議論の中でフーリエ変換が単独で出てくる場合はそれで問題ないし,そうでない場合も誤解の恐れがない限りは,記号の濫用をしてしまうことも割と多い.我々も臨機応変にやっていこう.

やる夫
まあ,いいお.せっかくだから角周波数 $ \Omega_1$ のコサイン関数 $ \cos(\Omega_1 t)$ の周波数応答でも求めてみるお.

$\displaystyle {\cal L}[\cos(\Omega_1 t)]$ $\displaystyle = {\cal L}[\frac{e^{j\Omega_1 t} + e^{-j\Omega_1 t}}{2}]$ (13.83)
  $\displaystyle = \frac{1}{2}{\cal L}[e^{j\Omega_1 t}] + \frac{1}{2}{\cal L}[e^{-j\Omega_1 t}]$ (13.84)
  $\displaystyle = \frac{1}{2}\cdot\frac{1}{s - j\Omega_1} + \frac{1}{2}\cdot\frac{1}{s + j\Omega_1}$ (13.85)

で,$ s$$ j\Omega$ を代入するお.

$\displaystyle {\cal F}[\cos(\Omega_1 t)]$ $\displaystyle = \frac{1}{2}\cdot\frac{1}{j\Omega - j\Omega_1} + \frac{1}{2}\cdot\frac{1}{j\Omega + j\Omega_1}$ (13.86)
  $\displaystyle = \frac{1}{2j}\left\{\frac{1}{\Omega - \Omega_1} + \frac{1}{\Omega + \Omega_1}\right\}$ (13.87)

になるお….あれー,角周波数 $ \Omega_1$ の cos だから $ \Omega_1$ の周波数成分だけ出てくるかと思ったら,なんかその周りにも周波数成分がしみ出している感じだお.これ何だお…?


\includegraphics[scale=0.5]{fig_laplace/ft_sin_u0.eps}

やらない夫
ラプラス変換の積分範囲が 0 から $ \infty$ だってことを忘れてないか?

やる夫
あー,そうか,$ t < 0$ の部分は捨てられるんだお.だから純粋に cos 関数のスペクトルが得られるわけじゃないんだお.

やらない夫
その辺はちょっと注意しないといけないところだな.あと,ラプラス変換は収束するけど,フーリエ変換は収束しないような信号もたくさんあるわけで,単純に $ s = j\Omega$ を代入してよいかはよく考えないといけない.

やる夫
あー,そういう問題もあるのかお.

やらない夫
具体的には $ s = j\Omega$ に対応する部分,つまり $ s$ 領域の虚軸が収束範囲に含まれている場合でないとまずい.まあそういう意味では,今やった cos 関数は虚軸上の $ s = \pm j\Omega_1$ で発散しているので,ちょっとグレーゾーンというか,本当はまずい.

13.7 初期値が 0 でない場合

やる夫
うーん.

やらない夫
なんだ,何か納得いかないか.

やる夫
いや,さっきのラプラス変換表をもう一回見てるんだお.だいたい今までの説明で理解できたけど, 1ヶ所だけよくわからないのが,微分のルールだお.

$\displaystyle \frac{d}{dt} f(t) \stackrel{\cal L}{\longrightarrow}sF(s) - f(0)$ (13.88)

てな風に,$ sF(s)$ から初期値 $ f(0)$ を引くことになってるお.

やらない夫
そうだな.まあ,今までは初期値が 0 の場合ばかりやってきたので,あまり気にしてなかったけどな.

やる夫
どうして初期値を引かなきゃいけないか,よくわからないお.だって,微分をラプラス変換すると $ s$ 倍になるのは,元の信号を $ F(s)e^{st}$ の重ね合わせで表して考えると,各成分ごとの微分が $ sF(s)e^{st}$ になるからだったお.初期値があるか無いかに関わらず $ s$ 倍するだけでいいんじゃないかお?

やらない夫
その主張は,さっき cos の周波数応答を計算したときと同じ点を見逃しているぞ.

やる夫
えっ? あ,えーと,積分範囲が 0 からだってことかお?

やらない夫
ああ.$ t = 0$ で初期値 $ f(0) \neq 0$ を持つ信号 $ f(t)$ をラプラス変換するときのことを考えてみよう.$ f(t)$$ t = 0$ のところで無理やり値を 0 に落としからラプラス変換をして, $ F(s)$ を得ることになる.


\includegraphics[scale=0.5]{fig_laplace/lt_f_u0.eps}

やる夫
$ u_0(t)$ をかけるんだから,そうなるお.

やらない夫
このぶった切られた $ f(t)$ の微分,すなわち $ \frac{d}{dt}\{f(t)u_0(t)\}$ をラプラス変換すると,確かに $ sF(s)$ になる.

やる夫
えーと,ラプラス変換自体に $ u_0(t)$ をかける操作は含まれてるけど,2回かけても支障ないのでOKだお.

やらない夫
つまりこの場合の $ sF(s)$ には,$ u_0(t)$ によって $ t = 0$ で不連続になったことに起因する成分が含まれてしまっている.その成分ってのは,時間領域では $ f(0)\delta(t)$ だ.

やる夫
んー,なんでデルタ関数なのかお?

やらない夫
単位ステップ関数 $ u_0(t)$$ \delta(t)$ の積分として 導入したんだから,逆に $ u_0(t)$ を微分したら $ \delta(t)$ になるだろう.高さ 1 の段差のステップ関数の微分が $ \delta(t)$ なんだから,高さ $ f(0)$ の段差だと $ \delta(t)$$ f(0)$ 倍になる.


\includegraphics[scale=0.5]{fig_laplace/lt_diff_f_u0.eps}

やる夫
あー,そう言われてみればそうなりそうだお.

やらない夫
一方, $ \frac{d}{dt}f(t)$ のラプラス変換というのがどういうものかというと,$ t = 0$ でぶった切る前に微分して,それからラプラス変換したものだ.だから,今見たようなデルタ関数の成分は現れない.それに相当する分を $ sF(s)$ から差し引いてやる必要がある.


\includegraphics[scale=0.5]{fig_laplace/u0_lt_diff_f.eps}

やる夫
あー,そうか. $ f(0)\delta(t) \stackrel{\cal L}{\longrightarrow}f(0)$ だから,それを $ sF(s)$ から差し引いて, $ \frac{d}{dt}f(t) \stackrel{\cal L}{\longrightarrow}sF(s) - f(0)$ になるんだお.辻褄が合ったお.

やらない夫
疑問は解けたようだが,せっかくなので初期値が 0 じゃない場合のシステムの挙動について話しておこうか.

やる夫
またヤブヘビをつついた気がするお.

やらない夫
まあ簡単な例だけだ.最初の例

$\displaystyle \frac{d}{dt}y(t)$ $\displaystyle = a y(t) + x(t)$ (13.2)

で,初期値 $ y(0)$ が 0 じゃないとしよう.この場合の解をラプラス変換で求めてみてくれ.

やる夫
えーと,今の公式を使うお.

$\displaystyle s Y(s) - y(0)$ $\displaystyle = a Y(s) + X(s)$ (13.89)
$\displaystyle (s - a)Y(s)$ $\displaystyle = X(s) + y(0)$ (13.90)
$\displaystyle Y(s)$ $\displaystyle = \frac{1}{s - a}X(s) + \frac{y(0)}{s - a}$ (13.91)

$ y(t)$ のラプラス変換だお.これを逆変換するには,えーと,あ,たたみこみと積の関係が使えるから,変換表の範囲で全部できるお.

$\displaystyle y(t)$ $\displaystyle = \left(e^{at}u_0(t)\right) * x(t) + y(0)e^{at}u_0(t)$ (13.92)

こうなるかお?

やらない夫
いいと思うぞ.さて,この解をどう解釈する?

やる夫
んーと,1つめの項は,インパルス応答 $ e^{at} u_0(t)$ を入力 $ x(t)$ にたたみこんだものだお.線形時不変システムの出力としてはお馴染みだお.2つめの項は,えー,何だこれ.初期値に比例したインパルス応答が出てきちゃうってことだお.

やらない夫
そういうことになるな.第1項は初期値が 0 だった場合の応答で,零状態応答と呼ぶ.初期値を無視して純粋に入力に応じて現れる成分だ.これに対して第2 項は入力がなかった場合の応答で,零入力応答と呼ばれる.システムの実際の出力は,これらの和になる.

やる夫
いやいや,ちょっと待ってほしいお.線形時不変システムの出力は,インパルス応答と入力のたたみこみ,つまりこの第1項で表されるって話だったお.第2項の零入力応答なんてどこから現れたんだお?

やらない夫
もっともな疑問だ.実は,線形時不変システムの意味を少し広げて考えなくてはいけない.これまで,線形システムってのは,和を入力すると出力も和になって,定数倍を入力すると出力も定数倍されるものだと考えていた.

やる夫
そうだったお.

やらない夫
この定義に従うと,初期値がある場合は線形システムとは呼べなくなってしまう.零入力応答ってのは入力に関係ないわけで,入力を2倍しても3倍しても変化しないからな.

やる夫
あー,そりゃそうだお.すると,厳密には初期値が 0 のシステムしか線形システムとしては扱えないことになるお.

やらない夫
だが,それじゃ不便だし,実際,微分方程式でシステムを表せば初期値を考慮することは可能なわけだ.だから,線形システムの定義を少し緩めて「零入力応答と零状態応答のそれぞれが線形性を満たせばOK」と考えることが多い.そう考えた上で,式 (13.1) で表されるシステムが初期値を持っている場合でも,広い意味で線形時不変システムと呼ぶことにする.

やる夫
んーと,すると,インパルス応答のたたみこみで表せるのは,本来の狭い意味での線形時不変システムだけの話であって,線形微分方程式で表されるシステムすべてをたたみこみでは表せないってことになるかお?

やらない夫
そうだな.そもそも, $ y(t) = h(t) * x(t)$ という表現は,$ h(t)$$ x(t)$ が与えられれば $ y(t)$ が完全に決まってしまうようになっているわけで,$ y$ の初期値なんかが影響する余地がないからな.そんなわけで,たたみこみ表現で表せるシステムの集合と,微分方程式表現で表せるシステムの集合は決してイコールなわけじゃないことには注意しておこう.

というわけで,まとめるか.

  • 連続時間 $ t \in [0, \infty)$ で定義された関数 $ x(t)$ (のうち実用上重要なものの多くに対して,式 (13.25) で計算される $ X(s)$$ x(t)$ のラプラス変換と呼ぶ (あるいはこの計算をすること自体をラプラス変換と呼ぶ).
  • $ s = c + j\Omega$ であり,$ \Omega$ は角周波数,$ c$ は適当な定数である.$ c$ を十分大きく取ることで,フーリエ変換より多くの関数でラプラス変換を収束させられる.
  • 時間領域での微分は,$ s$ 領域での $ s$ 倍に対応する.
  • $ X(s)$ から式 (13.52) によって元の $ x(t)$ が復元できる.この計算をラプラス逆変換と呼ぶ.ただし,$ t < 0$ の範囲は 0 になる.
  • 実用上は,式 (13.25) や 式 (13.52) で直接計算せずに,ラプラス変換表を用いて変換・逆変換を求められることが多い.
  • 式 (13.1) のような線形微分方程式の両辺をラプラス変換すると,代数方程式に変換できる.これを適当に式変形し,再度両辺をラプラス逆変換することで,微分方程式の解が容易に計算できる.
  • あるいは,逆変換せずに $ s$ 領域のまま解析することでも,多くの情報を得ることができる.
    • 入力と出力のラプラス変換の比 $ Y(s)/X(s)$ を伝達関数と呼ぶ.伝達関数はインパルス応答のラプラス変換である.
    • 伝達関数を部分分数展開することで,インパルス応答を発散・減衰・振動などの基本要素に分解できる.
    • 伝達関数の分母 = 0 とした方程式 (特性方程式) の解の複素平面上での位置が,それらの基本要素の挙動に対応している.
    • 伝達関数で $ s = j\Omega$ と置き換えると周波数応答が得られる.

やる夫
…ちょっと今回は話が長過ぎないかお? 「軽く説明する」とか言ってたの誰だお.

やらない夫
すまん,いろいろ止まらなくなった.

swk(at)ic.is.tohoku.ac.jp
2016.01.08