Main Content

Second-Order Filter

離散時間または連続時間のローパス、ハイパス、バンドパス、またはバンドストップ 2 次フィルター

  • Second-Order Filter block

ライブラリ:
Simscape / Electrical / Control / General Control

説明

Second-Order Filter ブロックは、さまざまなタイプの 2 次フィルターを実装します。フィルターは、測定信号のノイズの減衰に役立ちます。

このブロックには次のフィルター タイプが用意されています。

  • ローパス — カットオフ周波数 fc を下回る周波数の範囲内の信号 f のみがパスできます。

  • ハイパス — カットオフ周波数 fc を上回る周波数の範囲内の信号 f のみがパスできます。

  • バンドパス — 2 つのカットオフ周波数 fc1fc2 の間の周波数の範囲内の信号 f のみがパスできます。

  • バンドパス — 2 つのカットオフ周波数 fc1fc2 の間の周波数の範囲内の信号 f のみがパスできません。

フィルター タイプ周波数範囲 f
ローパス

f<fc
ハイパス

f>fc
バンドパス

fc1<f<fc2
バンドストップ

fc1<f<fc2

方程式

フィルターの 2 階微分状態方程式は次のとおりです。

d2xdt2=u2ζωndxdtωn2x

パラメーターは次のとおりです。

  • x はフィルターの内部状態です。

  • u はフィルターの入力です。

  • ωn はフィルターの固有振動数です。

  • ζ はフィルターの減衰係数です。

下表では、フィルター タイプごとに、フィルターの内部状態の関数としてのブロック出力 y(x) を s 領域伝達関数 G(s) にマッピングしています。

フィルター タイプ出力 y(x)伝達関数 G(s)
ローパスωn2xωn2s2+2ζωns+ωn2
ハイパスd2xdt2s2s2+2ζωns+ωn2
バンドパス2ζωndxdt2ζωnss2+2ζωns+ωn2
バンドストップd2xdt2+xs2+ωn2s2+2ζωns+ωn2

初期化の場合:

x˙(0)=dxdt|t=0

u(0)=u1(0)+u2(0)

u1(0)=A0ejφ0

u2(0)=b0ejπ2

ここで、

  • x(0) はフィルターの初期状態です。

  • u(0) はフィルターへの初期入力です。

  • u1(0) は定常状態の初期入力の AC 成分です。

  • A0 は初期振幅です。

  • φ0 は初期位相です。

  • u2(0) は定常状態の初期入力の DC 成分です。

  • b0 は初期バイアスです。

s 領域では s=jω0 です。したがって、初期周波数 ω0 では次のとおりです。

x˙(0)=Im(jω0u1(0)ω02+jω02ζωn+ωn2).

x(0)=Im(x˙(0)ωn2jω0+u2(0))

端子

入力

すべて展開する

フィルターの入力。

データ型: single | double

出力

すべて展開する

フィルター処理された出力。

データ型: single | double

パラメーター

すべて展開する

メイン

2 次フィルターのタイプ。

固有振動数 (Hz)。

初期条件

フィルターの減衰係数。

連続するブロック実行間の時間間隔。実行時に、ブロックは出力を生成し、必要に応じて内部状態を更新します。詳細については、サンプル時間とはサンプル時間の指定を参照してください。

継承される離散時間演算の場合は、このパラメーターを -1 に設定します。離散時間演算の場合は、このパラメーターを正の整数に設定します。連続時間演算の場合は、このパラメーターを 0 に設定します。

このブロックがマスク サブシステム内、または連続演算と離散演算の切り替えをサポートするバリアント サブシステム内にある場合は、このパラメーターをプロモートして、ブロックの実装が連続と離散の間で確実に正しく切り替わるようにします。詳細については、マスクにおけるブロック パラメーターのプロモートを参照してください。

シミュレーションの開始時の振幅。

シミュレーションの開始時の位相 (rad)。

シミュレーションの開始時の周波数 (Hz)。

シミュレーションの開始時のバイアス。

参照

[1] Agarwal, A. and Lang, J. H. Foundations of Analog and Digital Electronic Circuits. New York: Elsevier, 2005.

拡張機能

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

バージョン履歴

R2018b で導入