目次
はじめに
2年前から積ん読していた信号処理の教科書でChebyshevフィルタが出てきた。導出が省略されていると証明に夢中になるのが悪い癖で、またやってしまったのでここに書き残しておく。Wikipediaの記事では省略されている、伝達関数の極を実部と虚部に分解する過程を記した。また、三角関数を含む方程式の根に周期的な任意性がある場合の周期の扱いもWikipediaの記事より丁寧にしている。さらに、広域通過フィルタの導出も記した。
第一種Chebyshevフィルタ
LPFの伝達関数の導出
フィルタのインパルス応答が実数であるからそのFourier変換はHermite対称なので$H(-j\omega) = \overline{H(j\omega)}$である。よって$\|H(j\omega)\|^2 = H(j\omega)\overline{H(j\omega)} = H(j\omega)H(-j\omega)$である。$H(j\omega)$がChebyshev低域通過フィルタのゲイン特性を持つから次式が成り立つ($\varepsilon > 0$, $T_n$は$n$次の第一種Chebyshev多項式)。
$$ H(j\omega)H(-j\omega) = \frac{1}{1+\varepsilon^2 T_n^2(\omega/\omega_\mathrm{c})} $$そのために、次式を満たすような有理関数$H(s)$を構成しよう。
$$ \begin{equation} H(s)H(-s) = \frac{1}{1+\varepsilon^2 T_n^2(-js/\omega_\mathrm{c})} \label{伝達関数の絶対値の2乗} \end{equation} $$$s$は複素数であることに注意する(この時点ではまだ$s=j\omega$という制約は課していない。Chebyshev多項式の定義式は、変数を実数に限るような制約は課していない)。フィルタをアナログ回路で実現する為に、分母多項式の係数が全て実数であるという制約(つまり分母多項式の零点が複素共役のペアで存在する)を課す。もし分母多項式が、根の実部が全て負であるような実係数多項式$\phi(s)$によって$\phi(s)\phi(-s)$と表せれば、$H(s) = 1/\phi(s)$と表せて安定なフィルタとなる。それが可能であることを以下に示す。
$H(s)$の極、すなわち分母多項式の零点$p$を求めよう。$-jp/\omega_\mathrm{c} = \cos\theta\;(\theta \in \mathbb{C})$とおき、Chebyshev多項式と三角関数の関係を用いると
$$ \begin{aligned} 0 &= 1+\varepsilon^2 T_n^2(\cos\theta) = 1 + \varepsilon^2 \cos^2 n\theta \\ \cos^2 n\theta &= -1/\varepsilon^2 \\ \cos n\theta &= \pm j/\varepsilon \\ \end{aligned} $$$n\theta = a + jb\;(a,b \in \mathbb{R})$とおくと
$$ \begin{aligned} \frac{1}{2}\left(e^{ja-b} + e^{-ja + b}\right) &= \pm\frac{j}{\varepsilon} \\ e^{-b}(\cos a + j\sin a) + e^b(\cos a – j\sin a) &= \pm\frac{2j}{\varepsilon} \\ (e^{-b} + e^b)\cos a + j(e^{-b} – e^b)\sin a &= \pm\frac{2j}{\varepsilon} \end{aligned} $$左辺の実部が0でなければならないこと、$e^{-b} + e^b > 0$であることより$\cos a = 0$であるから$a = \pi/2 + l\pi\;(l \in \mathbb{Z})$である。次に、虚部同士を比較することで
$$ \begin{aligned} \pm\frac{2}{\varepsilon} &= (e^{-b} – e^b)\sin a = (e^{-b} – e^b)(-1)^l \\ \pm(-1)^{l+1}\frac{1}{\varepsilon} &= \frac{e^b – e^{-b}}{2} = \sinh b \\ b &= \sinh^{-1}\left(\pm(-1)^{l+1}\frac{1}{\varepsilon}\right) = \pm(-1)^{l+1}\sinh^{-1}\frac{1}{\varepsilon} \end{aligned} $$以上より
$$ \begin{aligned} \theta &= \frac{2l+1}{2n}\pi \pm j\frac{(-1)^{l+1}}{n}\sinh^{-1}\frac{1}{\varepsilon} \quad (l \in \mathbb{Z}) \\ p &= j\omega_\mathrm{c}\cos\theta = j\omega_\mathrm{c}\cos\left(\frac{2l+1}{2n}\pi \pm j\frac{(-1)^{l+1}}{n}\sinh^{-1}\frac{1}{\varepsilon}\right) \\ &= j\omega_\mathrm{c}\left(\cos\frac{2l+1}{2n}\pi\right)\cos\left(\pm j\frac{(-1)^{l+1}}{n}\sinh^{-1}\frac{1}{\varepsilon}\right) – j\omega_\mathrm{c}\left(\sin\frac{2l+1}{2n}\pi\right)\sin\left(\pm j\frac{(-1)^{l+1}}{n}\sinh^{-1}\frac{1}{\varepsilon}\right) \\ &= j\omega_\mathrm{c}\left(\cos\frac{2l+1}{2n}\pi\right)\cos\left(j\frac{1}{n}\sinh^{-1}\frac{1}{\varepsilon}\right) \pm (-1)^{l+1}\omega_\mathrm{c}\left(\sin\frac{2l+1}{2n}\pi\right)(-j)\sin\left(j\frac{1}{n}\sinh^{-1}\frac{1}{\varepsilon}\right) \end{aligned} $$ここで$\cos jx = \cosh x,\;-j\sin jx = \sinh x$を用いて
$$ \begin{aligned} p &= j\omega_\mathrm{c}\left(\cos\frac{2l+1}{2n}\pi\right)\cosh\left(\frac{1}{n}\sinh^{-1}\frac{1}{\varepsilon}\right) \pm (-1)^{l+1}\omega_\mathrm{c}\left(\sin\frac{2l+1}{2n}\pi\right)\sinh\left(\frac{1}{n}\sinh^{-1}\frac{1}{\varepsilon}\right) \\ &\phantom{=} (l \in \mathbb{Z}) \\ &= \pm\omega_\mathrm{c}\sinh\left(\frac{1}{n}\sinh^{-1}\frac{1}{\varepsilon}\right)\left(\sin\frac{2l+1}{2n}\pi\right) + j\omega_\mathrm{c}\cosh\left(\frac{1}{n}\sinh^{-1}\frac{1}{\varepsilon}\right)\left(\cos\frac{2l+1}{2n}\pi\right) \\ &\phantom{=} (l = 0,1,\dotsc,n-1) \\ \end{aligned} $$これら$2n$個の根は、原点を中心とし、長軸或いは短軸が実軸と重なる楕円上に分布しており、分布は実軸,虚軸に関して対称である。$\sinh\left(\frac{1}{n}\sinh^{-1}\frac{1}{\varepsilon}\right)\left(\sin\frac{2l+1}{2n}\pi\right) > 0$であるから、これらの中に実部が負のものがちょうど$n$個ある。$n$が偶数の場合は$n$個全ての根が非零の虚部をもち、複素共役の対で存在する。$n$が奇数の場合は実根が1つあり、他の$n-1$個は複素共役の対で存在する(…事実1)。これらを根とする適当に規格化した$\phi(s)$を用いて$H(s) = 1/\phi(s)$とすれば式\eqref{伝達関数の絶対値の2乗}を満たしつつ安定なフィルタを得られる。具体的には
$$ \begin{aligned} p_k &\coloneqq -\omega_\mathrm{c}\sinh\left(\frac{1}{n}\sinh^{-1}\frac{1}{\varepsilon}\right)\left(\sin\frac{2k+1}{2n}\pi\right) + j\omega_\mathrm{c}\cosh\left(\frac{1}{n}\sinh^{-1}\frac{1}{\varepsilon}\right)\left(\cos\frac{2k+1}{2n}\pi\right) \\ &\phantom{\coloneqq} (k = 0,1,\dotsc,n-1) \end{aligned} $$として$s_0,\dotsc,s_{n-1}$が$\phi(s)$の根となるようにする。
$\phi(s)$の最高次の係数を$a_n$とする。$H(j\omega)$のHermite対称性から$H(0) = H(-0) = \overline{H(0)}$より$H(0) \in \mathbb{R}$である。また、式\eqref{伝達関数の絶対値の2乗}で$s=0$とすることで$H(0) \neq 0$を得る。そこで、規格化条件の一つとして$H(0) > 0$を課す。
$$ \begin{aligned} H(0) &= 1/\phi(0) = \frac{1}{a_n\prod_{k=0}^{n-1}(-p_k)} \\ \therefore\; a_n &= \frac{1}{H(0)\prod_{k=0}^{n-1}(-p_k)} = \begin{cases} \frac{\sqrt{1+\varepsilon^2}}{\prod_{k=0}^{n-1}(-p_k)} & (n = 0,2,4,\dotsc) \\ \frac{1}{\prod_{k=0}^{n-1}(-p_k)} & (n = 1,3,5,\dotsc) \end{cases} \end{aligned} $$(事実1)より$\prod_{k=0}^{n-1}s_k$は正であるから、$a_n$は正である。
以上より
$$ \begin{aligned} \phi(s) &= \begin{cases} \frac{\sqrt{1+\varepsilon^2}}{\prod_{k=0}^{n-1}(-p_k)}\prod_{l=0}^{n-1}(s-p_l) & (n = 0,2,4,\dotsc) \\ \frac{1}{\prod_{k=0}^{n-1}(-p_k)}\prod_{l=0}^{n-1}(s-p_l) & (n = 1,3,5,\dotsc) \end{cases} \\ H(s) &= 1/\phi(s) = \begin{cases} \frac{\prod_{k=0}^{n-1}(-p_k)}{\sqrt{1+\varepsilon^2}\prod_{l=0}^{n-1}(s-p_l)} & (n = 0,2,4,\dotsc) \\ \frac{\prod_{k=0}^{n-1}(-p_k)}{\prod_{l=0}^{n-1}(s-p_l)} & (n = 1,3,5,\dotsc) \end{cases} \end{aligned} $$HPFの伝達関数の導出
まず、伝達関数が次式を満たすことが必要である。
$$ \begin{equation} H(j\omega)H(-j\omega) = \frac{1}{1+\varepsilon^2 T_n^2(\omega_\mathrm{c}/\omega)} \label{HPFのゲインに関する条件1} \end{equation} $$さらに、安定なフィルタとするために、極の実部を全て負にする必要がある。式\eqref{伝達関数の絶対値の2乗}を見ると、$s \to -\omega_\mathrm{c}^2/s$なる変換を施せば式\eqref{HPFのゲインに関する条件1}を満たし、有理関数$H(s)$の分母,分子多項式の係数が実数となることがわかる。しかしこれでは極の符号が反転し、$H(s)$の極の実部が全て正となりフィルタが不安定になる。そこで、$\phi(s)$の構成の際の$p_k$の選び方を変更する。楕円上に分布した$2n$個の極のうち、右半平面に存在するものを選べばよいので
$$ \begin{aligned} \tilde{p}_k &\coloneqq \omega_\mathrm{c}\sinh\left(\frac{1}{n}\sinh^{-1}\frac{1}{\varepsilon}\right)\left(\sin\frac{2k+1}{2n}\pi\right) + j\omega_\mathrm{c}\cosh\left(\frac{1}{n}\sinh^{-1}\frac{1}{\varepsilon}\right)\left(\cos\frac{2k+1}{2n}\pi\right) \\ &\phantom{\coloneqq} (k = 0,1,\dotsc,n-1) \end{aligned} $$として、これらを根とするように$\phi(s)$を再構成する。このようにしても$\phi(s)\phi(-s)$は変わらないから式\eqref{伝達関数の絶対値の2乗}の条件は維持される。通過帯域で$H(j\infty)>0$を課せば、規格化定数はLPFのときと同じである。そして再構成した$\phi(s)$に$s \to -\omega_\mathrm{c}^2/s$なる変換を施す。これより
$$ H(s) = b_n \frac{\prod_{k=0}^{n-1}(-\tilde{p}_k)}{\prod_{l=0}^{n-1}(-\omega_\mathrm{c}^2/s-\tilde{p}_l)} = b_n \frac{s^n\prod_{k=0}^{n-1}\tilde{p}_k}{\prod_{l=0}^{n-1}(\tilde{p}_l s + \omega_\mathrm{c}^2)} $$ここに、$b_n$は次式で定められる定数である。
$$ b_n = \begin{cases} \frac{1}{\sqrt{1+\varepsilon^2}} & (n = 2,4,6,\dotsc) \\ 1 & (n = 1,3,5,\dotsc) \end{cases} $$第二種Chebyshevフィルタ
LPFの導出
伝達関数が次式を満たせばよい。
$$ H(j\omega)H(-j\omega) = \frac{\varepsilon^2 T_n^2(\omega_\mathrm{c}/\omega)}{1+\varepsilon^2 T_n^2(\omega_\mathrm{c}/\omega)} $$そのために、次式を満たすような有理関数$H(s)$を構成しよう。第一種Chebyshev LPFの伝達関数の導出と同じく、$H(s)$を整理した後の分母,分子多項式の係数が実数となるようにする。
$$ H(s)H(-s) = \frac{\varepsilon^2 T_n^2(\omega_\mathrm{c}/(-js))}{1+\varepsilon^2 T_n^2(\omega_\mathrm{c}/(-js))} $$方針としては、$1/s$に関する適当な$n$次の実係数多項式$\tilde{\phi}(s),\tilde{\psi}(s)$を
$$ \begin{align} \tilde{\phi}(s)\tilde{\phi}(-s) &= 1+\varepsilon^2 T_n^2(\omega_\mathrm{c}/(-js)) \\ \tilde{\psi}(s)\tilde{\psi}(-s) &= \varepsilon^2 T_n^2(\omega_\mathrm{c}/(-js)) \label{psi_tildeの条件} \end{align} $$が成り立つように構成し、$\phi(s) = s^n\tilde{\phi}(s),\;\psi(s) = s^n\tilde{\psi}(s)$として$H(s) = \psi(s)/\phi(s)$とする。
$\tilde{\phi}(s)$の構成には第一種Chebyshev HPFの伝達関数の導出の考察を利用する。$s \to -\omega_\mathrm{c}^2/s$なる変換と極はそのまま使えて、規格化定数を$a$として
$$ \tilde{\phi}(s) = a\prod_{k=0}^{n-1} (-\omega_c^2/s – \tilde{p}_k) $$となる。今回は規格化条件を変え、$\omega = \omega_c$に於いて$|\tilde{\phi}(j \omega_c)| = \sqrt{1+\varepsilon^2 T_n^2(1)} = \sqrt{1 + \varepsilon^2}$を課す。これより
$$ |a| = \frac{\sqrt{1 + \varepsilon^2}}{\prod_{k=0}^{n-1}(j\omega_c – \tilde{p}_k)} $$となる。$a$は実数とすればよい。なぜならば、<a href=”#第一種Chebyshev LPFの伝達関数の導出”>第一種Chebyshev LPFの伝達関数の導出</a>で述べたように、$\tilde{p}_k\;(k=0,1,\dotsc,n-1)$は複素共役のペアおよび実数で存在しているため、$\prod_{k=0}^{n-1} (-\omega_c^2/s – \tilde{p}_k)$の展開式に於ける$s$の係数は全て実数であり、ここで$a$を実数としておけば、最終的に$H(s)$をアナログ回路で実現する際に都合が良いからである。$a$の符号は正を選んでおく。後で符号に不都合が生じたときは後述の$\tilde{\psi}(s)$の規格化定数で調整すればよい。
次に、$\tilde{\psi}(s)$を構成する。以下に述べるが、$T_n(\omega_\mathrm{c}/(-js))$を0にする$s$は純虚数で、実軸に対して対称に分布する。よって$\tilde{\psi}(s) = \varepsilon T_n(\omega_\mathrm{c}/(-js))$となるように$\tilde{\psi}(s)$を構成できれば、$\tilde{\psi}(s) = \tilde{\psi}(-s)$となって\eqref{psi_tildeの条件}を満たし、かつ$\tilde{\psi}(s)$の展開式の$s$の係数は全て実数となる。では、$T_n(\omega_\mathrm{c}/(-js))$を0にする$s$を求めよう。$1/s = (\cos\theta)/(j \omega_c)$とおいてChebyshev多項式と三角関数の関係を用いると
$$ \begin{aligned} \cos n\theta &= 0 \\ \therefore \theta &= \frac{2k+1}{2n}\pi \; (k \in \mathbb{Z}) \\ \therefore \frac{1}{s} &= \frac{1}{j \omega_c} \cos\frac{2k+1}{2n} =: q_k \; (k = 0,1,\dotsc,n-1) \end{aligned} $$これより、規格化定数を$b$として
$$ \tilde{\psi}(s) = b \prod_{k=0}^{n-1} (1/s – q_k) $$と表せる。規格化条件として$\omega = \omega_c$に於いて$|\tilde{\psi}(j \omega_c)| = \sqrt{\varepsilon^2 T_n^2(1)} = \varepsilon$を課すと
$$ |b| = \frac{\varepsilon}{\prod_{k=0}^{n-1} (1/(j\omega_c) – q_k)} $$$\prod_{k=0}^{n-1} (1/s – q_k)$の展開式に於ける$s$の係数は全て実数であるから、$b$を実数とすると都合が良い。では、$b$の符号を決めよう。今作ろうとしているのはLPFであるから、常識に倣って直流ゲインの位相を0にしたい。仮に$b>0$と固定して$\omega \to +0$の極限を考えると、$\lim_{\omega \to +0}\tilde{\phi}(j\omega) \propto j^n \omega_c^{2n}/\omega^n$であり、$\lim_{\omega \to +0}\tilde{\psi}(j\omega) \propto (-1)^n j^n / \omega^n$となって$\lim_{\omega \to +0}$の位相が、$n$が偶数のときは0, $n$が奇数の時は$\pi$となって一貫しない。よって
$$ b = \frac{(-1)^n \varepsilon}{\prod_{k=0}^{n-1} (1/(j\omega_c) – q_k)} $$とすればよい。
以上をまとめると次のようになる。
$$ \begin{aligned} H(s) &= \psi(s)/\phi(s) \\ \phi(s) &= \frac{\sqrt{1 + \varepsilon^2}}{\prod_{k=0}^{n-1}(j\omega_c – \tilde{p}_k)} \prod_{k=0}^{n-1}(-{\omega_c}^2 – \tilde{p}_k s) \\ \psi(s) &= \frac{(-1)^n \varepsilon}{\prod_{k=0}^{n-1} (1/(j\omega_c) – q_k)} \prod_{k=0}^{n-1} (1 – q_k s) \end{aligned} $$HPFの導出
第一種Chebyshev HPFの伝達関数の導出と同じ技法が使える。つまり$s \to -\omega_\mathrm{c}^2/s$なる変換を行い、分母多項式については極が左半平面に来るように、LPFのときとは違って$\tilde{p}_k$ではなく$p_k$を用いる。分母多項式の零点については注意すべきことはない。規格化条件として$\lim_{\omega \to \infty} H(j\omega) = 1$を課せば、規格化定数は第二種Chebyshev LPFの伝達関数の導出の$a,b$をそのまま使える。まとめると、次のようになる。
$$ \begin{aligned} H(s) &= \psi(s)/\phi(s) \\ \phi(s) &= \frac{\sqrt{1 + \varepsilon^2}}{\prod_{k=0}^{n-1}(j\omega_c – \tilde{p}_k)} \prod_{k=0}^{n-1}(s – p_k) \\ \psi(s) &= \frac{(-1)^n \varepsilon}{\prod_{k=0}^{n-1} (1/(j\omega_c) – q_k)} \prod_{k=0}^{n-1} (-s/{\omega_c}^2 – q_k) \\ &= \frac{\varepsilon}{\prod_{k=0}^{n-1} (1/(j\omega_c) – q_k)} \prod_{k=0}^{n-1} (s/{\omega_c}^2 + q_k) \end{aligned} $$Mathematicaによる計算例
第一種, 第二種Chebyshevフィルタの伝達関数をMathematicaで計算する例を以下に示す。