Entry   Photo Lib   Forum     Links    Glossary    Misc.  
     サイト内検索:

2次のサレンキーフィルタの自動計算

(注意: 以下の記事を掲載後 「7次までのフィルタの楽々設計」 の記事を書いており、そこにあるエクセルの方が高性能です。)

以前に 2 次と 3 次のサレンキー・ローパス・フィルタを掲載しましたが,それに対して素子の値を自動計算するプログラムを作りました. エクセルにマクロとして組み込みましたので公開します.
いずれも,フィルタの多項式の係数を入れ,一部の定数を任意に選んで入力すると,残りの定数を計算してくれるものです.


2次フィルタ

これです   version 1.2

使い方:
RCK Cal のエリアにある Help を押します. 右のようなメニューが出ますから,選んでその一つをクリックします. これでシートの M4 と M5 に a と b が入ります. a,b というのは2次のフィルタの多項式

        G(s) = 1 / ( s^2 + as + b )

に出てくる a と b です. もちろんメニューからではなく,直接 M4,M5 に値を入れても動きます.
つづいて,R1, R2, C1, C2, K の5つの変数の内,どれでもいいですから 3 つを指定します. K は 1 ないし 2.5 までの値を入れてください. RC は 0.05 から 20 程度までの値にしてください.
そして Go のボタンを押します.
5秒ほどで計算が終わって RCK の値が出され,グラフが書き換えられます.

場合によっては,値が求まらないときがあります. 与えられた数値では式が満足できないときです. 
右の方にある小さなグラフ Solution Evaluation を見てください. 解が求まらないときは青い線と赤い線が交わりません(右図). こういうときは指定した3つの値を別のものにしてみます. 例えば C1 を指定してあるなら,それを 10 倍にしてみてください.

このグラフは,横軸に 2つ目の未決定の素子の値を取り,縦軸にそれに応じた係数 a を計算して,与えられた a の値からどれだけ乖離しているか調べる評価関数です.



上の図のように2回交叉するときは解が2組あります. 最初は右側の解が使われています. Alt のボタンを押すと別の解が使われてグラフが再計算されます. もう一度押すと元に戻ります.

右の図のように,交叉が1つのときは,解は1つしか有りません.

解が2つある時は気を付けてください. たいていの場合は大丈夫ですが,例えば Bessel で,R1=R2=1 で K にエミッタフォロアにでもするつもりで 0.98 を入れますと,こうなります.

左の解は非常に不安定で,K がわずかに振れるだけで大きくずれます. Alt ボタンで見比べて,横軸の値(決定するべき素子の値)が妥当かどうか,安定な方の RC を選択してください.

自由度の高い素子決定を心がけて作りましたので,解がなかったり2つ出たりして不便なところもありますがお許しを.




4次フィルタのコメント

4 次の自動計算は,自由度が低いものですが,すでに掲載(LINK)しました. これの収束性について補足しておきます.
4PoleFilter14.xls のマクロで使っている計算方法は2分木法と呼ばれるものですが,一般的には単調増加か単調減少の式の解を求めるときに使われます.
ところが,今の場合は途中で極大極小が出る場合もあり,そのままでは収束しない可能性がありました. これを解決するために,符号の検査を併用してうまく逃げるようにしています.

右に極大極小が出るケースのグラフをお見せします. これは横軸に特定の素子の値を取り,縦軸にフィルタの式のひとつの係数との誤差量を取ったグラフで,誤差が0になるような解を求めようとするときの評価関数です. 2分木法で,「より近い値を求めよう」とすると途中で引っかかってしまうときがあります.







コメントはこちらへ==>


サイトの最初のページに行くTop

(9/12/2006)

(C) Copyright 2006  T. Fujiwara      All rights reserved.
The auther does not grant archiving or copying this article to other web site.

作者: 藤原 武