このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
IIR Filter
無限インパルス応答 (IIR) フィルターの実装
ライブラリ:
Motor Control Blockset /
Signal Management
Motor Control Blockset HDL Support /
Signal Management
説明
IIR Filter ブロックは、指定された入力信号に離散 1 次無限インパルス応答 (IIR) フィルターを実装します。このブロックは、固定小数点データ型と浮動小数点データ型をサポートします。また、このブロックは、Motor Control Blockset™ に付属の例で採用されているモデルの設定と構成で使用する場合のコード生成用に最適化されています。
コード生成を有効にし、確実に正確なシミュレーションを行うには、このブロックで固定ステップ離散ソルバーを使用することをお勧めします。
方程式
フィルター係数 () ブロック パラメーターを使用してフィルターに必要なカットオフ周波数 (fc) を設定することで、IIR フィルターを構成できます。必要に応じて、入力端子を通してフィルター係数値を指定することもできます。
フィルターのカットオフ周波数がわかっている場合は、次の方程式を使用して必要なフィルター係数を計算できます。
このブロックには、特定のフィルター係数とサンプル時間のカットオフ周波数をブロック マスクに表示するオプションも含まれています。
[フィルター タイプ] パラメーターを使用して、ブロックをローパス フィルターまたはハイパス フィルターとして構成します。
ブロックによる出力の計算方法は次の 2 つの方程式で記述されます。
ローパス フィルター:
ハイパス フィルター:
ここで以下のようになります。
fc は IIR フィルターのカットオフ周波数です。
はフィルター係数 (0 < a ≤ 1) です。
は時間 における出力値です。
は時間 における出力値です。
は時間 における入力値です。
は時間 における入力値です。
Ts は IIR Filter ブロックのサンプル時間です。
ローパス IIR フィルターとハイパス IIR フィルターはどちらも RC フィルターとしてモデル化できます。その場合、状態値はコンデンサにおける電圧降下に対応します。
ブロックが初期入力 u0
と初期状態 x0
から初期出力 y0
を計算する方法は、次の方程式で記述されます。
ローパス フィルター:
ハイパス フィルター: