Main Content

フィルター ビルダー設計プロセス

フィルター ビルダーの紹介

関数 filterBuilder は、オブジェクト-オブジェクト指向フィルター設計パラダイムである fdesign のグラフィカル インターフェイスを提供し、フィルター設計プロセスにおける開発時間の短縮を目的としています。filterBuilder では、仕様中心型のアプローチを使用して、希望する応答に対して最適なアルゴリズムを求めます。

メモ

filterBuilder には Signal Processing Toolbox™ が必要です。filterBuilder の機能は、DSP System Toolbox™ によって大幅に拡張されます。以下に記載または表示されている機能の多くは、DSP System Toolbox がインストールされている場合にのみ使用できます。このソフトウェアがインストールされているかどうかは、コマンド プロンプトで ver と入力して確認できます。

フィルター ビルダーを使用したフィルターの設計

filterBuilder を使用するときの基本ワークフローでは、フィルターの制約と仕様を選択し、それらを設計の開始点として使用します。フィルターに使用するアルゴリズムの選択を先に延ばせば、希望するパフォーマンス基準に基づき、最適な設計法を自動的に決定することができます。以下に、filterBuilder を使用したフィルター設計の各ステップを詳細に説明します。

応答の選択

filterBuilder ツールを起動するには、以下のように入力します。

filterBuilder
MATLAB® コマンド プロンプトで、[応答選択] ダイアログ ボックスが開き、DSP System Toolbox で使用可能なすべてのフィルター応答が表示されます。

メモ

このステップは自動的には行われないため、省略することはできません。フィルター設計プロセスを開始するには、応答を選択しなければなりません。

応答を、たとえばバンドパスに選択し、仕様オブジェクトの設計を開始すると、[バンドパス設計] ダイアログ ボックスが表示されます。このダイアログ ボックスには、[メイン] ペイン、[データ型] ペイン、[コード生成] ペインがあります。フィルターの仕様は、通常このダイアログ ボックスの [メイン] ペインで設定します。

[データ型] ペインでは精度とデータ型の設定を行い、[コード生成] ペインには完了したフィルター設計のためのさまざまな実装オプションがあります。

フィルターの初期設計には、主に [メイン] ペインを使用します。

[バンドパス設計] ダイアログ ボックスには、バンドパス フィルターの仕様を決定するために必要なすべてのパラメーターがあります。[メイン] ペインに表示されるパラメーターは、設計するフィルターのタイプにより異なります。ただし、[応答選択] ダイアログ ボックスで選択したフィルターのタイプに関わらず、フィルター設計のダイアログ ボックスには、[メイン][データ型][コード生成] の 3 つのペインがあります。

仕様の選択

バンドパス フィルターの仕様を選択するには、まず [メイン] ペインの [フィルター仕様] フレームで [インパルス応答][次数モード][フィルター タイプ] を選択します。[メイン] ペインの適切なフレームで周波数と振幅の仕様を設定することにより、フィルターの応答をさらに詳細に指定できます。

メモ

[周波数][振幅][アルゴリズム] の各仕様は、相互に依存し、[フィルター仕様] の選択に基づいて変更できます。フィルターの仕様を選択する際には、まずフィルター仕様を選択し、ダイアログ ボックスの上から順に作業します。このアプローチによって、ダイアログ ボックスに依存する仕様に対して最適な設定が表示されるようになります。

アルゴリズムの選択

フィルターで使用可能なアルゴリズムは、前のステップで選択したフィルター応答と設計パラメーターにより異なります。たとえばバンドパス フィルターで、選択したインパルス応答が IIR、[次数モード] フィールドが [最小値] に設定されている場合、使用可能な設計法は [バタワース]Chebyshev I 型または II 型、または [楕円] です。[次数モード] フィールドが [指定] に設定されている場合、使用可能な設計法は [IIR 最小 p ノルム] です。

アルゴリズムのカスタマイズ

[アルゴリズム] フレームの [設計オプション] を展開すると、指定したアルゴリズムをさらにカスタマイズできます。使用可能なオプションは、アルゴリズムとダイアログ ボックスで選択した設定により異なります。Butterworth を使用するバンドパス IIR フィルターの場合、[厳密に一致] などの設計オプションが使用可能です。[System object を使用してフィルターを実装] チェック ボックスをオンにして、指定したフィルターの System object™ を生成します。これらの設定を使用すると、filterBuilderdsp.BiquadFilter "System object" を作成します。

設計の解析

フィルター応答を解析するには、[フィルター応答の表示] ボタンをクリックします。フィルターの可視化ツールが開き、フィルター応答の振幅プロットが表示されます。

フィルターの入力データへの実現または適用

設計プロセスを繰り返し、[フィルターの可視化ツール] を使用した解析によって希望するフィルターが得られたら、フィルターを入力データに適用します。このステップも、ソフトウェアによって自動的に実行されることはありません。データをフィルター処理するには、このステップを明示的に行う必要があります。[バンドパス設計] ダイアログ ボックスで [OK] をクリックすると、DSP System Toolbox によってフィルター System object が作成され、MATLAB ワークスペースにエクスポートされます。

これで、フィルターを実際の入力データに対して使用できます。入力データ x をフィルター処理するには、MATLAB コマンド プロンプトで以下を入力します。

>> y = Hbp(x);

ヒント

Simulink® を使用している場合は、realizemdl コマンドを使ってこのフィルターを Simulink ブロックにエクスポートすることもできます。このコマンドのヘルプを表示するには、以下を入力します。

>> help realizemdl