2次・3次のサレンキーフィルタの自動計算
(注意: 以下の記事を掲載後 「7次までのフィルタの楽々設計」 の記事を書いており、
そこにあるエクセルの方が高性能です。)
3次のサレンキーの自動計算を説明しますが、2次のものも改良して公開します。
3次のエクセルファイルはこれです。 ==>
2次のエクセルファイルはこれです。 ==>
---------------------------
3次のエクセルマクロですが、入出力伝達関数の
F(s) = 1 / { ( s^2 + a*s + b ) ( s + c ) }

の a、 b、 c を入力するとすべての R C K を計算してくれます。 a、 b、 c を持っていないときは、Help の中の適当なフィルタ形式を選択します。(右図)
7つの R C K の未知数はすべてブランクにしておくか、または、7つの内の4つを指定して計算させます。
使い方はシートの「使用説明書」に記述しておきました。
7つの決定項目の内、任意の3つを未知数として式を解くには、35 通りの組み合わせを想定しなければなりませんので、プログラムはけっこうめんどくさいものでした。
35 通りの内 R3, C3, K が未知数の組み合わせの場合だけ、方程式を解くことができませんでした。
K が1であることを強制して、手っ取り早く解を求めるには、 R1=1、 R2=2.2、 R3=1 にしてみてください。 たいていは見つかります。 R2 をもっと大きくすると適応できるフィルタの形式が広がりますが、一般的なフィルタに対しては容量値が極端な値になるので、ほどほどにした方が良いようです。
K=1 で C を優先させるのなら C1=6.8, C2=22, C3=0.033 ではいかがでしょうか。
---------------------------
2次のエクセルマクロも同じような使い方です。 以前より、スピードを速くしました。 また2つ解のあるときは一方だけにして単純にしました。
両者ともご愛用ください。

