フィルタ設計ツール Filter Ver.0.12 30-Jan-1998 Copyright (c) 1998 Techno Create, Inc. ■ Filterについて Filterは要求されるフィルタ特性からFIR型のデジタルフィルタのフィルタ 係数(インパルス応答)を求める設計手順をプログラム化した設計ツールです。 直線位相のフィルタから遅延の少ない最小位相フィルタを作成する最小位相化 の手順も組み込んでいます。 設計されたフィルタの特性を確認するために、その減衰特性・位相特性をグ ラフ表示することができます。最小位相の確認のためにz-平面上の零点位置を 表示する機能もつけました。 設計結果のフィルタ係数はCプログラムソースに埋め込めるようにCの倍精 度浮動小数点配列宣言としてテキスト出力します。 ■ アーカイブに含まれるもの  アーカイブ(Filterxx.zip)には以下のものが含まれています。 readme.txt このファイル filter.exe Filterの実行ファイル math.dll FFT,IFFTなどの演算処理DLLファイル polyrt.exe 多項式の根を求めるDOSプログラム実行ファイル RootView.exe 複素数をz-平面上に表示するプログラム実行ファイル ■ 動作環境 日本語環境で開発し、Win32APIを使用していますので32bit日本語版Windows 上で動作します。Windows95JとWindowsNT4.0J(SP3)上での動作を確認していま すが、win32sで動作するかどうかは不明です。 VC++4.0のダイナミックリンクモードで作成されていますので、最低限 mfc40.dll と mfvcrt40.dll が Windows のシステムディレクトリにあること が必要です。 ■ インストール方法  インストーラが無いので、以下の手順でインストールを行ってください。 1. アーカイブに含まれるファイルを全て適当なディレクトリにコピーする。 2. "polyrt.exe"を右クリックしてポップダウンメニューからプロパティを選 択し、プログラムタブの"プログラム終了時にウィンドウを閉じる"にチェ ックする。 これでインストールは完了です。エクスプローラから"filter.exe"をダブル クリックすれば起動します。 ■ 使用方法 次の手順でFilter設計してください。 1. ツール->フィルタ長の推定 を選択してフィルタ条件入力画面を開く。 2. "Inband Ripple" に許容帯域内リップルを、"Outband Attn" に帯域外必要 減衰量を、"Transient Band Width"に遷移帯域幅をそれぞれ入力して"OK" にする。 (遷移帯域幅には許容帯域内リップルを満たす最大(または最小)の周波 数と帯域外必要減衰量を満たす最小(または最大)の周波数の差をフィル タのサンプリング周波数で割った値を入力してください。帯域通過フィル タや帯域除去フィルタでは遷移域が2個所ある訳ですが、その場合は遷移 域幅の小さい方の値を入れてください。) (注) あらかじめ設計するフィルタの段数が分かっている場合は1.,2.の手順 は省いてもかまいません。次の段階でフィルタ段数を入力できます。 1.,2.の手順を行った場合は計算されたフィルタ段数が次の段階であら かじめ入力された状態で表示されます。 3. ツール->通過帯域の設定 を選択して通過帯域入力画面を開く。 4. 通過帯域入力画面で、 (1) フィルタのタイプを選択する。 (2) カットオフ周波数を入力する。 (カットオフ周波数は遷移帯域の中心周波数をサンプリング周波数で 割った値を入力してください。アナログフィルタのように 3dB 減衰 点ではありませんので注意してください。) (3) 1.,2.の手順を省いた場合は、"Filter Length"にフィルタ段数を、 "Outband Attn."に必要帯域外減衰量を入力してください。 "OK"を押すとフィルタ係数(=インパルスレスポンス)が計算されて表示 されます。 5. 最小位相フィルタを設計する場合は、さらにツール->最小位相化を選択し ます。最小位相のフィルタに変換して、そのフィルタ係数が表示されます。 6. フィルタ係数の微調整をするときはグラフ表示画面の下のデータ入力画面 からX-Axisで項を選択してY-Axisに係数値を入力(Enterを押す)後、 "Write Data"ボタンでデータを書き換えて下さい。 ("Write Data"はフィルタ係数がグラフ表示されているときだけ有効です) 7. 設計されたフィルタの特性を確認するためには、表示メニューから表示さ せたい特性を選択してください。画面に選択した特性がグラフ表示されま す。 8. 設計されたフィルタ係数をDSPプログラムなどに反映させるには、ファイル ->フィルタ係数をテキスト保存 でファイルに出力します。とりあえず、C 言語の倍精度浮動小数点配列の宣言文としてテキストファイルに出力され ますので、適当にエディットして使ってください。 9. ファイルメニューの開く、保存はそれぞれFilter.exeの内部データをその ままバイナリファイルで読み込み、書き込みする一時保存用です。 ファイルメニューの印刷ではグラフ表示されている特性がそのまま印刷さ れます。 ■ 分かっている不具合 多項式の複素根を求めるプログラムが、多項式の係数によってはうまく収束 せずに誤った解を出すことがあります。その場合は、多項式の次数を少しでも 変えてやれば、正常に解を得られるようになりますので、使用方法の4.の手順 で、Filter Lengthを変更してやり直してみてください。 ■ 使用条件など  現在のところ(永久にかもしれませんが)、Filterはフリーソフトウェアで す。無料でご利用いただくことができます。ただし、著作権は放棄しません。 著作権は株式会社テクノクリエートに所属します。  再配布は作者に連絡することなく自由に行うことができます。Webサイトや ftpサイトに再掲する場合でも、作者への確認は必要ありませんが、事後でも 結構ですので「お問い合わせフォーム」にて連絡してください。  Filterをお使いになって、何らかの障害が発生した場合、原因がFilterにあ ったとしても作者が何ら責任を負うことはありません。また、Filterを使って 設計されたフィルタの特性や動作についても作者は何ら責任を負いません。 すべからく、使用者の責任でFilterをお使いください。 ■お問い合わせ 再配布やバグのお問い合わせは http://www.techno-create.com/inquiry/ までお願いいたします。 ■ バグレポートのお願い  バグや変な動作を発見した場合は、お問い合わせフォームまでお知らせいた だければありがたいです。サポートを保証するものではありませんが、対応で きるものなら対応します。  また、ご意見、ご要望も待っております。Filterに関するバグレポートやご 意見、ご要望も同フォームにてお伺いいたしています。 ■ 改版履歴 Rev.0.11 1998-01-30 ・通過帯域の指定ダイアログで周波数の数値範囲チェックの方法を修正 ・ダイアログを出すメニュー項目の表示に ...を追加 ・Iconを新規作成 Rev.0.12 1998-02-03 ・ファイル->開くでフィルタのファイルを読み込んだときにMemory Leak を発生する障害を修正 ・周波数指定のダイアログでフィルタタイプ、カットオフ周波数に現在 の値を表示するように変更 ・Dataの値が表示されている点をグラフ上にカーソル表示するようにした。