Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

フィルターの設計と実装

Digital Filter Design ブロックを使用してデジタル ローパス フィルターを設計し、ブロックをモデルに組み込み、低周波ノイズの有無をシミュレートします。

Digital Filter Design ブロックまたは Filter Realization Wizard を使用して、ローパス、ハイパス、バンドパス、およびバンドストップの各フィルターを設計することができます。これらのブロックはさまざまなフィルター構造のフィルター係数を計算することができます。このトピックでは、Digital Filter Design ブロックを使用してホワイト ノイズを低周波ノイズに変換し、その結果をご使用のシステムでシミュレートします。

実際的な用途として、パイロットが飛行機のコックピットでマイクに向かって話しているとしましょう。機体の風切音のノイズもマイクに入ります。飛行機の外部にはセンサーがあり風のノイズが計測されています。コックピット内の風のノイズを見積もり、それをマイクへの入力から差し引くことによってパイロットの声だけが送信されるようにします。

このトピックの最初の節では、マイクに入る低周波ノイズをモデル化する方法を学びます。トピックの次の節で、パイロットの声だけが聞こえるよう、このノイズを除去する方法を学びます。

Simulink でのデジタル フィルターの設計

このセクションでは、Digital Filter Design ブロックを使用して、コックピット内の風切音をモデル化した低周波ノイズを作成します。

ex_gstut3 モデルを開きます。このモデルは Scope ブロックを含み、これは本来の正弦波とホワイト ノイズが付加された正弦波を表示します。

gstut3.png

MATLAB® コマンド プロンプトで dsplib と入力して、DSP System Toolbox™ ライブラリを開きます。

Digital Filter Design ブロックをモデルに組み込むことにより、ホワイト ノイズを低周波ノイズに変換します。この飛行機のシナリオでは、機体の周囲を流れる風によるホワイト ノイズがセンサーによって計測されています。Random Source ブロックによってこのノイズをモデル化します。飛行機の機体によってホワイト ノイズは低周波ノイズ (一種のカラード ノイズ) に変わり、これがコックピット内に聞こえます。このノイズは一定の周波数のみを含み、より除去しづらくなっています。この例では、Digital Filter Design ブロックを使用して低周波ノイズをモデル化します。このブロックでは、フィルターの設計と解析ツール (FDATool) の機能を利用してフィルターを設計します。

Filtering ライブラリをダブルクリックし、次に Filter Implementations サブライブラリをダブルクリックします。Digital Filter Design ブロックをモデルまでクリックアンドドラッグします。

gstut3_sep_filter.png

Digital Filter Design ブロックのパラメーターを設定して、ローパス フィルターを設計し、低周波ノイズを作成します。ブロックをダブルクリックしてブロック パラメーター ダイアログ ボックスを開きます。パラメーターを以下のように設定します。

  • 応答タイプ = Lowpass

  • 設計法 = FIR。リストから [Window] を選択する。

  • フィルター次数 = [次数指定] を選択して、31 と入力する。

  • [通過帯域のスケーリング] をオフにする。

  • ウィンドウ = Hamming

  • 単位 = Normalized (0 to 1)

  • wc = 0.5

これらのパラメーターに基づき、Digital Filter Design ブロックは 32 個の係数をもち、カットオフ周波数が 0.5 のローパス FIR フィルターを設計します。このブロックはフィルターの時間領域応答に 32 サンプルのハミング ウィンドウを乗じます。

ダイアログ ボックスの下中央にある [フィルター設計] をクリックすると [振幅応答] ペインにフィルターの振幅応答が表示されます。以下の図のような Digital Filter Design ダイアログ ボックスが表示されます。

gs_filtering2.png

これで、Digital Filter Design ブロックを使用したデジタル ローパス フィルターの設計が完了しました。

Digital Filter Design ブロックでさまざまな独自フィルターの設計を試すことができます。このブロックの機能の詳細については、Digital Filter Designブロック リファレンス ページを参照してください。

モデルにデジタル フィルターを追加する

このセクションでは、Simulink でのデジタル フィルターの設計で設計したローパス フィルターをブロック線図に追加します。ホワイト ノイズをカラード ノイズに変換するこのフィルターでコックピット内の低周波数の風切音をシミュレートします。

Simulink でのデジタル フィルターの設計で作成したモデルがデスクトップ上に開いていない場合は、同等のモデルである ex_gstut4 を開きます。

gstut4.png

Digital Filter Design ブロックを Random Source ブロックと Sum ブロックの間に配置して、ブロック線図に組み込みます。

gstut4_connected_filter.png

モデルを実行して結果を [Scope] ウィンドウで確認してください。ウィンドウには本来の入力信号、およびそれに低周波ノイズが付加された信号が表示されます。

signal_with_low_freq_noise.png

デジタル フィルターが組み込まれ、それによって信号のカラード ノイズの存在がモデル化されています。これは飛行機のコックピット内のマイクに入る低周波ノイズをモデル化したものに似ています。さて、システムにはノイズが追加されました。今度はこれを取り除いてみましょう。

参考

ブロック

関連するトピック