FDATool ブロックを使用してフィルターの次数および係数を定義し、HDL ブロックを使用してフィルターをインプリメントします。HDL ブロックセットの Tools ライブラリには、FDATool ブロックが含まれます。
次に示す単純な Model Composer モデルは、FDATool および Digital FIR Filter ブロックを使用した標準 FIR フィルターです。
このデザインは 2 つのサイン波ソースを使用し、これらを加算して 2 つのローパス フィルターを介して個別に渡されます。
- 最初のフィルターは、ザイリンクス HDL ブロックセットを使用してインプリメントできます。これは、Digital FIR Filter ブロックを使用してインプリメントされるローパス フィルターです。
- 2 つ目のフィルターは参照フィルターで、Direct Form FIR 構造を使用してインプリメントされるローパス フィルターです。
両方のフィルターの周波数応答は、Spectrum Analyzer ブロックで表示します。
ザイリンクスの FDAtool を使用して、ローパス フィルターの係数を定義して高周波数ノイズを除去できます。次の図に示すように、FDATool のパラメーター ウィンドウで [Response Type]、[Filter Order]、[Frequency Specification]、および [Magnitude Specification] などのフィルター設定パラメーターを変更できます。
ウィンドウ下部の [Design Filter] をクリックすると、フィルター次数と振幅応答を確認できます。また、ツールバー ボタンをクリックすると、位相応答、インパルス応答、フィルター係数などを表示できます。フィルター係数を表示するには、 MATLAB® ワークスペースに次のように入力します。
>> xlfda_numerator('FDATool')
次の関数を使用すると、係数幅と 2 進小数点を正しく指定するための最大係数値および最小係数値がわかります。
>> max(xlfda_numerator('FDATool'))
>> min(xlfda_numerator('FDATool'))
FDATool インスタンスのフィルター パラメーターは、Digital FIR Filter インスタンスに関連付けることができます。
Spectrum Analyzer を使用して、ザイリンクスのフィルター応答を表示し、 Simulink® 応答と比較できます。
完全な例および FDATool の使用法は、 『Vitis Model Composer チュートリアル』 (UG1498) を参照してください。