ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

FDATool の使用

FDATool を開くには、MATLAB® のコマンド プロンプトで

fdatool
と入力します。

フィルターの設計と解析ツールが開き、[フィルター設計] パネルが表示されます。

FDATool では、その開始時には [フィルター設計] は有効になっていません。[フィルター設計] を有効にするには、既定のフィルター設計に変更を加えなければなりません。これは、フィルター設計を変更するたびに行う必要があります。[応答タイプ][フィルター次数] の下にあるようなラジオ ボタン項目やドロップダウン メニュー項目を変更するとすぐ、[フィルター設計] が有効になります。[Fs][Fpass]、および [Fstop] のようなテキスト ボックスの仕様を変更する場合、テキスト ボックスの外側をクリックして [フィルター設計] を有効にする必要があります。

フィルター タイプの選択

以下の応答タイプから選択できます。

  • ローパス

  • コサイン ロールオフ

  • ハイパス

  • バンドパス

  • バンドストップ

  • 微分器

  • マルチバンド

  • ヒルベルト変換器

  • 任意振幅

DSP System Toolbox™ がインストールされている場合は、その他の応答タイプも使用できます。

バンドパス フィルターを設計するには、GUI の [応答タイプ] 領域で [バンドパス] の横にあるラジオ ボタンを選択します。

    メモ:   特定の応答タイプでは、一部のフィルター設計法が使用できないことがあります。フィルター タイプを選択すると、使用可能なフィルター設計法が制限されることがあります。選択したフィルター タイプで使用できないフィルター設計法は、GUI の [設計法] 領域から削除されます。

フィルター設計法の選択

選択したフィルターの応答タイプに対し、既定のフィルター設計法を使用することができます。または、GUI に一覧表示されている使用可能な FIR 法や IIR 法から、フィルター設計法を選択することもできます。

Remez アルゴリズムを選択して FIR フィルター係数を計算するには、設計法のリストで [FIR] ラジオ ボタンを選択し、Equiripple を選択します。

フィルター設計仕様の設定

フィルター仕様の表示

設定できるフィルター設計仕様は、フィルターの応答タイプや設計法により変化します。[解析][フィルター仕様] を選択するか、ツール バーの [フィルター仕様] ボタンをクリックすると、表示領域にフィルターの仕様が表示されます。

[表示][仕様マスク] を選択すると、設計されたフィルターの振幅プロットでフィルター仕様を表示することも可能です。

フィルター次数

等リップル フィルターを設計する場合には、フィルター次数を決定する 2 つのオプションのうちいずれかを使用できます。

  • 次数指定: テキスト ボックスにフィルターの次数を入力します。

  • 最小次数: フィルター設計法によって最小次数フィルターが決定されます。

この例では、 [最小次数] ラジオ ボタンを選択します。

フィルター次数の指定に関するオプションは、選択したフィルター設計法によって異なることに注意してください。フィルター設計法によっては、いずれかのオプションを使用できないことがあります。

オプション

使用可能なオプションは、選択したフィルター設計法によって異なります。設定可能なオプションが用意されているのは、FIR 等リップルと FIR ウィンドウによる設計法のみです。FIR 等リップルの場合のオプションは、[密度係数] です。詳細は、firpm を参照してください。FIR ウィンドウの場合のオプションは、[通過帯域のスケーリング][ウィンドウ] です。以下にあげるウィンドウには、設定可能なパラメーターがあります。

ウィンドウ

パラメーター

チェビシェフ (chebwin)

サイドローブの減衰

ガウス (gausswin)

アルファ

カイザー (kaiser)

ベータ

テイラー (taylorwin)

Nbar とサイドローブ レベル

テューキー (tukeywin)

アルファ

ユーザー定義

関数名、パラメーター

ウィンドウの可視化ツール (wvtool) で [表示] ボタンをクリックすると、ウィンドウが表示されます。

この例の場合は、[密度係数]16 のままにしておきます。

バンドパス フィルターの周波数に関する仕様

バンドパス フィルターでは、次の仕様を設定できます。

  • 周波数の単位

    • Hz

    • kHz

    • MHz

    • 正規化 (0 - 1)

  • サンプリング周波数

  • 通過帯域周波数

  • 阻止帯域周波数

通過帯域を指定するには、2 つの周波数を使用します。最初の周波数は通過帯域の低域側のエッジを、2番目の周波数は高域側のエッジを決定します。

同様に、阻止帯域も 2 つの周波数で指定します。最初の周波数は最初の阻止帯域の高域側のエッジ、2 番目の周波数は 2 番目の阻止帯域の低域側の周波数です。

この例では、次のように設定します。

  • 単位を Hz (既定) にします。

  • サンプリング周波数 (Fs) を 2000Hz に設定します。

  • 最初の阻止帯域の終端エッジ (Fstop1) を 200Hz に設定します。

  • 通過帯域の開始位置 (Fpass1) を 300Hz に設定します。

  • 通過帯域の端 (Fpass2) を 700Hz に設定します。

  • 2 番目の阻止帯域の開始位置 (Fstop2) を 800Hz に設定します。

バンドパス フィルターの振幅仕様

バンドパス フィルターでは、次の振幅応答の特性を指定できます。

  • 振幅応答の単位 (dB、または、線形)

  • 通過帯域リップル

  • 阻止帯域の減衰量

この例では、次のように設定します。

  • [単位]は 、dB (既定) です。

  • 通過帯域のリップル (Apass) を 0.1dB に設定します。

  • 阻止帯域の減衰を、両方とも (Astop1Astop2)、75dB に設定します。

フィルター係数の計算

フィルター設計の仕様を指定したら、[フィルター設計] ボタンをクリックしてフィルター係数を計算します。

[フィルター設計] ボタンは、フィルター設計の係数を計算した後、無効化されます。フィルター仕様を変更すると、このボタンを再度使用できるようになります。

フィルターの解析

フィルター応答の表示

以下のフィルター応答特性を、表示領域や独立したウィンドウに表示することができます。

  • 振幅応答

  • 位相応答

  • 振幅応答と位相応答

  • 群遅延応答

  • 位相遅延応答

  • インパルス応答

  • ステップ応答

  • 極/零点プロット

  • ゼロ位相応答は、振幅応答プロット、または振幅応答と位相応答プロットの y 軸のコンテキスト メニューから使用できます。

DSP System Toolbox 製品がインストールされている場合は、振幅応答推定と丸めノイズ パワーという 2 つの解析を使用できます。これらの 2 つの解析は、フィルターの内部設定を使用する唯一の解析です。

上記のフィルター応答と、関連するツール バーボタン、その他の FDATool ツール バーボタンの詳細は、fvtool の項を参照してください。

同じプロットに 2 つの応答を表示するには、[解析][解析の重ね合わせ] を選択して、使用可能な応答を選択します。2 つ目の y 軸が応答プロットの右側に追加されます (一部の応答では重ね合わせを表示できないことがあります)。

この領域では、フィルター係数と詳細なフィルター情報を表示することもできます。

ゼロ位相応答を除き、すべての解析法へは [解析]メニュー、コンテキス トメニューの [解析パラメーター] ダイアログ ボックス、またはツール バーのボタンからアクセスできます。ゼロ位相応答にアクセスするには、プロットの y 軸を右クリックして、コンテキスト メニューから [ゼロ位相] を選択します。

たとえば、フィルターの振幅応答を調べるには、ツール バーの [振幅応答] ボタン をクリックします。

[表示][仕様マスク] を選択することで、振幅プロットにフィルター仕様を重ね合わせることもできます。

    メモ:   FVTool で仕様マスクを使用できるのは、FDATool から FVTool を起動した場合のみです。

データのヒントの使用

応答をクリックして、応答内の特定の点に関する情報を表示する、プロット データのヒントを追加できます。

データ ヒントの詳細は、MATLAB ドキュメンテーションの「データ値の対話型表示」 を参照してください。

スペクトル マスクの描画

振幅プロットにスペクトル マスク、すなわち除去領域線を追加するには、[表示][ユーザー定義スペクトル マスク] をクリックします。

マスクは、周波数ベクトルと振幅ベクトルで定義されます。これらのベクトルは同じ長さでなければなりません。

  • マスクを有効にする — 選択すると、マスク表示がオンになります。

  • 正規化周波数 — 選択すると、表示されている周波数範囲に渡り、周波数が 0 ~ 1 に正規化されます。

  • 周波数ベクトルx 軸の周波数値のベクトルを入力します。

  • 振幅単位 — 希望する振幅の単位を選択します。これらの単位は、振幅プロットで使用した単位と一致しなければなりません。

  • 振幅ベクトルy 軸の振幅値のベクトルを入力します。

以下の振幅応答に、スペクトル マスクを示します。

サンプリング周波数の変更

フィルターのサンプリング周波数を変更するには、任意のフィルター応答プロット内を右クリックし、コンテキスト メニューから [サンプリング周波数] を選択します。

フィルター名を変更するには、[フィルター名] に新しい名前を入力します。複数のフィルターがある場合は、fvtool で希望するフィルターを選択してから、新しい名前を入力します。

サンプリング周波数を変更するには、[単位] から希望する単位を選択し、[Fs] にサンプリング周波数を入力します (fvtool の各フィルターに対して別々のサンプリング周波数を指定したり、すべてのフィルターに対してサンプリング周波数を適用することができます)。

FDATool または FVTool の起動時に使用する既定値として表示パラメーターを保存するには、[既定の設定として保存] をクリックします。

既定値を復元するには、[既定の設定に戻す] をクリックします。

FVTool への応答の表示

フィルターの応答特性を別のウィンドウに表示するには、[表示][フィルターの可視化ツール] を選択するか (フィルター仕様を除く任意の解析が表示領域にある場合のみ使用可能)、[フルビュー解析] ボタン をクリックします。

フィルターの可視化ツール (fvtool) が起動します。

    メモ:   表示領域にフィルター仕様が表示されている場合、ツール バーの [フル ビュー解析] ボタンをクリックすると、FVTool ではなく 「 MATLAB Figure ウィンドウ」 が開きます。対応するメニュー項目は、[Figure へ出力] です。このメニュー項目は、フィルター仕様が表示されている場合にのみ使用できます。

このツールを使用すると、設計に注釈を付けたり、他のフィルター特性を表示したり、フィルター応答を印刷したりすることができます。FDATool での変更がすぐに FVTool に反映されるように、FDATool と FVTool をリンクすることもできます。詳細は、fvtool を参照してください。

極/零点エディターを使用したフィルターの編集

極/零点プロットの表示

[極/零点エディター] パネルを使用して、極/零点を移動、削除、追加することにより、設計またはインポートしたフィルターの係数を編集できます。

    メモ:   フィルターが極/零点エディターを使用して設計または編集された場合は、[ファイル][MATLAB コードを生成] を選択して MATLAB コードを生成することはできません。

    量子化した極や零点は、移動できません。基準の極および零点のみを移動できまます。

このパネルを表示するには、サイド バーの [極/零点エディター] ボタンをクリックするか、[編集][極/零点エディター] を選択します。

極は x のシンボルで、零点は o のシンボルで表示されます。

極/零点プロットの変更

プロット モード ボタンは、極/零点プロットの左側にあります。極/零点のモードを変更するには、対応するボタンをクリックします。極/零点エディターには、左から右へと順に、[極を移動]、[極を追加]、[零点を追加]、[極/零点を削除] のボタンがあります。

次のプロット パラメーターとコントロールは、極/零点プロットの左側と、プロット モード ボタンの下にあります。

  • フィルターのゲイン — フィルターの極と零点のゲインを補正するファクター

  • 座標 — 選択した極または零点の単位 (Polar または Rectangular)

  • 振幅 — 極座標が選択された場合、選択した極または零点の振幅

  • 角度 — 極座標が選択された場合、選択した極または零点の角度

  • 実数部 — 直交座標が選択された場合、選択した極または零点の実数部分

  • 虚数部 — 直交座標が選択された場合、選択した極または零点の虚数部分

  • セクション — 複数選択フィルターに対する既定セクションの数

  • 複素共役 — 対応する共役極または零点を作成、または、既に存在する場合は共役極または零点を自動的に選択

  • 自動更新 — 極または零点が追加、移動、削除されたときに直ちに表示されている振幅応答を更新

[編集][極/零点エディター] には、複数の極/零点の選択、極/零点の反転およびミラー、極/零点の削除、スケーリング、回転を行うための項目があります。

零点の 1 つを縦軸に沿って移動すると、次の結果になります。

  • 選択された零点の組は緑色で表示されます。

  • 共役対から 1 つの零点を選択すると、[複素共役] チェック ボックスと共役が自動選択されます。

  • [自動更新] がアクティブなので、振幅応答プロットはすぐに更新されます。

フィルター構造の変換

新規構造への変換

[編集][構造の変換] を使用して、既定のフィルターを新しい構造に変換できます。すべてのフィルターは次の表現に変換可能です。

  • 直接型 I

  • 直接型 II

  • 直接型 I 転置

  • 直接型 II 転置

  • ラティス自己回帰移動平均 (ARMA)

    メモ:   DSP System Toolbox がインストールされている場合は、[構造の変換] ダイアログ ボックスにこの他の構造が表示されます。

また、特定のフィルター クラスでは次の変換を使用できます。

  • 最小位相 FIR フィルターをラティス最小位相に変換可能

  • 最大位相 FIR フィルターをラティス最大位相に変換可能

  • オールパス フィルターをラティス オールパスに変換可能

  • IIR フィルターをラティス自己回帰移動平均 (ARMA) に変換可能

    メモ:   あるフィルターの構造を別のものに変換すると、元のフィルター構造とは特性が異なる場合があります。これは、コンピューターの演算精度の制限や、変換の丸め計算による誤差によるものです。

以下に例を示します。

  • [編集][構造の変換] を選択して、[構造の変換] ダイアログ ボックスを開きます。

  • フィルター構造のリストから、[直接型 I] を選択します。

2 次セクション型への変換

[編集][2 次セクション型に変換] を使用すると、変換したフィルター構造を、より次数の高いモノリシックな構造としてではなく、2 次セクション型の集合体として保存できます。

    メモ:   以下のオプションは、2 次セクション型フィルター構造の変更に使用する [編集][2 次セクション型の並べ替えとスケーリング] でも使用します。

以下の [スケール] オプションは、直接型 II 構造を変換する場合にのみ使用できます。

  • None (既定)

  • L-2 (L2 ノルム)

  • L-infinity (L ノルム)

[方向] (Up または Down) では、2 次セクション型の順番を決定します。最適な順序は、[スケール] で選択されているオプションにより異なります。

以下に例を示します。

  • [編集][2 次セクション型に変換] を選択して、[2 次セクション型に変換] ダイアログ ボックスを開きます。

  • L ノルムによるスケーリングを行うには、[スケール] メニューから L-infinity を選択します。

  • [方向] オプションは Up のままにしておきます。

      メモ:   2 次セクション型から単一のセクションに戻すには、[編集][単一のセクションに変換] を使用します。

フィルター設計のエクスポート

係数またはオブジェクトのワークスペースへのエクスポート

フィルターは、フィルター係数変数またはフィルター オブジェクト変数として保存できます。フィルターを MATLAB ワークスペースに保存するには、以下の手順にしたがいます。

  1. [ファイル][エクスポート] を選択します。[エクスポート] ダイアログ ボックスが表示されます。

  2. [出力場所] メニューから [ワークスペース] を選択します。

  3. [出力形式] メニューから [係数] を選択してフィルター係数を保存するか、[オブジェクト] を選択してフィルター オブジェクトとしてフィルターを保存します。

  4. 係数を保存する場合は、[変数名] 領域の [分子係数] (FIR フィルターの場合) か、[分子係数][分母係数] (IIR フィルターの場合) または [SOS 行列][スケール値] (2 次セクション型 IIR フィルターの場合) の各テキスト ボックスを使用して変数名を割り当てます。

    オブジェクトの場合は、[離散フィルター] (または [量子化フィルター]) テキスト ボックスで変数名を割り当てます。ワークスペース内に同名の変数があり、これらの変数を上書きする場合は、[変数を上書きする] チェック ボックスを選択します。

  5. [エクスポート] ボタンをクリックします。

係数の ASCII ファイルへのエクスポート

フィルター係数をテキストファイルに保存するには、次の手順にしたがいます。

  1. [ファイル][エクスポート] を選択します。[エクスポート] ダイアログ ボックスが表示されます。

  2. [出力場所] メニューから [係数ファイル (ASCII)] を選択します。

  3. [エクスポート] ボタンをクリックします。[フィルター係数をテキスト ファイルにエクスポート] ダイアログ ボックスが表示されます。

  4. ファイル名を選択または入力して [保存] ボタンをクリックします。

係数が指定したテキスト ファイルに保存され、MATLAB エディターにファイルが表示されます。テキスト ファイルには、MATLAB のバージョン番号、Signal Processing Toolbox™ のバージョン番号、およびフィルター情報などのコメントも含んでいます。

係数またはオブジェクトの MAT ファイルへのエクスポート

フィルター係数やフィルター オブジェクトを MAT ファイルに変数として保存するには、次の手順にしたがいます。

  1. [ファイル][エクスポート] を選択します。[エクスポート] ダイアログ ボックスが表示されます。

  2. [出力場所] メニューから [MAT ファイル] を選択します。

  3. [出力形式] メニューから [係数] を選択してフィルター係数を保存するか、[オブジェクト] を選択してフィルター オブジェクトとしてフィルターを保存します。

  4. 係数を保存する場合は、[変数名] 領域の [分子係数] (FIR フィルターの場合) か、[分子係数][分母係数] (IIR フィルターの場合) または [SOS 行列][スケール値] (2 次セクション型 IIR フィルターの場合) の各テキスト ボックスを使用して変数名を割り当てます。

    オブジェクトの場合は、[離散フィルター] (または [量子化フィルター]) テキスト ボックスで変数名を割り当てます。ワークスペース内に同名の変数があり、これらの変数を上書きする場合は、[変数を上書きする] チェック ボックスを選択します。

  5. [エクスポート] ボタンをクリックします。[フィルター係数を MAT ファイルにエクスポート] ダイアログ ボックスが表示されます。

  6. ファイル名を選択または入力して [保存] ボタンをクリックします。

SPTool へのエクスポート

設計したフィルターを、SPTool での信号の処理や解析に使用できます。

  1. [ファイル][エクスポート] を選択します。[エクスポート] ダイアログ ボックスが表示されます。

  2. [出力場所] メニューから SPTool を選択します。

  3. [離散フィルター] (または [量子化フィルター]) テキスト ボックスで変数名を割り当てます。ワークスペース内に同名の変数があり、これらの変数を上書きしたい場合は、[変数を上書きする] チェック ボックスを選択します。

  4. [エクスポート] ボタンをクリックします。

    SPTool が開き、現在の FDATool フィルターが「指定した変数名 (インポート済み)」としてフィルター領域に一覧表示されます。

      メモ:   DSP System Toolbox ソフトウェアを使用して量子化フィルターをエクスポートすると、量子化された係数の値のみがエクスポートされます。基準係数はエクスポートされません。SPTool では係数値が制約されないため、SPTool で極や零点を移動して係数値を編集した場合、フィルターは量子化された形ではなくなってしまいます。

Simulink モデルへのエクスポート

Simulink® がインストールされている場合、フィルター設計の Simulink ブロックをエクスポートして、新規または既存の Simulink モデルへ挿入できます。

FDATool で使用可能な任意のフィルター設計法を使用して設計したフィルターをエクスポートすることができます。

    メモ:   DSP System Toolbox と Fixed-Point Designer™ がインストールされている場合は、CIC フィルターを Simulink モデルにエクスポートできます。

  1. フィルターの設計が完了したら、サイド バーの [モデルの実現] ボタンをクリックするか、[ファイル][Simulink モデルへエクスポート] をクリックします。[モデルの実現] パネルが表示されます。

  2. ブロックに対して使用する名前を [ブロック名] に入力します。

  3. ブロックを現在の (最後に選択された) Simulink モデルに挿入するには、[作成先][現在] に設定します。ブロックを新規モデルに挿入するには、[新規] を選択します。ブロックをユーザー定義のサブシステムに挿入するには、[ユーザー定義] を選択します。

  4. このパネルで以前に作成したブロックを上書きする場合は、[生成された 'Filter' ブロックに上書きする] チェック ボックスを選択します。

  5. [Simulink 基本要素を使ったモデルの作成] チェック ボックスをオンにすると、フィルターは個別のサブ要素を使用する「サブシステム」 ブロックとして作成されます。このモードでは、次の最適化が利用できます。

    • 0 のゲインに対して最適化する — フィルター構造から値がゼロのゲイン パスを削除

    • 1 のゲインに対して最適化する — フィルター構造の 1 のゲインの代わりに結線 (短絡) を使用

    • 負のゲインに対して最適化する — フィルター構造の -1 のゲインの代わりに結線 (短絡) を使用し、フィルター構造の対応する加算を減算に変更

    • 時間遅れ連鎖を最適化するn 個の単位遅延で構成された遅延連鎖の代わりに、n の単一の遅延を使用

    • 1 のスケール値に対して最適化する — 1 と等しいスケール値の乗算をフィルター構造から除去

    以下の図は、各最適化の効果を示します。

    最適化の効果

      メモ:   [Simulink 基本要素を使ったモデルの作成] チェック ボックスは、DSP System Toolbox ライセンスがあり、Biquad Filter ブロックまたは Discrete FIR Filter ブロックを使用してフィルターを設計できる場合にのみ有効になります。詳細は、DSP System Toolbox ドキュメンテーションの Filter Realization Wizard ブロックのトピックを参照してください。

  6. [入力処理] パラメーターを設定して、生成されるフィルターが入力に対し、その処理をサンプルベースで行うか、またはフレームベースで行うかを指定します。設計するフィルターのタイプに応じて、次のオプションのうちの 1 つまたは両方が利用できます。

    • Columns as channels (frame based) — このオプションを選択する場合、ブロックは入力の各列を別々のチャネルとして扱います。

    • Elements as channels (sample based) — このオプションを選択する場合、ブロックは入力の各要素を別々のチャネルとして扱います。

  7. [モデルの実現] ボタンをクリックしてフィルター ブロックを作成します。[Simulink 基本要素を使ったモデルの作成] チェック ボックスをオンにすると、FDATool によって、SumGain、および Delay の各ブロックを使用するサブシステム ブロックとしてフィルターを実装できます。

Simulink Filter ブロックをダブルクリックすると、フィルター構造が表示されます。

フィルターをエクスポートするその他の方法

作成したフィルターを C ヘッダー ファイルにエクスポートするか、MATLAB コードを生成して、コマンド ラインからフィルターを作成できます。詳細は、以降の節を参照してください。

C ヘッダー ファイルの生成

フィルターに関する情報を外部の C プログラムに含めたい場合があります。フィルター パラメーターのデータが格納された変数を含む C ヘッダー ファイルを作成するには、次の手順にしたがいます。

  1. [ターゲット][C ヘッダーの生成] を選択します。[C ヘッダーの生成] ダイアログ ボックスが表示されます。

  2. C ヘッダー ファイルで使用する変数名を入力します。それぞれのフィルター構造によって、ファイル内に生成される変数が異なります。

    フィルター構造

    変数パラメーター

    直接型 I
    直接型 II
    直接型 I 転置
    直接型 II 転置

    分子係数、分子係数の長さ*、分母係数、分母係数の長さ* およびセクション数 (フィルターにセクションが 1 つしかない場合は無効)

    ラティス自己回帰移動平均 (ARMA)

    ラティス係数、ラティス係数の長さ*、ラダー係数、ラダー係数の長さ*、セクション数 (フィルターにセクションが 1 つしかない場合は無効)

    ラティス移動平均 (MA)

    ラティス係数、ラティス係数の長さ* およびセクション数 (フィルターにセクションが 1 つしかない場合は無効)

    直接型 FIR 直接型 FIR 転置

    分子係数、分子係数の長さ* およびセクション数 (フィルターにセクションが 1 つしかない場合は無効)

    *length 変数には、そのタイプの係数の総数が格納されます。

      メモ:   変数名として、「for」のような C 言語の予約語を使用することはできません。

  3. [推奨形式] を選択して提示されたデータ型を使用するか、[出力形式] を選択して、希望するデータ型をプルダウンから選択します。

      メモ:   DSP System Toolbox ソフトウェアをインストールしていない場合は、倍精度浮動小数点以外のデータ型を選択すると、結果として得られるフィルターが FDATool で設計したものと正確に一致しなくなります。これは、四捨五入や切り捨てにおける誤差によるものです。

  4. [OK] をクリックすると、ファイルが保存され、ダイアログ ボックスが閉じます。[適用]をクリックすると、ファイルは保存されますが、ダイアログ ボックスは開いたまま残り、別の C ヘッダー ファイルを定義することができます。

MATLAB コードの生成

コマンド ラインから FDATool で設計したフィルターを作成する MATLAB コードを生成することができます。[ファイル][MATLAB コードを生成][フィルター設計関数] を選択し、[MATLAB コードを生成] ダイアログ ボックスでファイル名を指定します。

    メモ:   フィルターが極/零点エディターを使用して設計または編集された場合は、([ファイル][MATLAB コードを生成][フィルター設計関数] を選択して) MATLAB コードを生成することはできません。

以下は、FDATool の既定のローパス フィルターに対して生成された MATLAB コードです。

function Hd = ExFilter
%EXFILTER Returns a discrete-time filter object.

%
% MATLAB Code
% Generated by MATLAB(R) 7.11 and the Signal Processing Toolbox 6.14.
%
% Generated on: 17-Feb-2010 14:15:37
%

% Equiripple Lowpass filter designed using the FIRPM function.

% All frequency values are in Hz.
Fs = 48000;  % Sampling Frequency

Fpass = 9600;            % Passband Frequency
Fstop = 12000;           % Stopband Frequency
Dpass = 0.057501127785;  % Passband Ripple
Dstop = 0.0001;          % Stopband Attenuation
dens  = 20;              % Density Factor

% Calculate the order from the parameters using FIRPMORD.
[N, Fo, Ao, W] = firpmord([Fpass, Fstop]/(Fs/2), [1 0], [Dpass, Dstop]);

% Calculate the coefficients using the FIRPM function.
b  = firpm(N, Fo, Ao, W, {dens});
Hd = dfilt.dffir(b);

% [EOF]

既定のセッションでのフィルターの管理

現在の FDATool で設計したフィルターは、カスケード表示、 FVTool へのエクスポート、または現在や将来の FDATool セッションでの再呼び出しのために、登録することができます。

保存されたフィルターは、[既定のフィルター情報] パネルの [フィルターの登録] および [フィルター マネージャー] ボタンを使用して、登録およびアクセスします。

フィルターの登録 —[フィルターの登録] ダイアログ ボックスが表示され、フィルターのフィルター マネージャーへの登録に使用するフィルター名を指定します。既定の名前は、フィルターのタイプです。

フィルター マネージャー — フィルターマネージャーを開きます。

現在のフィルターは、リストボックスの下に一覧表示されます。現在のフィルターを変更するには、希望するフィルターを強調表示します。[現在のフィルターを編集] を選択すると、FDATool に現在選択されているフィルター仕様が表示されます。仕様を変更すると、登録したフィルターは直ちに更新されます。

2 つ以上のフィルターをカスケード表示するには、希望するフィルターを強調表示し、[カスケード] をクリックします。新規のカスケード フィルターが [フィルター マネージャー] に追加されます。

登録されたフィルターの名前を変更するには、[名前の変更] をクリックします。[フィルター名の変更] ダイアログ ボックスが表示されます。

登録したフィルターを フィルター マネージャーから削除するには、[削除] をクリックします。

1 つまたは複数のフィルターを FVTool にエクスポートするには、フィルターを強調表示し、[FVTool] をクリックします。

フィルター設計セッションを保存する/開く

フィルター設計セッションを MAT ファイルとして保存し、別の機会に同じセッションに戻ることができます。

[セッションの保存] ボタン を選択して、セッションを MAT ファイルとして保存します。初めてセッションを保存する場合は、セッション名を入力するための [Save Filter Design File] ブラウザーが開きます。

たとえば、[ファイル名] フィールドに「TestFilter」と入力して、この設計セッションを現在の作業ディレクトリに TestFilter.fda として保存します。

フィルター設計セッションを保存すると、拡張子 .fda が自動的に追加されます。

    メモ:   セッションの保存には、[ファイル][セッションの保存][ファイル][セッションを名前を付けて保存] を使用することもできます。

[セッションを開く] ボタン を選択するか、[ファイル][セッションを開く] を選択して、既存のセッションをフィルターの設計と解析ツールに読み込むことができます。以前に保存されたフィルター設計セッションから選択できるように、[Load Filter Design File] ブラウザーが開きます。

この情報は役に立ちましたか?