3.2 KiB
20240221150355 state variable filterの動作原理
state variableが何か?をちゃんと説明している資料: Op-Amp Implementation of Analog Filters | Signal Processing: Continuous and Discrete | Mechanical Engineering | MIT OpenCourseWare
一般的な二次のプロパーな伝達関数はこのように表される。
H(s) = \frac{Y(s)}{U(s)} = \frac{b_{2}s^{2} + b_{1}s + b_{0}}{s^{2}+a_{1}s + a_0} \tag{1}
X(s)
を導入して、分母と分子を分割すると、
\begin{aligned}
H_{1}(s) &= \frac{X(s)}{U(s)} = \frac{1}{s^{2}+a_{1}s + a_{0}},\
H_{2}(s) &= \frac{Y(s)}{X(s)} = b_{2}s^{2} + b_{1}s + b_{0},\
H(s) &= H_{1}(s) \cdot H_{2}(s).
\end{aligned} \tag{2}
H_1(s)
の式を変形すると、
X(s) \cdot (s^{2}+ a_{1}s + a_{0}) = U(s) \tag{3}
(3)式を展開して、ラプラス逆変換すると、
\begin{aligned}
&X(s)\cdot s^{2}+ a_{1}X(s)\cdot s + a_{0}X(S)= U(s)\
&\Leftrightarrow
\frac{d^{2}}{dt^{2}}x(t)+a_1\frac{d}{dt}x(t) + a_{0}x(t) = u(t).
\end{aligned} \tag{4}
同様に、$H_2(s)$より、
\begin{aligned}
Y(s) &= X(s) \cdot (b2s^{2}+ b_{1}s + b_{0})\
\Leftrightarrow y(t) &= b2\frac{d^{2}}{dt^{2}}x(t)+b1\frac{dx}{dt}x(t) + b_{0}x(t).
\end{aligned} \tag{5}
(4) の右辺を変形すると、
\frac{d^{2}}{dt^{2}}x(t) = -a_1\frac{d}{dt}x(t) - a_{0}x(t) + u(t). \tag{6}
(6)式はブロック図で以下のように表現できる。 !Pasted image 20240221143559.png ※ この段階ではフィードフォワード方向の伝達関数は含まれていないが、オールパスフィルタが必要で無い限り、実はここまでのブロックでOK。
このブロック図の伝達関数は(2)のH_{1}(s)
そのもの。
!Pasted image 20240221144757.png
このブロック図の赤矢印の点からの出力を計算したい。 H_{1}
の定義とブロック図上の関係から、以下が求められる。
\begin{aligned}
H_{LP}(s) &= a0 \cdot H_{1}(s) = \frac{a_{0}}{s^{2}+a_{1}s + a_{0}}\
\
H_{BP}(s) &= a1 \cdot s \cdot H_{1} = \frac{a_{1}s}{s^{2}+a_{1}s + a_{0}}\
\
H_{HP}(s) &= s \cdot s \cdot H_{1} = \frac{s^2}{s^{2}+a_{1}s + a_{0}}
\end{aligned} \tag{7}
それぞれ、
- $H_{LP}(s)$は零点を持たない2次の伝達関数 ローパスフィルタ
- $H_{BP}(s)$は零点を1つ原点に持つ2次の伝達関数 バンドパスフィルタ
- $H_{HP}$は零点を2つ原点に持つ2次の伝達関数 ハイパスフィルタ
を構成していることがわかる。なぜ、それぞれがローパスやハイパスになるか? については、 20240221150711 極、零点とフィルタの特性 を参照。
(2)の $H_2(s)$も含めた全体は、こんな感じ。これだと任意の2次の伝達関数が表現できる。 !Pasted image 20240221151936.png