いよいよ、LCフィルタ設計用のMATLAB/GNU Octave mファイルを皆様に提供したい。

Ellipcit(楕円)特性フィルタも設計できる。

 

以下に4つのリンクを示すが、それぞれ記事をそこに示すファイル名(*.m)として、同じフォルダにUTF-8形式でテキストで保存する。

 

lcfilter.m

 

zi_lcfilter.m

 

obtainZYvalue.m

 

removehead.m

 

 

lcfilter.mでそれぞれ抵抗終端されたプロトタイプ・フィルタが設計できる。

zi_cfilter.mで信号源がゼロ、負荷が無限段それぞれのプロトタイプ・フィルタが設計できる。

(zi_lcfilter.mではEllipticは対応していない)

 

得られた数値を目的とするインピーダンスと周波数でスケーリングすればよい。

 

GNU Octaveはフリーソフトなので、無料だがインストールが必要だ。

なお、これをインストールすることなく、WEB上で Octave Onlineが使用できる。

https://octave-online.net/

 

このOctave Onlineの使い方を説明する。

 

・まずログインする

・lcfilter.m, zi_lcfilter.m, obtainZYvalue.m, removehead.mの4つををアップロードする

・lcfilter.mを選択してRUNする

・信号源抵抗がゼロで負荷抵抗がある場合、信号源抵抗があり負荷がオープンの場合は、 zi_lcfilter.mを選択してRUNする

 

・Filter Type (Butterworth, Chebyshev, Bessel, Elliptic)を入力・次数を入力(Chebyshev, Ellipticでは奇数しか入力できない)

・Chebyshev, EllipticではリプルなどをdBで入力

・負荷抵抗を1Ωで正規化して入力

・得られた答えを終端インピーダンスと周波数でスケーリング


Ellipticで11次も行けるかと思ったが、分母分子の根を求めて共通のところを約分するところで高次では誤差が出てくるようで、うまくいかなかったので、9次までとした。

 

インストールされたMATLAB、GNU Octave、Online MATLABでも動作する(MATLABは未確認だが問題ないはず)

 

つづいてネット上にもここまでの記載がない、ホントにどうすれば設計できるか分からないElliptic(楕円)特性について述べてみたい。

 

 

LCフィルタの設計のTOPに戻る