メインコンテンツ

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

IIR Filter

無限インパルス応答 (IIR) フィルターの実装

ライブラリ:
Motor Control Blockset / Signal Management
Motor Control Blockset HDL Support / Signal Management

説明

IIR Filter ブロックは、指定された入力信号に離散 1 次無限インパルス応答 (IIR) フィルターを実装します。このブロックは、固定小数点データ型と浮動小数点データ型をサポートします。また、このブロックは、Motor Control Blockset™ に付属の例で採用されているモデルの設定と構成で使用する場合のコード生成用に最適化されています。

コード生成を有効にし、確実に正確なシミュレーションを行うには、このブロックで固定ステップ離散ソルバーを使用することをお勧めします。

方程式

フィルター係数 (a) ブロック パラメーターを使用してフィルターに必要なカットオフ周波数 (fc) を設定することで、IIR フィルターを構成できます。必要に応じて、入力端子を通してフィルター係数値を指定することもできます。

フィルターのカットオフ周波数がわかっている場合は、次の方程式を使用して必要なフィルター係数を計算できます。

a= ( 2πTsfc2πTsfc+1 )

このブロックには、特定のフィルター係数とサンプル時間のカットオフ周波数をブロック マスクに表示するオプションも含まれています。

[フィルター タイプ] パラメーターを使用して、ブロックをローパス フィルターまたはハイパス フィルターとして構成します。

ブロックによる出力の計算方法は次の 2 つの方程式で記述されます。

ローパス フィルター:

y(k)=au(k)+(1a)y(k1)

ハイパス フィルター:

y(k)=(1a)[u(k)u(k1)+y(k1)]

ここで以下のようになります。

  • fc は IIR フィルターのカットオフ周波数です。

  • a はフィルター係数 (0 < a ≤ 1) です。

  • y(k) は時間 k における出力値です。

  • y(k1) は時間 k1 における出力値です。

  • x(k) は時間 k における入力値です。

  • x(k1) は時間 k1 における入力値です。

  • Ts は IIR Filter ブロックのサンプル時間です。

ローパス IIR フィルターとハイパス IIR フィルターはどちらも RC フィルターとしてモデル化できます。その場合、状態値はコンデンサにおける電圧降下に対応します。

ブロックが初期入力 u0 と初期状態 x0 から初期出力 y0 を計算する方法は、次の方程式で記述されます。

ローパス フィルター:

y0=x0

ハイパス フィルター:

y0=u0x0

端子

入力

すべて展開する

時間領域内の生の入力信号のサンプル値。

データ型: single | double | fixed point

IIR フィルターのフィルター係数。この信号のデータ型は入力信号 x のデータ型と同じでなければなりません。そのため、固定小数点データ型で使用する場合に信号の精度が制限されることがあります。

依存関係

この端子を有効にするには、[フィルター係数] パラメーターを [入力端子] に設定します。

データ型: single | double | fixed point

IIR フィルター状態信号の初期値。

依存関係

このパラメーターを有効にするには、[初期状態] パラメーターを [入力端子] に設定します。

データ型: single | double | fixed point

アクティブ High 状態のときにブロックをリセットして [初期状態] を提供する外部信号。

依存関係

このパラメーターを有効にするには、[外部リセット] パラメーターを [アクティブ High を初期状態にリセット] に設定します。

データ型: single | double | fixed point

出力

すべて展開する

IIR Filter ブロックによって返される、時間領域内のフィルター処理された出力信号。

データ型: single | double | fixed point

パラメーター

すべて展開する

IIR フィルターのタイプ。

フィルター係数の指定方法として次のいずれかを選択します。

  • ダイアログにより指定 — [ブロック パラメーター] ダイアログ ボックスを使用してフィルター係数値を指定するには、このオプションをオンにします。

  • 入力端子 — 入力端子を使用してフィルター係数値を指定するには、このオプションをオンにします。

IIR フィルターのフィルター係数。この信号のデータ型は入力信号 x のデータ型と同じでなければなりません。そのため、固定小数点データ型で使用する場合に信号の精度が制限されることがあります。

依存関係

このパラメーターを有効にするには、[フィルター係数] パラメーターを [ダイアログにより指定] に設定します。

初期状態値をブロック パラメーターとして提供するか、入力端子として提供するかを指定します。

このパラメーターは次のいずれかのオプションに設定します。

  • ダイアログにより指定 — [ブロック パラメーター] ダイアログ ボックスを使用して初期状態値を指定するには、このオプションを選択します。

  • 入力端子 — 入力端子を使用して初期状態値を指定するには、このオプションを選択します。

IIR フィルター状態の初期値。

依存関係

このパラメーターを有効にするには、[初期状態] パラメーターを [ダイアログにより指定] に設定します。

外部リセット信号を入力端子として提供するかどうかを指定します。

このパラメーターは次のいずれかのオプションに設定します。

  • なし — 外部リセット信号を提供しない場合は、このオプションを選択します。

  • アクティブ High を初期状態にリセット — 入力端子を使用して外部リセット信号を提供する場合は、このオプションを選択します。

[理論的カットオフ周波数 (Hz)] パラメーターを表示するには、ブロックのこのパラメーターを選択します。

依存関係

このパラメーターを有効にするには、[フィルター係数] パラメーターを [ダイアログにより指定] に設定します。

ブロック実行の 2 つの連続するインスタンス間の固定時間間隔 (秒)。

メモ

ブロックは、この値を使用してブロックのダイアログ ボックスの [理論的カットオフ周波数 (Hz)] を計算し、表示します。このパラメーターでは、ブロックのサンプル時間は設定しません。ブロックはモデルからサンプル時間を継承します。

依存関係

このパラメーターを表示するには、次のようにします。

  • [フィルター係数] パラメーターを [ダイアログにより指定] に設定します。

  • [カットオフ周波数の表示] パラメーターを選択します。

IIR フィルターの計算された理論的カットオフ周波数 (Hz)。このパラメーターは構成できません。

依存関係

このパラメーターを表示するには、次のようにします。

  • [フィルター係数] パラメーターを [ダイアログにより指定] に設定します。

  • [カットオフ周波数の表示] パラメーターを選択します。

拡張機能

すべて展開する

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2020a で導入

すべて展開する