MastHead

フィルタのステップ応答の計算の仕方


ひとつ前の記事で掲載しているエクセルファイルは、フィルタのステップ応答のグラフを出すことができます。

ずっと以前の記事 「RとCだけで増幅する」 でラプラス変換した式を使ったとき、s を jω で置き換えずに、 入力信号もラプラス変換したものを用いれば過渡応答が出せます、と書きましたが、それを行ったものです。
そのときやり方を書いていませんでしたので、ここで解説しておきます。

二次のバタワースフィルタを例に取ります。 その伝達関数は次の通りです。

                       1
       G(s) = -------------------         ....(1)
              s^2 + 1.4142*s + 1

これに入力電圧を掛けたものが出力 F(s) です。 そこでステップ電圧 U(t) をラプラス変換した 1/s を掛けます。

                        1
      F(s) = ------------------------         ....(2)
             (s^2 + 1.4142*s + 1) * s

これはラプラスの世界( s-domain )の式ですから、実世界へ戻します。  その作業を「ラプラス逆変換」というのですが、名前はどうでもいいです。 ラプラス逆変換する正しい式は
          ですが、これを簡易表記して  と書いたりします。

f (t) は括弧内が t ですから、出力電圧が時間の関数(つまり波形)として求まることを表しています。
幸いなことに、フィルタの式ではこの難しい周回積分は行いません。 代わりに簡単なやり方があります。

[簡便な方法]
(2) の F (s) 式の分母を s の1次式の積にします。  (s-a)(s-b).... という形式です。  二次式の部分は根の公式を使って無理やりその形にします。  二次の部分の根は [ -1.4142/2 + j * sqrt(4 - 2) /2] とその共役複素数の [ -1.4142/2 - j * sqrt(4 - 2)/2 ] ですが、長いので α と β と書くことにします。  (この2つはポールの位置になります。)

                      1
      F(s) = ---------------------         ....(3)
              (s - α)*(s - β)*s

になります。 
(3) の分母を 0 とする s は α と β と 0 の3つあります。 <== 重要
これら3つの複素根の位置では (3) は無限大に発散します。
その根3つを順に取り上げ、次の R1、R2、R3 というものを計算します。

R1 は (3) の分子に exp(t*s) を入れ、分母の (s-α) をはずして、残りの部分の s に α を入れたもの。
R2 は (3) の分子に exp(t*s) を入れ、分母の (s-β) をはずして、残りの部分の s に β を入れたもの。
R3 は (3) の分子に exp(t*s) を入れ、分母の s をはずして、残りの部分の s に 0 を入れたもの。

この 3 つの R を留数(りゅうすう)と呼びます。 例えば、R1 は α における留数です。 3次以上の時でも同様に、ひとつはずして残り (Residue) に代入することを繰り返します。 
このとき、経過時間 t が組み込まれます。 具体的には

      R1 = exp(t*α)/{(α - β)*α}
      R2 = exp(t*β)/{(β - α)*β}
      R3 = 1/{(-α)*(-β)}                           ... まとめて(4)

最後に留数を全部足します。 それが逆変換の結果です。 (ずるいですが、これを留数定理といいます)

      Eout(t) = R1 + R2 + R3           ...(5)

この式の右辺は t と α と β で決まりますが、α も β も定数ですから、時間 t における出力電圧が計算できます。  フィルタ係数の取り方によっては結果が無限時間後に1にならないときがあるので、その場合は1に正規化しておきます。
e の複素数乗の計算が入っていますが、エクセルなら組み込み関数 IMEXP() があります。  また、共役複素数の対が入りますので留数の和を取るときに虚数部分が消えて実数のみになります。 手計算で行うときは

      exp(x + jy) = exp(x)*{cos(y) + j sin(y)}

の公式が必要になるかもしれません。
下のグラフがそうやって計算した二次のバタワースのステップ応答です。  バタワースフィルタは周波数応答は平坦ですが、ステップ応答はオーバーシュートがあるのです。


周波数特性よりもむしろ波形を重視しなければならない回路では、こうやってステップ応答を吟味しながらフィルタの形式を選びます。 今日アップデートした 「7次までのフィルタの設計」 ではリニアフェーズのパラメタも載せておきましたが、非常に良い特性をしています。