付録A

伝達関数の部分分数展開

この章のねらい

  • 厳密にプロパーな有理関数を部分分数に分解できる
  • 留数(被覆法)と重解の処理を実行できる
  • 逆ラプラス変換・逆z変換と部分分数展開を結びつけられる

A.1 基本の部分分数展開

やる夫

本編で「逆変換するには部分分数展開しろ」ってサラッと流れたけど、やる夫はそこが一番あやしいお。ちゃんと復習させてほしいお。

やらない夫

いい心がけだ。付録としてまとめておく。まず対象は、分子の次数が分母の次数より真に小さい有理関数だ。これを厳密にプロパー(strictly proper)という。たとえば

F(s)=s+3(s+1)(s+2)(A.1)F(s) = \frac{s + 3}{(s+1)(s+2)} \tag{A.1}

分母が単根(重複なし)に因数分解できているとき、こう分解できる。

F(s)=As+1+Bs+2(A.2)F(s) = \frac{A}{s+1} + \frac{B}{s+2} \tag{A.2}
やる夫

AABB をどう求めるかが問題だお。両辺を通分して係数を比べる…でいいんだお?

やらない夫

それでもいいが、もっと速い手がある。ヘビサイドの被覆法だ。AA を求めたければ、F(s)F(s)(s+1)(s+1) を掛けて、s=1s = -1 を代入する。「As+1\frac{A}{s+1} の分母を手で隠して、その根を全体に代入する」イメージだ。

A=(s+1)F(s)s=1=s+3s+2s=1=1+31+2=2(A.3)A = \left.(s+1)F(s)\right|_{s=-1} = \left.\frac{s+3}{s+2}\right|_{s=-1} = \frac{-1+3}{-1+2} = 2 \tag{A.3}

同様に BB(s+2)(s+2) を掛けて s=2s=-2 を代入する。

B=s+3s+1s=2=2+32+1=11=1(A.4)B = \left.\frac{s+3}{s+1}\right|_{s=-2} = \frac{-2+3}{-2+1} = \frac{1}{-1} = -1 \tag{A.4}
やる夫

おお、通分しなくていいから速いお! A=2A=2B=1B=-1 だから

F(s)=2s+11s+2F(s) = \frac{2}{s+1} - \frac{1}{s+2}

だお。検算でもとに戻せば合ってるはずだお。

やらない夫

そのとおり。この A,BA, B留数(residue)と呼ぶ。各極に紐づく重み、と思っておけ。被覆法は「その極の分母因子を覆い隠して、残りに極の値を代入する」という機械的操作で留数が出る、便利な定理だ。

A.2 重解の扱い

やる夫

分母に同じ因子が2回出てきたらどうするんだお? (s+1)2(s+1)^2 みたいなやつだお。

やらない夫

重解(多重極)の場合は、その因子について次数ぶんの項を全部立てる。たとえば

F(s)=s+2(s+1)2F(s) = \frac{s + 2}{(s+1)^2}

なら、(s+1)1(s+1)^1(s+1)2(s+1)^2 の両方を用意する。

F(s)=A1s+1+A2(s+1)2(A.5)F(s) = \frac{A_1}{s+1} + \frac{A_2}{(s+1)^2} \tag{A.5}
やる夫

一番次数の高い A2A_2 は被覆法で行けそうだお。(s+1)2(s+1)^2 を掛けて s=1s=-1 を代入する。

やらない夫

そう。A2=(s+1)2F(s)s=1=(s+2)s=1=1A_2 = \left.(s+1)^2 F(s)\right|_{s=-1} = (s+2)|_{s=-1} = 1。問題は A1A_1 だ。同じことをやると 00 で割る形になって失敗する。A1A_1微分してから代入する。

A1=dds[(s+1)2F(s)]s=1=dds(s+2)s=1=1(A.6)A_1 = \left.\frac{d}{ds}\Big[(s+1)^2 F(s)\Big]\right|_{s=-1} = \left.\frac{d}{ds}(s+2)\right|_{s=-1} = 1 \tag{A.6}

一般に (sa)k(s-a)^k の重解なら、jj 番目の留数(下から数えて)は (sa)kF(s)(s-a)^k F(s)(kj)(k-j) 回微分して 1(kj)!\frac{1}{(k-j)!} を掛け、s=as=a を代入する。結果はこうだ。

F(s)=1s+1+1(s+1)2F(s) = \frac{1}{s+1} + \frac{1}{(s+1)^2}
やる夫

微分が一段増えるだけで、考え方は同じだお。重解の数だけ項を立てて、上から被覆法、足りないぶんは微分、と。

A.3 プロパーでない場合

やる夫

ところで「分子の次数が分母より小さい」が前提だったお。分子のほうが大きい、あるいは同じならどうするんだお?

やらない夫

その場合は先に多項式の割り算をして、厳密にプロパーな部分を取り出す。たとえば

F(s)=s2+3s+3s+1F(s) = \frac{s^2 + 3s + 3}{s + 1}

分子の次数(2)が分母(1)以上だ。s2+3s+3s^2 + 3s + 3s+1s+1 で割ると、商が s+2s+2、余りが 11 になる。

F(s)=s+2+1s+1(A.7)F(s) = s + 2 + \frac{1}{s+1} \tag{A.7}
やる夫

割り算して、商はそのまま、余りの部分だけ部分分数展開するってことかお。

やらない夫

そうだ。商の多項式部分(ここでは s+2s+2)は、逆ラプラス変換するとデルタ関数とその微分になる。残りの 1s+1\frac{1}{s+1} が普通の指数関数を生む。まず割って厳密プロパーにする、これが鉄則だ。

A.4 逆ラプラス変換との対応

やらない夫

なぜ部分分数展開をするのか。それは、基本形なら逆変換の答えを暗記しているからだ。連続時間の最重要パターンはこれ。

1sa    L1    eatu(t)(A.8)\frac{1}{s - a} \;\xleftrightarrow{\;\mathcal{L}^{-1}\;}\; e^{at}u(t) \tag{A.8}

u(t)u(t) は単位ステップ(t0t\ge0 で1)だ。さっきの式 (A.2) の例 F(s)=2s+11s+2F(s)=\frac{2}{s+1}-\frac{1}{s+2} なら、a=1a=-1a=2a=-2 を当てはめて

f(t)=2etu(t)e2tu(t)f(t) = 2e^{-t}u(t) - e^{-2t}u(t)

と一発で逆変換できる。

やる夫

なるほどだお! 複雑な分数を、答えを知ってる単純な分数の足し算にバラす。だから部分分数展開が必要なんだお。納得したお。

やらない夫

重解 1(sa)2\frac{1}{(s-a)^2} なら逆変換は teatu(t)t\,e^{at}u(t) だ。極が複素共役なら eate^{at} の中身が振動して、減衰正弦波になる。基本形の辞書さえ持っていれば、あとは部分分数展開で持ち込むだけだ。

A.5 離散版(逆z変換)

やる夫

連続はわかったお。離散(z 変換)のときはどう変わるんだお?

やらない夫

考え方は同じだが、基本形が変わる。離散の最重要パターンはこれだ。

11az1    Z1    anu[n](A.9)\frac{1}{1 - a z^{-1}} \;\xleftrightarrow{\;\mathcal{Z}^{-1}\;}\; a^n u[n] \tag{A.9}

連続の eate^{at} に対応するのが、離散では ana^n(等比数列)だ。極 aa が単位円の内側(a<1|a|<1)なら ana^n は減衰し、外側なら発散する。第15章の安定性の話と直結している。

やる夫

連続は eate^{at}、離散は ana^n …。そういえば式の見た目がちょっと違うお。連続は 1sa\frac{1}{s-a} なのに、離散は 11az1\frac{1}{1-az^{-1}} って z1z^{-1} の形だお。

やらない夫

そこが離散の流儀だ。z 変換は z1z^{-1}(遅延演算子)の多項式で扱うのが自然なので、部分分数展開も z1z^{-1} の式として 11az1\frac{1}{1-az^{-1}} の形を基本形にする。たとえば

H(z)=1(10.5z1)(10.8z1)H(z) = \frac{1}{(1 - 0.5z^{-1})(1 - 0.8z^{-1})}

H(z)=A10.5z1+B10.8z1H(z) = \frac{A}{1 - 0.5z^{-1}} + \frac{B}{1 - 0.8z^{-1}}

と分解する。被覆法も使えるが、z1z^{-1} を一つの変数とみなして扱うか、あるいは一度 H(z)z\frac{H(z)}{z} にしてから zz の多項式として展開し、最後に zz を掛け戻す、という流儀もよく使われる。連続のクセで 1za\frac{1}{z-a} の形に分解してしまうと、逆変換の基本形と噛み合わずに混乱するので注意しろ。

やる夫

連続と離散で「基本形が違う」ことだけ忘れなければいいんだお。1saeat\frac{1}{s-a}\to e^{at}11az1an\frac{1}{1-az^{-1}}\to a^n。辞書の引き方は同じ。

やらない夫

その整理でいい。部分分数展開は、伝達関数を「答えを知っている部品」に分けるための共通の道具だ。連続でも離散でも、まずプロパーにして、被覆法で留数を出し、重解は微分で補う。この手順は変わらない。

この章のまとめ
  • 部分分数展開は厳密にプロパー(分子の次数 < 分母の次数)な有理関数に適用。そうでなければ先に多項式の割り算をする
  • 単根の留数は被覆法(その分母因子を覆って極の値を代入)で速く求まる
  • 重解 (sa)k(s-a)^k は次数ぶんの項を全部立て、低次の留数は微分してから代入する
  • 逆変換は基本形の辞書で引く: 連続 1saeatu(t)\frac{1}{s-a}\to e^{at}u(t)、離散 11az1anu[n]\frac{1}{1-az^{-1}}\to a^n u[n]
  • 離散は z1z^{-1} の式として分解するのが流儀。連続のクセで 1za\frac{1}{z-a} にしないこと