周波数応答とBode線図(frequency response and Bode plot)とは、伝達関数 $G$ の系の周波数応答 $\omega\mapsto G(i\omega)$ を、対数の周波数軸の上でゲインのデシベル値と連続な位相の 2 枚のグラフに描いて読む方法である。デシベルで測ったゲインと位相は因子ごとの和になるので、1 次・2 次の因子のグラフを足し合わせて描ける。1 次の因子の折れ線近似の誤差は折点での約 $3$ dB が最大であり、2 次の因子 $\omega_n^2/(s^2+2\zeta\omega_ns+\omega_n^2)$ は $0<\zeta<1/\sqrt2$ のとき共振の山をもち、右半平面の零点はゲインを変えずに位相を遅らせる。フィードバック系のゲイン余裕・位相余裕の読み取りや、フィルタ・制御器の設計に使われる。
伝達関数 $G$ の系に角周波数 $\omega$ の正弦波を入れると、系が安定なら十分時間が経ったあとの出力は、振幅が $\lvert G(i\omega)\rvert$ 倍、位相が $\arg G(i\omega)$ だけずれた正弦波になる(伝達関数 の定理「正弦波入力に対する定常応答」)。そこで関数 $\omega\mapsto G(i\omega)$ を 周波数応答 と呼び、系がどの周波数を通しどの周波数を弱めるかを読む。Bode 線図(Bode plot)は、横軸に $\log_{10}\omega$ をとり、ゲイン $\lvert G(i\omega)\rvert$ を対数(デシベル)で、位相を度で描いた 2 枚のグラフである。
たとえば $G(s)=\dfrac{1000(s+1)}{(s+10)(s+100)}$ のゲインを $\omega=0.01$ から $10^4$ まで知りたいとする。対数をとると積が和になるので、$G$ を 1 次の因子に分ければ、各因子のグラフを足すだけでよい。しかも各因子のゲインは、折れ線(漸近線)で誤差 $3$ dB 程度以内に近似できる。この記事では、この「足し算」と「折れ線近似の誤差」、2 次の因子の共振の高さ、右半平面の零点が位相だけを遅らせることを証明し、安定余裕の読み方をまとめる。
$G$ を実数係数の有理関数とし、$\omega>0$ で $G(i\omega)$ が $0$ でも極でもないとする。$\omega\mapsto G(i\omega)$ を $G$ の 周波数応答、$\lvert G(i\omega)\rvert$ を ゲイン、$20\log_{10}\lvert G(i\omega)\rvert$ を デシベル(dB)で表したゲインという。$(0,\infty)$ 上の連続関数 $\varphi$ で、すべての $\omega$ について $G(i\omega)=\lvert G(i\omega)\rvert e^{i\varphi(\omega)}$ となるものを 位相(の連続な枝)という。
$\log_{10}\omega$ を横軸にとった二つのグラフ、すなわちゲイン曲線 $\omega\mapsto20\log_{10}\lvert G(i\omega)\rvert$ と位相曲線 $\omega\mapsto\varphi(\omega)$(度で表す)の組を $G$ の Bode 線図 という。
位相の連続な枝は $2\pi$ の整数倍だけの違いを除いて一つに決まる(二つの枝の差は $2\pi$ の整数倍の値をとる連続関数で、区間の上では定数だから)。存在は下の prop-bode-sum で因子ごとに作る。ゲインを $20\log_{10}$ で測るのは、電力が振幅の 2 乗に比例するので、電力の比の $10\log_{10}$ と合わせるためである。$\omega$ が 10 倍になる区間を 1 ディケード(decade)といい、ゲイン曲線の傾きを dB/dec で表す。
使う条件は次のとおりである。
条件 2 を満たす実数係数の有理関数 $G$ は、定数 $\kappa\ne0$ と整数 $\ell$、$\omega>0$ で消えない因子を使って
$$
G(s)=\kappa\,s^{\ell}\,\frac{\prod_j(1+s/z_j)\prod_j\bigl(1+2\zeta_js/\nu_j+s^2/\nu_j^2\bigr)}{\prod_k(1+s/p_k)\prod_k\bigl(1+2\eta_ks/\mu_k+s^2/\mu_k^2\bigr)}
$$
と書ける(Bode の標準形)。ここで $z_j,p_k$ は $0$ でない実数(零点 $-z_j$、極 $-p_k$)、$\nu_j,\mu_k>0$、$0<\lvert\zeta_j\rvert,\lvert\eta_k\rvert<1$ は共役な複素数の零点・極の組を表す。実数係数の多項式は実数の 1 次式と、実数の根をもたない 2 次式の積に分かれるからである。
$G=G_1G_2\cdots G_m$ とし、各 $G_r$ は $\omega>0$ で $G_r(i\omega)\ne0,\infty$ を満たし、連続な位相 $\varphi_r$ をもつとする。このとき
$$
20\log_{10}\lvert G(i\omega)\rvert=\sum_{r=1}^m20\log_{10}\lvert G_r(i\omega)\rvert,\qquad \varphi:=\sum_{r=1}^m\varphi_r
$$
であり、$\varphi$ は $G$ の連続な位相である。標準形の各因子は連続な位相をもつので、実数係数の有理関数は条件 2 のもとで連続な位相をもつ。
$\lvert ab\rvert=\lvert a\rvert\lvert b\rvert$ と $\log_{10}$ の性質から前半を得る。$G_r(i\omega)=\lvert G_r(i\omega)\rvert e^{i\varphi_r(\omega)}$ を掛け合わせると $G(i\omega)=\lvert G(i\omega)\rvert e^{i\sum_r\varphi_r(\omega)}$ であり、連続関数の和は連続なので $\varphi$ は連続な位相である。
標準形の因子の連続な位相は次のように書ける。定数 $\kappa$ には $0$($\kappa>0$)か $\pi$($\kappa<0$)、$s^\ell$ には $(i\omega)^\ell=\omega^\ell e^{i\ell\pi/2}$ から $\ell\pi/2$。$1+i\omega/z$ は実部が $1>0$ なので $\arctan(\omega/z)$。2 次の因子 $1-\omega^2/\nu^2+2i\zeta\omega/\nu$ は、$\zeta>0$ なら虚部が正なので 連続な偏角 $\operatorname{arccot}\frac{1-\omega^2/\nu^2}{2\zeta\omega/\nu}$($\operatorname{arccot}$ は値を $(0,\pi)$ にとる)をもち、$\zeta<0$ なら $\zeta$ を $\lvert\zeta\rvert$ に替えた式の符号を変えたもの $-\operatorname{arccot}\frac{1-\omega^2/\nu^2}{2\lvert\zeta\rvert\omega/\nu}$、$\zeta=0$ の因子は $\omega=\nu$ で $0$ になるので、条件 2 のもとでは標準形に現れない。分母の因子の位相は符号を変えて足す。$\square$
デシベルで測ったゲインと位相が因子ごとの和になるので、Bode 線図は基本の因子のグラフを足し引きすれば描ける。基本の因子のグラフは次の表のとおりである。$x$ は折点(コーナー周波数)で割った無次元の周波数を表す。
| 因子($s=i\omega$) | ゲイン(dB) | 位相 | 漸近線と条件 | 根拠 |
|---|---|---|---|---|
| 定数 $\kappa$ | $20\log_{10}\lvert\kappa\rvert$ | $0^\circ$($\kappa>0$)、$180^\circ$($\kappa<0$) | 水平 | 定義 |
| $s^\ell$($\ell\in\mathbb{Z}$) | $20\ell\log_{10}\omega$ | $90^\circ\ell$ | 傾き $20\ell$ dB/dec の直線 | prop-bode-sum |
| $1+s/a$($a>0$) | $10\log_{10}(1+x^2)$、$x=\omega/a$ | $\arctan x$ | $x<1$ で $0$、$x>1$ で傾き $+20$ dB/dec。誤差は最大 $3.0103$ dB | thm-bode-first-order |
| $\dfrac1{1+s/a}$($a>0$) | $-10\log_{10}(1+x^2)$ | $-\arctan x$ | 上の行の符号を変える | prop-bode-sum |
| $1-s/a$($a>0$、右半平面の零点) | $10\log_{10}(1+x^2)$ | $-\arctan x$ | ゲインは $1+s/a$ と同じ | prop-bode-allpass |
| $\dfrac{\omega_n^2}{s^2+2\zeta\omega_ns+\omega_n^2}$($\omega_n>0$、$\zeta>0$) | $-10\log_{10}\bigl((1-x^2)^2+4\zeta^2x^2\bigr)$、$x=\omega/\omega_n$ | $0^\circ$ から $-180^\circ$ へ減る | $x<1$ で $0$、$x>1$ で傾き $-40$ dB/dec。$\zeta<1/\sqrt2$ で山 | thm-bode-resonance |
| $e^{-sT}$($T>0$、時間遅れ) | $0$ | $-\omega T$(ラジアン) | 位相は対数軸の上で急に下がる | 補足 |
$a>0$ とし、$x=\omega/a$ とおく。$1+s/a$ のゲイン $g(x):=10\log_{10}(1+x^2)$ と、折れ線
$$
\hat g(x):=\begin{cases}0&(0< x\le1)\\20\log_{10}x&(x\ge1)\end{cases}
$$
について次が成り立つ。
$0< x\le1$ では $e(x)=10\log_{10}(1+x^2)$ で、これは $x$ について増加し $x\to0$ で $0$ に近づく。$x\ge1$ では
$$
e(x)=10\log_{10}(1+x^2)-10\log_{10}x^2=10\log_{10}\Bigl(1+\frac1{x^2}\Bigr)
$$
であり、これは $x\le1$ の式で $x$ を $1/x$ に替えたものである。したがって $e(x)=e(1/x)$ で、$x\ge1$ で減少し $x\to\infty$ で $0$ に近づく。最大値は両側の式が一致する $x=1$ でとり、$e(1)=10\log_{10}2$ である。2 は $x>0$ について $\arctan x+\arctan(1/x)=\frac\pi2$ であることによる(両辺を微分すると $\frac1{1+x^2}-\frac{1}{x^2}\cdot\frac{1}{1+1/x^2}=0$ で、$x=1$ で両辺は $\frac\pi2$)。$\square$
ゲインの折れ線は、折点 $\omega=a$ で傾きが $0$ から $+20$ dB/dec に変わる。誤差は折点で最大の約 $3$ dB、折点から 2 倍・半分の周波数で $10\log_{10}\frac54\approx0.9691$ dB である。位相の曲線は、$\omega=a/10$ から $10a$ まで 1 ディケードあたり $45^\circ$ で直線的に増える折れ線で近似することが多く(AMF20 §9.6、p. 9-32)、その誤差の最大は両端での $\arctan0.1\approx5.711^\circ$ である(数値計算による値)。極の因子 $\frac1{1+s/a}$ は、ゲインも位相も符号が変わる。
$\omega_n>0$、$\zeta>0$ とし、$G(s)=\dfrac{\omega_n^2}{s^2+2\zeta\omega_ns+\omega_n^2}$、$x=\omega/\omega_n$ とおく。
1。 $s=i\omega$ で分母は $\omega_n^2\bigl(1-x^2+2i\zeta x\bigr)$ なので、$\lvert G(i\omega)\rvert^{-2}=(1-x^2)^2+4\zeta^2x^2$ である。
2。 $t=x^2\ge0$ とおくと $f(t):=(1-t)^2+4\zeta^2t=t^2-2(1-2\zeta^2)t+1$ である。$1-2\zeta^2>0$ なら $f$ は $t=1-2\zeta^2$ で最小値
$$
f(1-2\zeta^2)=1-(1-2\zeta^2)^2=4\zeta^2(1-\zeta^2)
$$
をとる。$\lvert G\rvert=f^{-1/2}$ なので最大値は $M_r$ である。$1-4\zeta^2(1-\zeta^2)=(1-2\zeta^2)^2>0$ から $M_r>1$ である。$1-2\zeta^2\le0$ なら $t>0$ で $f'(t)=2t-2(1-2\zeta^2)>0$ なので $f$ は狭義増加、$\lvert G\rvert$ は狭義減少である。
3。 $x=1$ で分母は $2i\zeta\omega_n^2$ なので $G(i\omega_n)=\frac{1}{2i\zeta}=\frac{-i}{2\zeta}$ である。分母の $1-x^2+2i\zeta x$ は $x>0$ で虚部が正なので、その偏角 $\operatorname{arccot}\frac{1-x^2}{2\zeta x}$ は $(0,\pi)$ にあり、$\frac{1-x^2}{2\zeta x}$ が $x$ について狭義減少で $+\infty$ から $-\infty$ まで動くので、偏角は $0$ から $\pi$ へ狭義増加する。位相はその符号を変えたものである。$\square$
$\zeta$ が小さいと山は高く鋭く、$M_r\approx\frac1{2\zeta}$ となる。折れ線($x<1$ で $0$ dB、$x>1$ で $-40\log_{10}x$)の折点での誤差は $-20\log_{10}(2\zeta)$ dB で、$\zeta=0.05$ なら $20$ dB にもなる。1 次の因子のような「誤差 $3$ dB 以内」の保証は、2 次の因子にはない(反例の表の 4 行目)。$\zeta\ge1$ なら分母は実数の根をもち、1 次の因子 2 つの積として扱える。
$a>0$ とし、$A(s):=\dfrac{a-s}{a+s}$ とおく。
$a-i\omega$ と $a+i\omega$ は互いに共役なので絶対値が等しく、偏角はそれぞれ $-\arctan(\omega/a)$ と $\arctan(\omega/a)$(実部が正なので連続にとれる)である。商の偏角は差 $-2\arctan(\omega/a)$ である。2 は $a-s=(s+a)A(s)$ と prop-bode-sum による。3 は $e^{-i\omega T}=\cos\omega T-i\sin\omega T$ による。$\square$
ゲインが同じでも、右半平面の零点や時間遅れがあると位相が余分に遅れる。極と零点がすべて開左半平面にあり時間遅れのない系を 最小位相 の系という。最小位相の系では、定数倍の符号の選び方を除いて、位相はゲイン曲線から決まる(Bode の関係式。この記事では証明しない。AMF20 §10.4、式 (10.9)・(10.10)、p. 10-19)。位相の遅れは、次の節の安定余裕を減らす。
フィードバック系の一巡伝達関数 $L$ について、閉ループの安定性は曲線 $L(i\omega)$ が点 $-1$ をどう回るかで決まる(制御理論 の定理「Nyquist の判定法(開ループが安定な場合)」)。$-1$ からの近さを Bode 線図で測るのが次の二つの量である(AMF20 式 (10.5)・(10.6)、p. 10-15)。
連続な位相が $-180^\circ$ になる周波数 $\omega_{pc}$(位相交差周波数)での $g_m:=\dfrac1{\lvert L(i\omega_{pc})\rvert}$ を ゲイン余裕、ゲインが $0$ dB になる周波数 $\omega_{gc}$(ゲイン交差周波数)での $\varphi_m:=180^\circ+\varphi(\omega_{gc})$ を 位相余裕 という。交差周波数がいくつもあるときは、余裕が最も小さくなるものをとる。
ゲイン余裕は「ゲインを何倍にすると曲線が $-1$ を通るか」、位相余裕は「位相をどれだけ遅らせると曲線が $-1$ を通るか」を表す。デシベルで測ったゲイン余裕は、位相交差周波数でゲイン曲線が $0$ dB からどれだけ下にあるかである。
| 折点の種類 | ゲインの傾きの変化 | 位相の変化(全体) |
|---|---|---|
| 左半平面の実数の零点 | $+20$ dB/dec | $+90^\circ$ |
| 左半平面の実数の極 | $-20$ dB/dec | $-90^\circ$ |
| 右半平面の実数の零点 | $+20$ dB/dec | $-90^\circ$ |
| 左半平面の複素共役な極の組 | $-40$ dB/dec | $-180^\circ$ |
$G(s)=\dfrac1{1+s/10}$。
使う公式:thm-bode-first-order(符号を変える)。
答え:$\omega=10$ でゲイン $-10\log_{10}2\approx-3.0103$ dB、位相 $-45^\circ$。$\omega=100$ でゲイン $\approx-20.0432$ dB(折れ線では $-20$ dB)、位相 $\approx-84.289^\circ$。
$G(s)=\dfrac{1000(s+1)}{(s+10)(s+100)}$。
使う公式:計算の手順の 1〜5。
答え:標準形は $\dfrac{1+s}{(1+s/10)(1+s/100)}$ で、折れ線は $\omega<1$ で $0$ dB、$1<\omega<10$ で $+20$ dB/dec、$10<\omega<100$ で $20$ dB の水平、$\omega>100$ で $-20$ dB/dec である。実際の値は $\omega=1$ で $\approx2.9667$ dB、$\omega=10$ で $\approx16.9897$ dB、$\omega=\sqrt{1000}\approx31.62$ で $\approx19.1765$ dB、位相は $\omega=\sqrt{1000}$ で $\approx-1.811^\circ$。
$1000/(10\cdot100)=1$ なので $\kappa=1$、$\ell=0$。折点は $1$(零点)、$10$、$100$(極)。$\omega=1$ では零点の因子が $+3.0103$ dB、極の因子が $-0.0432$ dB と $-0.0004$ dB を与える。$\omega=10$ では折れ線の $20$ dB から極の折点の $3.0103$ dB を引き、零点の因子の折れ線との差 $+0.0432$ dB と、極 $100$ の因子の $-0.0432$ dB を加える。位相は $\arctan\omega-\arctan\frac\omega{10}-\arctan\frac\omega{100}$ である。
$G(s)=\dfrac{1}{s^2+0.2s+1}$($\omega_n=1$、$\zeta=0.1$)。
使う公式:thm-bode-resonance。
答え:山は $\omega_r=\sqrt{0.98}\approx0.989949$ にあり、$M_r=\frac1{0.2\sqrt{0.99}}\approx5.025189$($\approx14.0230$ dB)。$\omega=1$ では $\lvert G\rvert=5$($\approx13.9794$ dB)、位相 $-90^\circ$。
一巡伝達関数 $L(s)=\dfrac{2}{(s+1)^3}$。
使う公式:def-bode-margins、prop-bode-sum。
答え:位相 $-3\arctan\omega$ が $-180^\circ$ になるのは $\omega_{pc}=\sqrt3$ で、$\lvert L(i\sqrt3)\rvert=\frac28=\frac14$ なので $g_m=4$($\approx12.0412$ dB)。$\lvert L(i\omega)\rvert=1$ となるのは $\omega_{gc}=\sqrt{2^{2/3}-1}\approx0.766421$ で、$\varphi_m\approx67.598^\circ$。閉ループの極はすべて開左半平面にある。
$\arctan\omega=60^\circ$ から $\omega_{pc}=\tan60^\circ=\sqrt3$、$\lvert(1+i\sqrt3)^3\rvert=2^3=8$。$\lvert L(i\omega)\rvert=2(1+\omega^2)^{-3/2}=1$ から $1+\omega^2=2^{2/3}$。$\varphi_m=180^\circ-3\arctan\omega_{gc}$。閉ループの特性多項式 $(s+1)^3+2$ の根は $-1+2^{1/3}e^{i(2k+1)\pi/3}$($k=0,1,2$)で、実部は $-1+2^{1/3}\cos60^\circ\approx-0.370$ と $-1-2^{1/3}\approx-2.260$ である。ゲインを $4$ 倍($L=\frac8{(s+1)^3}$)にすると、閉ループの特性多項式 $(s+1)^3+8$ は根 $\pm i\sqrt3$ をもち、ちょうど安定の境目になる。
$G_1(s)=\dfrac{s+1}{s+10}$ と $G_2(s)=\dfrac{1-s}{s+10}$。
使う公式:prop-bode-allpass。
答え:ゲイン曲線は同じで、$\omega=1$ での位相は $G_1$ が $\approx39.289^\circ$、$G_2$ が $\approx-50.711^\circ$。差は $-2\arctan1=-90^\circ$ である。
| 外す条件 | 反例 | 成り立たなくなること |
|---|---|---|
| 極が開左半平面(定常応答として読む) | $G=\frac1{s-1}$、入力 $\cos t$ | $\lvert G(i)\rvert=\frac1{\sqrt2}$ だが、出力は $\frac12e^t$ の項を含み正弦波に近づかない |
| $\omega>0$ で $G(i\omega)\ne\infty$ | $G=\frac1{s^2+1}$ | $\omega=1$ でゲインが発散し、曲線が切れる |
| 最小位相(位相がゲインから決まる) | $\frac{1-s}{1+s}$ と $1$ | ゲインはどちらも $0$ dB だが、位相は $-2\arctan\omega$ と $0$ |
| 1 次の因子(誤差 $3$ dB 以内) | $\frac1{s^2+0.1s+1}$($\zeta=0.05$) | 折点で折れ線との差が $20$ dB |
| 位相の連続な枝 | $\frac1{(s+1)^3}$ を主値で描く | $\omega=\sqrt3$ で $-180^\circ$ から $+180^\circ$ へ跳んで見える |
各行で崩れる結論を計算で確かめる。
1 行目:入力の変換は $\frac{s}{s^2+1}$ で、$\frac1{s-1}\cdot\frac{s}{s^2+1}=\frac{1/2}{s-1}+\frac{-s/2+1/2}{s^2+1}$ なので出力は $\frac12e^t-\frac12\cos t+\frac12\sin t$ である。2 行目:$\lvert G(i\omega)\rvert=\frac1{\lvert1-\omega^2\rvert}$。3 行目:prop-bode-allpass の 1。4 行目:thm-bode-resonance の 3 から $\lvert G(i)\rvert=\frac1{2\zeta}=10$、すなわち $20$ dB で、折れ線の値は $0$ dB である。5 行目:連続な位相は $-3\arctan\omega$ で、$\omega=\sqrt3$ で $-180^\circ$ を下回る。主値はそこで $+180^\circ$ に近い値へ移る。
| 誤り | 正しくは | なぜ |
|---|---|---|
| ゲインを $10\log_{10}\lvert G\rvert$ で dB にする | $20\log_{10}\lvert G\rvert$ | dB は電力の比で、電力は振幅の 2 乗に比例する |
| 2 次の因子を折れ線だけで描く | $\zeta<1/\sqrt2$ なら山を加える | thm-bode-resonance |
| 右半平面の零点で位相を進める | ゲインは同じだが位相は遅れる | prop-bode-allpass |
| 不安定な系の $G(i\omega)$ を定常応答とみなす | 極がすべて開左半平面のときだけ | 反例の表の 1 行目 |
| 位相を主値で読んで位相余裕を求める | 連続な枝で読む | 反例の表の 5 行目 |
図: Bode 線図
左は ex-bode-composite の Bode 線図(上がゲイン、下が位相)で、実線が実際の値、破線がゲインの折れ線である。ゲインは折点 $\omega=1$ と $\omega=10$、$100$ で約 $3$ dB ずれる。右は thm-bode-resonance の 2 次の因子で、横軸を $x=\omega/\omega_n$ とし、$\zeta=0.05,0.1,0.3,0.7,1$ のゲインと位相を重ねた(破線はゲインの折れ線)。$\zeta$ が小さいほど $\omega=\omega_n$ の近くの山が高く、位相が急に変わる。
連続時間の Bode 線図の考え方は、離散時間のフィルタにもそのまま使える。z 変換の伝達関数 $H(z)$ の単位円上の値 $H(e^{i\omega})$($0\le\omega\le\pi$)が周波数応答である(z変換、信号処理)。周波数応答の曲線 $\omega\mapsto G(i\omega)$ を複素平面に描いたものが Nyquist 線図で、Bode 線図と同じ情報を別の形で表す。時間遅れ $e^{-sT}$ の位相 $-\omega T$ は、横軸が $\log\omega$ なので高い周波数で急に下がって見え(AMF20 Figure 10.15、p. 10-20)、右半平面の零点と同じく安定余裕を減らす。Bode 線図の描き方と基本の因子のグラフは AMF20 §9.6(pp. 9-29〜9-33)にもある。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する