このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
フィルター ビルダー設計プロセス
フィルター ビルダーの紹介
関数 filterBuilder
は、オブジェクト指向フィルター設計パラダイムである fdesign
のグラフィカル インターフェイスを提供し、フィルター設計プロセスにおける開発時間の短縮を目的としています。filterBuilder
では、仕様中心型のアプローチを使用して、希望する応答に対して最適なアルゴリズムを求めます。
メモ
filterBuilder
には Signal Processing Toolbox™ が必要です。DSP System Toolbox™ 製品は、filterBuilder
の機能を大幅に拡張します。このページに記載されている機能の多くは、DSP System Toolbox がインストールされている場合にのみ使用できます。このソフトウェアがインストールされているかどうかは、コマンド プロンプトで ver
と入力して確認できます。
フィルター ビルダーを使用したフィルターの設計
filterBuilder
を使用するときの基本ワークフローでは、フィルターの制約と仕様を選択し、これらの制約を設計の開始点として使用します。フィルターに使用するアルゴリズムの選択を先に延ばせば、希望するパフォーマンス基準に基づき、最適な設計法を自動的に決定することができます。以下に、filterBuilder
を使用したフィルター設計の各ステップを詳細に説明します。
応答の選択
filterBuilder
ツールを起動するには、以下のように入力します。
filterBuilder
メモ
このステップは自動的には行われないため、省略することはできません。フィルター設計プロセスを開始するには、応答を選択しなければなりません。
応答を、たとえばバンドパスに選択し、仕様オブジェクトの設計を開始すると、[バンドパス設計] ダイアログ ボックスが表示されます。このダイアログ ボックスには、[メイン] ペイン、[データ型] ペイン、[コード生成] ペインがあります。フィルターの仕様は、通常このダイアログ ボックスの [メイン] ペインで設定します。
[データ型] ペインでは精度とデータ型の設定を行い、[コード生成] ペインには完了したフィルター設計のためのさまざまな実装オプションがあります。
フィルターの初期設計には、主に [メイン] ペインを使用します。
[バンドパス設計] ダイアログ ボックスには、バンドパス フィルターの仕様を決定するために必要なすべてのパラメーターがあります。[メイン] ペインに表示されるパラメーターは、設計するフィルターのタイプにより異なります。ただし、[応答選択] ダイアログ ボックスで選択したフィルターのタイプに関わらず、フィルター設計のダイアログ ボックスには、[メイン]、[データ型]、[コード生成] の 3 つのペインがあります。
仕様の選択
バンドパス フィルターの仕様を選択するには、まず [メイン] ペインの [フィルター仕様] フレームで [インパルス応答]、[次数モード]、[フィルター タイプ] を選択します。[メイン] ペインの適切なフレームで周波数と振幅の仕様を設定することにより、フィルターの応答をさらに詳細に指定できます。
メモ
[周波数]、[振幅]、[アルゴリズム] の各仕様は、相互に依存し、[フィルター仕様] の選択に基づいて変更できます。フィルターの仕様を選択する際には、まずフィルター仕様を選択し、ダイアログ ボックスの上から順に作業します。このアプローチによって、ダイアログ ボックスに依存する仕様に対して最適な設定が表示されるようになります。
アルゴリズムの選択
フィルターで使用可能なアルゴリズムは、前のステップで選択したフィルター応答と設計パラメーターにより異なります。たとえばバンドパス フィルターで、選択したインパルス応答が IIR、[次数モード] フィールドが [最小値]
に設定されている場合、使用可能な設計法は [バタワース]
、[チェビシェフ]
I 型または II 型、または [楕円]
です。[次数モード] フィールドが [指定]
に設定されている場合、使用可能な設計法は [IIR 最小 p ノルム]
です。
アルゴリズムのカスタマイズ
[アルゴリズム] フレームの [設計オプション] を展開すると、指定したアルゴリズムをさらにカスタマイズできます。使用可能なオプションは、アルゴリズムとダイアログ ボックスで選択した設定により異なります。Butterworth
を使用するバンドパス IIR フィルターの場合、以下の図に示すように、[厳密に一致] などの設計オプションが使用可能です。
設計の解析
フィルター応答を解析するには、[フィルター応答の表示] ボタンをクリックします。フィルターの可視化ツール (FVTool) が開き、フィルター応答の振幅プロットが表示されます。
フィルターの入力データへの実現または適用
設計プロセスを繰り返し、[フィルターの可視化ツール] を使用した解析によって希望するフィルターが得られたら、フィルターを入力データに適用します。このステップも、ソフトウェアによって自動的に実行されることはありません。データをフィルター処理するには、このステップを明示的に行う必要があります。[バンドパス設計] ダイアログ ボックスで [OK] をクリックすると、Signal Processing Toolbox ソフトウェアによってフィルター係数が作成され、MATLAB ワークスペースにエクスポートされます。
これで、フィルターを実際の入力データに対して使用できます。基本的なフィルター コマンドは、入力データ x
を受け取り、フィルター オブジェクトによってフィルター処理を行い、出力 y
を生成します。
y = filter(Hbs,x)
help dfilt/filter
ヒント
Simulink® を使用している場合は、realizemdl
コマンドを使ってこのフィルターを Simulink ブロックにエクスポートすることもできます。このコマンドのヘルプを表示するには、以下を入力します。
help realizemdl