Digital FIR Filter - 2022.1 日本語

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

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

ザイリンクス Digital FIR Filter ブロックを使用すると、パラメーターを柔軟に指定可能でエリアを有効に使用する高パフォーマンスのシングル チャネル FIR フィルターを生成できます。

Digital FIR Filter ブロックは、シングル チャンネル、シンプル レート、整数間引き、補間、分数間引きと補間フィルター タイプをサポートしています。

このブロックで生成される FIR フィルターの係数ベクターを指定するには、Digital FIR Filter ブロックの [Block Parameters] ダイアログ ボックスに係数ベクターを直接入力するか、FDATool ブロックへのインタフェースを開き、そのインタフェースで係数ベクターを指定します。

Digital FIR Filter ブロックは、単純なシングル チャネルの FIR フィルターを生成するのに理想的です。FIR フィルターのインプリメンテーションが、複数チャネルまたは複数パス コア コンフィギュレーション、AXI4-Stream 準拠のインターフェイス、係数の再読み込み、チャネル パターン サポート、ほかの HDL ベース パラメーターなどのより複雑なフィルター機能を使用する場合は、Digital FIR Filter ブロックの代わりにザイリンクス FIR Compiler 7.2 ブロックを使用してください。

Vivado® デザイン フローでは、Digital FIR Filter ブロックはコード生成時に LogiCORE™ IP FIR Compiler v7.2 として推論されます。この LogiCORE IP の詳細は、『FIR Compiler v7.2 製品ガイド』 (PG149) を参照してください。

ブロック パラメーター

Simulink® モデルでブロックのアイコンをダブルクリックすると、[Block Parameters] ダイアログ ボックスが開きます。

ザイリンクス Digital FIR Filter ブロックに特定のパラメーターは、次のとおりです。

Coefficient Vector
Use FDA Tool as Coefficient Source
係数ベクターは FDATool (Filter Design and Analysis Tool) の設定により決定されます。FDATool を係数のソースとして使用するには、FDATool ボタンをクリックし、表示される [Block Parameters] ダイアログ ボックスで FIR フィルターを設定する必要があります。
注記: FDATool の機能は Digital FIR Filter ブロックに組み込まれているので、FDATool を係数のソースとして使用するために FDATool ブロックをデザインに追加する必要はありません。

FDATool は、フィルターをすばやく設計および解析するためのユーザー インターフェイスです。FDATool を使用すると、フィルター仕様を設定するか、 MATLAB® ワークスペースからフィルターをインポートするか、または極性とゼロを追加、移動、削除することにより、デジタル FIR フィルターを設計できます。FDATool には、大きさと位相応答、極零点プロットなど、フィルターを解析するためのツールも含まれます (FDATool を参照)。

Edit Box

Use FDA Tool as Coefficient Source オプションをオフにすると、[Coefficient Vector] の編集ボックスが有効になります。この編集ボックスで、フィルターの転送関数のベクター係数を指定します。フィルター係数は、1 つの MATLAB 行ベクターとして指定する必要があります。フィルター構造は [Direct Form] にし、入力はスカラーである必要があります。

タップ数は、MATLAB 行ベクターの長さから推論されます。複数の係数セットを指定した場合、各セットはベクター内の前のセットに追加されます。

FDATool
このボタンは、Use FDA Tool as Coefficient Source オプションをオンにすると有効になります。このボタンをクリックすると、FDATool の [Block Parameters] ダイアログ ボックスが開きます。このダイアログボックスにフィルター仕様を入力します。このダイアログ ボックスを使用して FIR フィルターを記述する方法は、FDATool を参照してください。
Coefficient Precision
Optimal Values
[Coefficient Width] および [Coefficient Fractional Bits] が自動的に最適な値に設定されます。値は、通過帯域信号および阻止帯域信号間のフィルター応答のダイナミック レンジを使用して計算されます。これらの値により、デザインが ザイリンクス FPGA または SoC にインプリメントされたときに、必要なフィルター応答に対して最小限のハードウェアが使用されるようになります。
Coefficient Width
係数を表現するビット数を指定します。
Coefficient Fractional Bits
係数データパス オプションの 2 進小数点の位置を指定します。
Interpolation Rate
フィルターの補間率を指定します。1 より大きい値は、[Fractional Rate Change] インプリメンテーションで [Filter Type] が [Interpolation] および [Decimation] に設定されている場合に適用されます。このフィールドで指定した値は、アップサンプリング係数、または固定分数レート (P/Q) 再サンプリング フィルター インプリメンテーションの P を定義します。
Decimation Rate
フィルターの間引き率を指定します。1 より大きい値は、[Fractional Rate Change] インプリメンテーションで [Filter Type] が [Decimation ] および [Interpolation] に設定されている場合に適用されます。このフィールドで指定した値は、ダウンサンプリング係数、または固定分数レート (P/Q) 再サンプリング フィルター インプリメンテーションの Q を定義します。

次に、Digital FIR Filter ブロックを使用してシングル レートのローパス フィルターをインプリメントした単純なフィルター デザインを示します。Digital FIR Filter ブロックの [Block Parameters] ダイアログ ボックスで Use FDA Tool as Coefficient source がオンになっているので、FDATool (FDA Tool ボタンをクリックして起動) を使用して、次の仕様のフィルター係数が生成されます。

  • Fs (サンプル周波数) = 400 MHz
  • Fpass = 11 MHz
  • Fstop = 13 MHz
  • Apass = 1 dB
  • Astop = 120 dB

Coefficient precision では、Optimal values をオンにして Coefficient Width パラメーターを指定しています。これにより最適化されたフィルター係数幅が自動的に計算され、ハードウェア使用量が最小限となり、フィルター応答が良くなります。

図 1. Digital FIR Filter の例

LogiCORE 資料

『FIR Compiler v7.2 製品ガイド』 (PG149)