1/12 オクターブバンド・フィルタ (3)

逆チェビシェフ・フィルタや楕円 (連立チェビシェフ) フィルタなどの「伝送零点」を持つフィルタは、バタワース・フィルタなどの (伝送零点を持たない) 全極型のフィルタに比べて遮断特性を鋭くできます。
しかし、アナログ・フィルタ回路では、一般に伝送零点を持たせると回路が複雑化します。
一方、IIR ディジタル・フィルタでは、biquad つまり双2次関数の 5 つの係数の乗算は常に実行され、伝送零点を持つ特性だからと言って計算量が増えることはありません。
そこで、6 次のバタワース特性 BPF を 6 次の楕円 BPF に差し替えて特性を比較してみることにしました。
しかし、PSoC5LP の Filter コンポーネントのフィルタ設計ツールでは、伝送零点を持つ逆チェビシェフ / 楕円フィルタはサポートされていないので、設計は外部の設計プログラムを利用しました。
1/N オクターブバンド・フィルタの規格では、隣接バンドとの境界の周波数での減衰量が、最も厳しいクラス 0 で +2.3 dB 〜 +4.5 dB、最も緩いクラス 2 で +1.6 dB 〜 +5.5 dB となっています。
バンド境界でのゲインが -3dB ならばクラス 0 でも適合するので、-3dB 帯域幅を基準とするバタワース・フィルタでは、カットオフ角周波数を 1 rad/s とする規格化 LPF をそのままプロトタイプ LPF とすることができます。
一方、バンド中心周波数付近の規格では、減衰量はクラス 0 で -0.15 dB 〜 +0.15 dB、クラス 2 で -0.5 dB 〜 +0.5 dB となっており、楕円フィルタの通過域リプルはこの範囲内におさめる必要があります。
減衰量が 3 dB となる周波数は「遷移域」内となるので、設計パラメタとして指定することはできません。
そこで、まず通過域リプル 0.1 dB、阻止域最小源推量 60 dB の規格化楕円フィルタを設計し、「周波数スケーリング」としてカットオフ周波数を小さい方にずらし、正規化角周波数 1 rad/s でゲインが -3 dB 程度になるように調整したものをプロトタイプ LPF としました。 カットオフ角周波数は 0.723 rad/s 程度になりました。
修正ずみの LC LPF の規格化素子値を LTspice の回路として下に示します。

AC 解析の結果の周波数特性のグラフを下に示します。

周波数軸として角周波数を表示することができないので周波数 (Hz) 表示となっています。 0.159... Hz = 1 rad/s と読み替えて見てください。
また、規格化素子値として入出力インピーダンスが 1 Ω と低いので、インダクタの設定に気を付けないと正しくない結果が得られることがあります。
それは、インダクタの直列抵抗 (Rser) の値が空欄 (デフォルト) の場合に、LTspice のデフォルトの動作では自動的に 1 mΩ の直列抵抗が挿入されるためです。
これを防ぐには、インダクタのプロパティ設定で明示的に Rser=0 を指定しておくか、あるいは Tools/Conrol Panel/Hacks! メニューの「Always default inductors to Rser=0」のチェックを入れる必要があります。
コントロール・パネルのこの設定は記憶されず、次回以降に LTspice を立ち上げた際にチェックなしの状態に戻ってしまうので、この設定に頼る場合には毎回チェックを入れ直す必要があります。
JIS C 1514 のクラス 2 のリミット値と共にプロトタイプ LPF の周波数特性を表示したものを下に示します。

細い藍色の線が 3 次楕円 LPF の特性です。 3 次バタワース特性と比較して、隣接バンドの中心周波数付近では 5 dB 程度、2 つ隣のバンドの中心周波数付近では 10 dB 程度の減衰量の改善が見られます。
PC 上で TSP 法の測定をシミュレートしてディジタル・フィルタの周波数特性を求めるプログラムの出力結果を下に示します。

赤色の線が 6 次バタワース LPF、青色の線が 6 次楕円 BPF、緑色の線が隣接バンドの 6 次バタワース BPF の特性です。
このディジタル・フィルタの設計は、修正したプロトタイプ LPF のカットオフ角周波数を a、規格化 BPF のバンド幅を bw とすると、通過域上端と下端の角周波数をそれぞれ ω2 、ω1 として、

\omega_2 \,= \,\sqrt{\,1 \,+ \,\left(\frac{a \,\cdot\, bw}{2}\right)^2\;}\, +\, \frac{a \,\cdot\, bw}{2}\,=\,1.021102
\omega_1 \,= \,\sqrt{\,1 \,+ \,\left(\frac{a \,\cdot\, bw}{2}\right)^2\;}\, -\, \frac{a \,\cdot\, bw}{2}\,=\,0.979334

を求め、実際の目的の中心周波数 880 Hz に対して周波数変換した

f2 = 898.570 Hz
f1 = 861.814 Hz

を設計パラメタとして外部の設計ツールに入力しています。
得られた IIR ディジタル・フィルタ係数を PSoC5LP の Filter コンポーネントの設計ツールの外部係数モードで読み込み、スケーリングなどが調整された最終結果の係数を下に示します。

Final coefficients for Biquad filter : 
Coefficients are in the order A0, A1, A2, B1 and B2

 0.0216338634490967
-0.0428581237792969
 0.0216338634490967
-1.98372292518616
 0.99764609336853

 0.19551682472229
-0.389220952987671
 0.19551682472229
-1.98517203330994
 0.997761011123657

 0.0126242637634277
0
-0.0126242637634277
-1.9820818901062
 0.99530553817749

設計ツールの周波数特性表示ペインのスクリーン・チャプチャを下に示します。

実際に PSoC5LP のプログラムを動作させ、TSP 法で測定した結果を下に示します。

赤色の線が中心周波数 880 Hz のバンド 6 次バタワース BPF の特性、青色が中心周波数 932.328 Hz の隣接バンドの 6 次バタワース BPF の特性で、これらは以前の測定結果をファイルに保存しておいたのを読み出して表示しています。
黒色の線が中心周波数 880 Hz のバンドの 6 次楕円 BPF の特性で、これはリアルタイムの測定結果です。