このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
フィルター デザイナーの使用
フィルター デザイナーは、フィルターの設計と解析を行うための強力なユーザー インターフェイスです。フィルター デザイナーでは、フィルターの性能仕様を設定したり、MATLAB® ワークスペースからフィルターをインポートしたり、極や零点の追加や移動、削除を行うことで、デジタル FIR または IIR フィルターを迅速に設計することができます。また、フィルター デザイナーには、振幅応答プロット、位相応答プロット、極-零点プロットなどのフィルター解析ツールも用意されています。
使い方
フィルター デザイナーを開くには、以下を入力します。
filterDesigner
[本日のワンポイント] ダイアログがフィルター デザイナーの使用に関する提案と共に表示されます。次に、インターフェイスが既定フィルターと共に表示されます。
フィルター デザイナー インターフェイスには次の 3 つの主要領域があります。
[現在のフィルター情報] 領域
[フィルター表示] 領域
設計パネル
インターフェイスの上半分には、現在のフィルターのフィルター仕様および応答に関する情報が表示されます。左上の [現在のフィルター情報] 領域には、フィルターのプロパティ、つまり、フィルター構造、次数、使用されるセクション数、フィルターが安定かどうかが表示されます。また、複数のフィルターを処理するためのフィルター マネージャーへのアクセスも提供します。
右上の [フィルター表示] 領域には、振幅応答、群遅延、フィルター係数など、さまざまなフィルター応答が表示されます。
インターフェイスの下半分は、フィルター デザイナーの対話部分です。下半分の設計パネルは、フィルター仕様を定義する場所です。このパネルは、他の 2 つの上部領域に何を表示するかを制御します。サイド バーのボタンを使用して、他のパネルを下半分に表示できます。
このツールには状況依存ヘルプが含まれています。右クリックするか、[これはなに?] ボタンをクリックすることで、このツールのさまざまな部分の情報を得ることができます。
フィルター デザイナーを開いたときには、[フィルター設計] は有効になっていません。[フィルター設計] を有効にするには、既定のフィルター設計に変更を加えなければなりません。これは、フィルター設計を変更するたびに行う必要があります。[応答タイプ] や [フィルター次数] の下にあるようなラジオ ボタン項目やドロップダウン メニュー項目を変更するとすぐ、[フィルター設計] が有効になります。[Fs]、[Fpass]、および [Fstop] のようなテキスト ボックスの仕様を変更する場合、テキスト ボックスの外側をクリックして [フィルター設計] を有効にする必要があります。
フィルター タイプの選択
以下の応答タイプから選択できます。
ローパス
レイズド コサイン
ハイパス
バンドパス
バンドストップ
微分器
マルチバンド
ヒルベルト変換
任意振幅
任意群遅延
ピーク
ノッチ
バンドパス フィルターを設計するには、アプリの [応答タイプ] 領域にある [バンドパス] の横にあるラジオ ボタンを選択します。
メモ
特定の応答タイプでは、一部のフィルター設計法が使用できないことがあります。フィルター タイプを選択すると、使用可能なフィルター設計法が制限されることがあります。選択したフィルター タイプで使用できないフィルター設計法は、アプリの [設計法] 領域から削除されます。
フィルター設計法の選択
選択したフィルターの応答タイプに対し、既定のフィルター設計法を使用することができます。または、アプリに一覧表示されている使用可能な FIR 法や IIR 法から、フィルター設計法を選択することもできます。
Remez アルゴリズムを選択して FIR フィルター係数を計算するには、設計法のリストで [FIR] ラジオ ボタンを選択し、Equiripple
を選択します。
フィルター設計仕様の設定
フィルター仕様の表示
設定できるフィルター設計仕様は、フィルターの応答タイプや設計法により変化します。[解析] 、 [フィルター仕様] を選択するか、ツール バーの [フィルター仕様] ボタンをクリックすると、表示領域にフィルターの仕様が表示されます。
[表示] 、 [仕様マスク] を選択すると、設計されたフィルターの振幅プロットでフィルター仕様を表示することも可能です。
フィルター次数
等リップル フィルターを設計する場合には、フィルター次数を決定する 2 つのオプションのうちいずれかを使用できます。
次数指定: テキスト ボックスにフィルターの次数を入力します。
最小次数: フィルター設計法によって最小次数フィルターが決定されます。
この例の場合、[最小次数] ラジオ ボタンを選択します。
フィルター次数の指定に関するオプションは、選択したフィルター設計法によって異なることに注意してください。フィルター設計法によっては、いずれかのオプションを使用できないことがあります。
オプション
使用可能なオプションは、選択したフィルター設計法によって異なります。設定可能なオプションが用意されているのは、FIR 等リップルと FIR ウィンドウによる設計法のみです。FIR 等リップルの場合のオプションは、[密度係数] です。詳細については、firpm
を参照してください。FIR ウィンドウの場合のオプションは、[通過帯域のスケーリング]、[ウィンドウ] です。以下にあげるウィンドウには、設定可能なパラメーターがあります。
ウィンドウ | パラメーター |
---|---|
チェビシェフ ( | サイドローブの減衰 |
ガウス ( | アルファ |
カイザー ( | ベータ |
テイラー ( | Nbar、サイドローブ レベル |
テューキー ( | アルファ |
ユーザー定義 | 関数名、パラメーター |
ウィンドウの可視化ツール (WVTool) で [表示] ボタンをクリックすると、ウィンドウが表示されます。
この例の場合、[密度係数] を 16
に設定します。
バンドパス フィルターの周波数に関する仕様
バンドパス フィルターでは、次の仕様を設定できます。
周波数の単位
Hz
kHz
MHz
GHz
正規化 (0 - 1)
サンプリング周波数
通過帯域周波数
阻止帯域周波数
通過帯域を指定するには、2 つの周波数を使用します。最初の周波数は通過帯域の低域側のエッジを、2番目の周波数は高域側のエッジを決定します。
同様に、阻止帯域も 2 つの周波数で指定します。最初の周波数は最初の阻止帯域の高域側のエッジ、2 番目の周波数は 2 番目の阻止帯域の低域側の周波数です。
この例の場合、次のようにします。
単位は [Hz] (既定) のまま
サンプリング周波数 ([Fs]) を
2000
Hz に設定最初の阻止帯域の終端 ([Fstop1]) を
200
Hz に設定通過帯域の始点 ([Fpass1]) を
300
Hz に設定通過帯域の終端 ([Fpass2]) を
700
Hz に設定2 番目の阻止帯域の始点 ([Fstop2]) を
800
Hz に設定
バンドパス フィルターの振幅仕様
バンドパス フィルターでは、次の振幅応答の特性を指定できます。
振幅応答の単位 (dB、または、線形)
通過帯域リップル
阻止帯域の減衰量
この例の場合、次のようにします。
[単位] は
dB
(既定) のまま通過帯域リップル ([Apass]) を
0.1
dB に設定両方の阻止帯域の減衰量 ([Astop1]、[Astop2]) を
75
dB に設定
フィルター係数の計算
フィルター設計の仕様を指定したら、[フィルター設計] ボタンをクリックしてフィルター係数を計算します。
[フィルター設計] ボタンは、フィルター設計用に係数を計算した後、無効化されることに注意してください。フィルター仕様を変更すると、このボタンを再度使用できるようになります。
フィルターの解析
フィルター応答の表示
以下のフィルター応答特性を、表示領域や独立したウィンドウに表示することができます。
振幅応答
位相応答
振幅応答と位相応答
群遅延応答
位相遅延応答
インパルス応答
ステップ応答
極-零点プロット
ゼロ位相応答は、振幅応答プロット、または振幅応答と位相応答プロットの y 軸のコンテキスト メニューから使用できます。
振幅応答推定
ノイズ パワースペクトルの丸め誤差
[振幅応答推定] と [ノイズ パワースペクトルの丸め誤差] の解析は、フィルター内部設定を使用します。
上記のフィルター応答と、関連するツール バー ボタン、その他のフィルター デザイナー ツール バー ボタンの詳細については、FVTool の項を参照してください。
同じプロットに 2 つの応答を表示するには、[解析] 、 [解析の重ね合わせ] を選択して、使用可能な応答を選択します。2 つ目の y 軸が応答プロットの右側に追加されます。(一部の応答では重ね合わせを表示できないことがあります)。
この領域では、フィルター係数と詳細なフィルター情報を表示することもできます。
ゼロ位相応答を除き、すべての解析法へは [解析]メニュー、コンテキス トメニューの [解析パラメーター] ダイアログ ボックス、またはツール バーのボタンからアクセスできます。ゼロ位相応答にアクセスするには、プロットの y 軸を右クリックして、コンテキスト メニューから [ゼロ位相] を選択します。
たとえば、フィルターの振幅応答を見るには、ツール バーの [振幅応答] ボタン を選択します。
[表示] 、 [仕様マスク] を選択することで、振幅プロットにフィルター仕様を重ね合わせることもできます。
メモ
FVTool で仕様マスクを使用できるのは、フィルター デザイナーから FVTool が起動された場合に限ります。
データのヒントの使用
応答をクリックして、応答内の特定の点に関する情報を表示する、プロット データのヒントを追加できます。
データ ヒントの詳細については、プロット データの対話型の確認を参照してください。
スペクトル マスクの描画
振幅プロットにスペクトル マスク、すなわち除去領域線を追加するには、[表示] 、 [ユーザー定義スペクトル マスク] をクリックします。
マスクは、周波数ベクトルと振幅ベクトルで定義されます。これらのベクトルは同じ長さでなければなりません。
Enable Mask
— 選択すると、マスク表示がオンになります。Normalized Frequency
— 選択すると、表示されている周波数範囲にわたり、周波数が 0 ~ 1 に正規化されます。Frequency Vector
— x 軸の周波数値のベクトルを入力します。Magnitude Units
— 希望する振幅の単位を選択します。これらの単位は、振幅プロットで使用した単位と一致しなければなりません。Magnitude Vector
— y 軸の振幅値のベクトルを入力します。
以下の振幅応答は、スペクトル マスクを示しています。
サンプリング周波数の変更
フィルターのサンプリング周波数を変更するには、任意のフィルター応答プロット内を右クリックし、コンテキスト メニューから [サンプリング周波数] を選択します。
フィルター名を変更するには、[フィルター名] に新しい名前を入力します。(複数のフィルターがある場合は、FVTool で希望するフィルターを選択してから、新しい名前を入力します)。
サンプリング周波数を変更するには、[単位] から希望する単位を選択し、[Fs] にサンプリング周波数を入力します (fvtool
の各フィルターに対して別々のサンプリング周波数を指定したり、すべてのフィルターに対してサンプリング周波数を適用することができます)。
フィルター デザイナーまたは FVTool の起動時に使用する既定値として表示パラメーターを保存するには、[既定の設定として保存] をクリックします。
既定値を復元するには、[既定の設定に戻す] をクリックします。
FVTool への応答の表示
フィルターの応答特性を別のウィンドウに表示するには、[表示] 、 [フィルターの可視化ツール] を選択するか (フィルター仕様を除く任意の解析が表示領域にある場合のみ使用可能)、[フルビュー解析] ボタン をクリックします。
これにより、フィルターの可視化ツール (fvtool
) が起動します。
メモ
表示領域にフィルター仕様が表示されている場合、ツール バーの [フルビュー解析] ボタンをクリックすると、FVTool ではなく MATLAB Figure ウィンドウが開きます。詳細については、チャートへの注釈の追加を参照してください。対応するメニュー項目は、[Figure に出力] です。このメニュー項目は、フィルター仕様が表示されている場合にのみ使用できます。
このツールを使用すると、設計に注釈を付けたり、他のフィルター特性を表示したり、フィルター応答を印刷したりすることができます。フィルター デザイナーでの変更がすぐに FVTool に反映されるように、フィルター デザイナーと FVTool をリンクすることもできます。詳細については、FVTool の項を参照してください。
極-零点エディターを使用したフィルターの編集
極-零点プロットの表示
[極-零点エディター] パネルを使用して、極-零点を移動、削除、追加することにより、設計またはインポートしたフィルターの係数を編集できます。
メモ
フィルターが極-零点エディターを使用して設計または編集された場合は、[ファイル] 、 [MATLAB コードを生成] を選択して MATLAB コードを生成することはできません。
量子化した極や零点は、移動できません。基準の極および零点のみを移動できまます。
このパネルを表示するには、サイド バーの [極-零点エディター] ボタンをクリックするか、[編集] 、 [極-零点エディター] を選択します。
極は x のシンボルで、零点は o のシンボルで表示されます。
極-零点プロットの変更
プロット モード ボタンは、極-零点プロットの左側にあります。極-零点のモードを変更するには、対応するボタンをクリックします。極-零点エディターには、左から右へと順に、[極-零点の移動]、[極を追加]、[零点を追加]、[極-零点の削除] のボタンがあります。
次のプロット パラメーターとコントロールは、極-零点プロットの左側と、プロット モード ボタンの下にあります。
ゲイン — フィルターの極と零点のゲインを補正するファクター
座標 — 選択した極または零点の単位 (
Polar
またはRectangular
)振幅 — 極座標が選択された場合、選択した極または零点の振幅
角度 — 極座標が選択された場合、選択した極または零点の角度
実数部 — 直交座標が選択された場合、選択した極または零点の実数部分
虚数部 — 直交座標が選択された場合、選択した極または零点の虚数部分
セクション — 複数選択フィルターに対する既定セクションの数
複素共役 — 対応する共役極または零点を作成、または、既に存在する場合は共役極または零点を自動的に選択
自動更新 — 極または零点が追加、移動、削除されたときに直ちに表示されている振幅応答を更新
[編集] 、 [極-零点エディター] には、複数の極-零点の選択、極-零点の反転およびミラー、極-零点の削除、スケーリング、回転を行うための項目があります。
縦軸上でいずれかの零点を移動させると、以下の結果が出力されます。
選択した零点のペアが緑で示されています。
共役対からいずれかの零点を選択すると、[共役] チェック ボックスと共役が自動選択されます。
[自動更新] がアクティブになっているため、振幅応答プロットが直ちに更新されます。
フィルター構造の変換
新規構造への変換
[編集] 、 [構造の変換] を使用して、現在のフィルターを新しい構造に変換できます。すべてのフィルターは次の表現に変換可能です。
直接型 I
直接型 II
直接型 I 転置
直接型 II 転置
ラティス自己回帰移動平均 (ARMA)
メモ
DSP System Toolbox™ がインストールされている場合は、[構造の変換] ダイアログ ボックスにこの他の構造が表示されます。
また、特定のフィルター クラスでは次の変換を使用できます。
最小位相 FIR フィルターをラティス最小位相に変換可能
最大位相 FIR フィルターをラティス最大位相に変換可能
オールパス フィルターをラティス オールパスに変換可能
IIR フィルターをラティス自己回帰移動平均 (ARMA) に変換可能
メモ
あるフィルターの構造を別のものに変換すると、元のフィルター構造とは特性が異なる場合があります。これは、コンピューターの演算精度の制限や、変換の丸め計算の誤差によるものです。
次に例を示します。
[編集] 、 [構造の変換] を選択して、[構造の変換] ダイアログ ボックスを開きます。
フィルター構造のリストから、
Direct-form
I
を選択します。
2 次セクションへの変換
[編集] 、 [2 次セクションに変換] を使用すると、変換したフィルター構造を、より次数の高いモノリシックな構造としてではなく、2 次セクションの集合体として保存できます。
メモ
以下のオプションは、2 次セクション フィルター構造の変更に使用する [編集] 、 [2 次セクションの並べ替えとスケーリング] でも使用します。
以下の [スケール] オプションは、直接型 II 構造を変換する場合にのみ使用できます。
None
(既定)L-2
(L2 ノルム)L-infinity
(L∞ ノルム)
[方向] (Up
または Down
) では、2 次セクションの順番を決定します。最適な順序は、[スケール] で選択されているオプションにより異なります。
次に例を示します。
[編集] 、 [2 次セクションに変換] を選択して、[2 次セクションに変換] ダイアログ ボックスを開きます。
L∞ ノルムによるスケーリングを行うには、[スケール] メニューから
L-infinity
を選択します。[方向] オプションは
Up
のままにしておきます。メモ
2 次セクションから単一のセクションに戻すには、[編集] 、 [単一のセクションに変換] を使用します。
フィルター設計のエクスポート
係数またはオブジェクトのワークスペースへのエクスポート
フィルターは、フィルター係数変数またはフィルター System object™ 変数として保存できます。フィルターを MATLAB ワークスペースに保存するには、以下の手順に従います。
[ファイル] 、 [エクスポート] を選択します。[エクスポート] ダイアログ ボックスが表示されます。
[出力場所] メニューから
Workspace
を選択します。[出力形式] メニューから
Coefficients
を選択してフィルター係数を保存するか、System Objects
を選択してフィルター System object にフィルターを保存します。係数を保存する場合は、[変数名] 領域の [分子係数] (FIR フィルターの場合) か、[分子係数] と [分母係数] (IIR フィルターの場合) または [SOS 行列] と [スケール値] (2 次セクション IIR フィルターの場合) の各テキスト ボックスを使用して変数名を割り当てます。
System object の場合は、[離散フィルター] (または [量子化フィルター]) テキスト ボックスで変数名を割り当てます。ワークスペース内に同名の変数があり、これらの変数を上書きする場合は、[変数を上書きする] チェック ボックスを選択します。
[エクスポート] ボタンをクリックします。
係数の ASCII ファイルへのエクスポート
フィルター係数をテキストファイルに保存するには、次の手順にしたがいます。
[ファイル] 、 [エクスポート] を選択します。[エクスポート] ダイアログ ボックスが表示されます。
[出力場所] メニューから
Coefficients
File
(ASCII)
を選択します。[エクスポート] ボタンをクリックします。[フィルター係数をテキスト ファイルにエクスポート] ダイアログ ボックスが表示されます。
ファイル名を選択または入力して [保存] ボタンをクリックします。
係数が指定したテキスト ファイルに保存され、MATLAB エディターにファイルが表示されます。テキスト ファイルには、MATLAB のバージョン番号、Signal Processing Toolbox™ のバージョン番号、およびフィルター情報などのコメントも含んでいます。
係数またはオブジェクトの MAT ファイルへのエクスポート
フィルター係数やフィルター オブジェクトを MAT ファイルに変数として保存するには、次の手順にしたがいます。
[ファイル] 、 [エクスポート] を選択します。[エクスポート] ダイアログ ボックスが表示されます。
[出力場所] メニューから
MAT-file
を選択します。[出力形式] メニューから
Coefficients
を選択してフィルター係数を保存するか、Objects
を選択してフィルター オブジェクトとしてフィルターを保存します。係数を保存する場合は、[変数名] 領域の [分子係数] (FIR フィルターの場合) か、[分子係数] と [分母係数] (IIR フィルターの場合) または [SOS 行列] と [スケール値] (2 次セクション IIR フィルターの場合) の各テキスト ボックスを使用して変数名を割り当てます。
オブジェクトの場合は、[離散フィルター] (または [量子化フィルター]) テキスト ボックスで変数名を割り当てます。ワークスペース内に同名の変数があり、これらの変数を上書きする場合は、[変数を上書きする] チェック ボックスを選択します。
[エクスポート] ボタンをクリックします。[フィルター係数を MAT ファイルにエクスポート] ダイアログ ボックスが表示されます。
ファイル名を選択または入力して [保存] ボタンをクリックします。
Simulink モデルへのエクスポート
Simulink® がインストールされている場合、フィルター設計の Simulink ブロックをエクスポートして、新規または既存の Simulink モデルへ挿入できます。
フィルター デザイナー アプリで使用可能な任意のフィルター設計法を使用して設計したフィルターをエクスポートすることができます。
メモ
DSP System Toolbox と Fixed-Point Designer™ がインストールされている場合は、CIC フィルターを Simulink モデルにエクスポートできます。
フィルターの設計が完了したら、サイドバーの [モデルの実現] ボタンをクリックするか、[ファイル] 、 [Simulink モデルへエクスポート] をクリックします。[モデルの実現] パネルが表示されます。
ブロックに対して使用する名前を [ブロック名] に入力します。
ブロックを現在の (最後に選択された) Simulink モデルに挿入するには、[作成先] を
Current
に設定します。ブロックを新規モデルに挿入するには、New
を選択します。ブロックをユーザー定義のサブシステムに挿入するには、User defined
を選択します。このパネルで以前に作成したブロックを上書きする場合は、[生成された 'Filter' ブロックに上書きする] チェック ボックスを選択します。
[Simulink 基本要素を使ったモデルの作成] チェック ボックスを選択すると、フィルターは個別のサブ要素を使用するサブシステム (Simulink) ブロックとして作成されます。このモードでは、次の最適化が利用できます。
0 のゲインを最適化する
— フィルター構造から値がゼロのゲイン パスを削除1 のゲインを最適化する
— フィルター構造の 1 のゲインの代わりに結線 (短絡) を使用負のゲインを最適化する
— フィルター構造の -1 のゲインの代わりに結線 (短絡) を使用し、フィルター構造の対応する加算を減算に変更遅延連鎖を最適化する
—n
個の単位遅延で構成された遅延連鎖の代わりに、n
の単一の遅延を使用1 のスケール値を最適化する
— 1 と等しいスケール値の乗算をフィルター構造から除去
以下の図は、各最適化の効果を示します。
最適化の効果
メモ
[Simulink 基本要素を使ったモデルの作成] チェック ボックスは、DSP System Toolbox ライセンスがあり、そのライブラリの Digital Filter ブロックを使用してフィルターを設計できる場合にのみ有効になります。詳細については、Filter Realization Wizard を参照してください。
[入力処理] パラメーターを設定して、生成されるフィルターが入力に対し、その処理をサンプルベースで行うか、またはフレームベースで行うかを指定します。設計するフィルターのタイプに応じて、次のオプションのうちの 1 つまたは両方が利用できます。
チャネルとしての列 (フレーム ベース)
— このオプションを選択すると、ブロックは入力の各列を別々のチャネルとして扱います。チャネルとしての要素 (サンプル ベース)
— このオプションを選択する場合、ブロックは入力の各要素を別々のチャネルとして扱います。
[モデルの実現] ボタンをクリックしてフィルター ブロックを作成します。[Simulink 基本要素を使ったモデルの作成] チェック ボックスを選択すると、フィルター デザイナーによって、Sum (Simulink)、Gain (Simulink)、および Delay (Simulink) の各ブロックを使用するサブシステム ブロックとしてフィルターを実装できます。
Simulink Filter ブロックをダブルクリックすると、フィルター構造が表示されます。
フィルターをエクスポートするその他の方法
フィルターを C ヘッダー ファイルに送信することも、コマンド ラインからフィルターを作成する MATLAB コードを生成することもできます。詳細な手順については、次の節を参照してください。
C ヘッダー ファイルの生成
フィルターに関する情報を外部の C プログラムに含めたい場合があります。フィルター パラメーターのデータが格納された変数を含む C ヘッダー ファイルを作成するには、次の手順にしたがいます。
[ターゲット] 、 [C ヘッダーの生成] を選択します。[C ヘッダーの生成] ダイアログ ボックスが表示されます。
C ヘッダー ファイルで使用する変数名を入力します。それぞれのフィルター構造によって、ファイル内に生成される変数が異なります。
フィルター構造
変数パラメーター
直接型 I
直接型 II
直接型 I 転置
直接型 II 転置[分子係数]、[分子係数 長さ]*、[分母係数 長さ]* および [セクション数] (フィルターにセクションが 1 つしかない場合は無効)
ラティス自己回帰移動平均 (ARMA)
[ラティス係数]、[ラティス係数 長さ]*、[ラダー係数]、[ラダー係数 長さ]* および [セクション数] (フィルターにセクションが 1 つしかない場合は無効)
ラティス移動平均 (MA)
[ラティス係数]、[ラティス係数 長さ]* および [セクション数] (フィルターにセクションが 1 つしかない場合は無効)
直接型 FIR 直接型 FIR 転置
[分子係数]、[分子係数 長さ]* および [セクション数] (フィルターにセクションが 1 つしかない場合は無効)
*長さ変数には、そのタイプの係数の総数が格納されます。
メモ
変数名として、「for」のような C 言語の予約語を使用することはできません。
[推奨形式] を選択して提示されたデータ型を使用するか、[出力形式] を選択して、希望するデータ型をプルダウンから選択します。
メモ
DSP System Toolbox ソフトウェアをインストールしていない場合は、倍精度浮動小数点以外のデータ型を選択すると、結果として得られるフィルターがフィルター デザイナーで設計したものと正確に一致しなくなります。これは、四捨五入や切り捨てにおける誤差によるものです。
[生成] をクリックし、C ヘッダー ファイルを生成します。[閉じる] をクリックしてダイアログ ボックスを閉じます。
MATLAB コードの生成
コマンド ラインからフィルター デザイナーで設計したフィルターを作成する MATLAB コードを生成することができます。[ファイル] 、 [MATLAB コードを生成] 、 [フィルター設計関数] を選択し、[MATLAB コードを生成] ダイアログ ボックスでファイル名を指定します。
メモ
極-零点エディターを使用してフィルターが設計または編集されている場合、[ファイル] 、 [MATLAB コードを生成] 、 [フィルター設計関数 (System object を使用)] または [ファイル] 、 [MATLAB コードを生成] 、 [データ フィルター処理関数 (System object を使用)] を使用して MATLAB コードを生成することはできません。
この例で設計された等リップル バンドパス フィルターに対し、[ファイル] 、 [MATLAB コードを生成] 、 [データ フィルター処理関数 (System object を使用)] を選択すると、以下の MATLAB コードが生成されます。
function Hd = ExFilter %EXFILTER Returns a discrete-time filter object. % MATLAB Code % Generated by MATLAB(R) 9.1 and the DSP System Toolbox 9.3. % Generated on: 17-Nov-2016 14:55:28 % Equiripple Bandpass filter designed using the FIRPM function. % All frequency values are in Hz. Fs = 2000; % Sampling Frequency Fstop1 = 200; % First Stopband Frequency Fpass1 = 300; % First Passband Frequency Fpass2 = 700; % Second Passband Frequency Fstop2 = 800; % Second Stopband Frequency Dstop1 = 0.000177827941; % First Stopband Attenuation Dpass = 0.0057563991496; % Passband Ripple Dstop2 = 0.000177827941; % Second Stopband Attenuation dens = 16; % Density Factor % Calculate the order from the parameters using FIRPMORD. [N, Fo, Ao, W] = firpmord([Fstop1 Fpass1 Fpass2 Fstop2]/(Fs/2), [0 1 ... 0], [Dstop1 Dpass Dstop2]); % Calculate the coefficients using the FIRPM function. b = firpm(N, Fo, Ao, W, {dens}); Hd = dsp.FIRFilter( ... 'Numerator', b); % [EOF]
既定のセッションでのフィルターの管理
現在のフィルター デザイナー セッションで設計したフィルターは、カスケード表示、FVTool へのエクスポート、または現在や将来のフィルター デザイナー セッションでの再呼び出しのために、登録することができます。
保存されたフィルターは、[現在のフィルター情報] ペインの [フィルターの登録] および [フィルター マネージャー] ボタンを使用して、登録およびアクセスします。
フィルターの登録 —[フィルターの登録] ダイアログ ボックスが表示され、フィルターのフィルター マネージャーへの登録に使用するフィルター名を指定します。既定の名前は、フィルターのタイプです。
フィルター マネージャー — フィルターマネージャーを開きます。
現在のフィルターは、リストボックスの下に一覧表示されます。現在のフィルターを変更するには、希望するフィルターを強調表示します。[現在のフィルターを編集] を選択すると、フィルター デザイナーに現在選択されているフィルター仕様が表示されます。仕様を変更すると、登録したフィルターは直ちに更新されます。
2 つ以上のフィルターをカスケード表示するには、希望するフィルターを強調表示し、[カスケード] をクリックします。新規のカスケード フィルターが [フィルター マネージャー] に追加されます。
登録されたフィルターの名前を変更するには、[名前の変更] をクリックします。[フィルター名の変更] ダイアログ ボックスが表示されます。
登録したフィルターを フィルター マネージャーから削除するには、[削除] をクリックします。
1 つ以上のフィルターを FVTool にエクスポートするには、フィルターを強調表示し、[FVTool] をクリックします。
フィルター設計セッションを保存する/開く
フィルター設計セッションを MAT ファイルとして保存し、別の機会に同じセッションに戻ることができます。
[セッションの保存] ボタン を選択して、セッションを MAT ファイルとして保存します。はじめてセッションを保存する場合、[フィルター設計セッションを保存] ブラウザーが開き、セッション名の入力が求められます。
たとえば、[ファイル名] フィールドに TestFilter
と入力し、この設計セッションを TestFilter.fda
として現在の作業ディレクトリに保存します。
フィルター設計セッションを保存すると、拡張子 .fda
が自動的に追加されます。
メモ
セッションの保存には、[ファイル] 、 [セッションの保存] や [ファイル] 、 [セッションに名前を付けて保存] を使用することもできます。
[セッションを開く] ボタン を選択するか、[ファイル] 、 [セッションを開く] を選択して、既存のセッションをフィルターの設計と解析ツールに読み込むことができます。[フィルター設計セッションを読み込む] ブラウザーが開き、以前に保存されたフィルター設計セッションから選択できます。