FDATool を使用したデジタル フィルター アプリケーション - 2022.1 日本語

Vitis Model Composer ユーザー ガイド (UG1483)

Document ID
UG1483
Release Date
2022-05-26
Version
2022.1 日本語

FDATool ブロックを使用してフィルターの次数および係数を定義し、HDL ブロックを使用してフィルターをインプリメントします。HDL ブロックセットの Tools ライブラリには、FDATool ブロックが含まれます。

図 1. FDATool ブロック

次に示す単純な Model Composer モデルは、FDATool および Digital FIR Filter ブロックを使用した標準 FIR フィルターです。

このデザインは 2 つのサイン波ソースを使用し、これらを加算して 2 つのローパス フィルターを介して個別に渡されます。

  • 最初のフィルターは、ザイリンクス HDL ブロックセットを使用してインプリメントできます。これは、Digital FIR Filter ブロックを使用してインプリメントされるローパス フィルターです。
  • 2 つ目のフィルターは参照フィルターで、Direct Form FIR 構造を使用してインプリメントされるローパス フィルターです。

両方のフィルターの周波数応答は、Spectrum Analyzer ブロックで表示します。

図 2. Spectrum Analyzer ブロック

ザイリンクスの FDAtool を使用して、ローパス フィルターの係数を定義して高周波数ノイズを除去できます。次の図に示すように、FDATool のパラメーター ウィンドウで [Response Type]、[Filter Order]、[Frequency Specification]、および [Magnitude Specification] などのフィルター設定パラメーターを変更できます。

図 3. フィルターの設定

ウィンドウ下部の [Design Filter] をクリックすると、フィルター次数と振幅応答を確認できます。また、ツールバー ボタンをクリックすると、位相応答、インパルス応答、フィルター係数などを表示できます。フィルター係数を表示するには、 MATLAB® ワークスペースに次のように入力します。

>> xlfda_numerator('FDATool')

次の関数を使用すると、係数幅と 2 進小数点を正しく指定するための最大係数値および最小係数値がわかります。

>> max(xlfda_numerator('FDATool'))
>> min(xlfda_numerator('FDATool'))

FDATool インスタンスのフィルター パラメーターは、Digital FIR Filter インスタンスに関連付けることができます。

図 4. Digital FIR Filter

Spectrum Analyzer を使用して、ザイリンクスのフィルター応答を表示し、 Simulink® 応答と比較できます。

図 5. Spectrum Analyzer
注記: 上の図に示されている Model Composer の周波数応答 (右) は、元のデザイン (左) と少し違います。これは、連続時間システムを離散時間ハードウェアで記述する際に発生する量子化およびサンプリングの影響によるものです。

完全な例および FDATool の使用法は、 『Vitis Model Composer チュートリアル』 (UG1498) を参照してください。