IIR フィルタ
バターワース・チェビシェフ I・チェビシェフ II・楕円・ベッセルのアナログ原型から、周波数変換と双一次変換で IIR フィルタ(LPF・HPF・BPF・BSF)を設計します。次数を指定するか、通過域と阻止域の仕様を満たす最小の次数を求め、周波数特性・極と零点・時間応答と、双2次の縦続(SOS)と直接形の係数を出します。ホワイトノイズに掛けた音も聞けます。
振幅の形を決めるアナログの原型
次数と基準の周波数から設計するか、通過域・阻止域の端と減衰量を満たす最小の次数を求める
アナログ原型(LPF)の次数。BPF・BSF のフィルタの次数は 2N
振幅が −3 dB(電力が半分)になる周波数
振幅が −3 dB(電力が半分)になる周波数
阻止域の端。ここから先の減衰を阻止域の減衰量以上にする
阻止域の端。ここから先の減衰を阻止域の減衰量以上にする
阻止域で少なくとも減らす量
係数を求める基準
- 次数 N
- f−3dB(振幅 −3 dB)
- 通過域の振幅の変動
- 阻止域の減衰量
- 実際の阻止域端
- 通過域の群遅延
- 直接形の係数()
ホワイトノイズの大きさ(0 dB = フルスケール)
CH2 に重ねるもの(極と零点・時間応答にも出す)
直接形の丸めを比べるときの係数の精度
周波数の目盛り
振幅のグラフの縦軸の下端
時間応答のグラフの 8 div に入れるサンプル数
原型は基準の端を 1 rad/s にした LPF。周波数変換後はプリワーピングした周波数で、目盛りは Hz(σ/2π、Ω/2π)
| 段 | 極 |p|∠f | 零点 |z|∠f | b0 | b1 | b2 | a1 | a2 | 最大 |
|---|
段の順。単位円に近い極(鋭い山)の段を後ろに置くと、前の段で信号が小さくなりすぎない
全体のゲインを段に配る方法。各段の出力の最大を 0 dB にそろえると、固定小数点でも途中であふれにくい
| 係数の丸め | 極の最大 |p| | 安定 |
|---|
| k | bk | ak |
|---|
動作原理と式
設計の流れ
古典的な IIR フィルタは、振幅の形が分かっているアナログフィルタから作ります。この元になるフィルタを原型といいます。
- 原型 rad/s の LPF
- 周波数変換目的の応答にする
- 双一次変換またはインパルス不変法
- 双2次の縦続(SOS)実装の形
原型
原型は基準の端を rad/s に置いた LPF で、近似ごとに振幅の 2 乗を次の形にします。
- チェビシェフ多項式
- ヤコビの楕円関数で表すチェビシェフ有理関数[1]
- 逆 Bessel 多項式
ベッセルフィルタだけは、振幅でなく群遅延を平坦にしたものです[2]。群遅延は位相の傾きです。直流の近くで遅延がそろい、波形の形が崩れにくくなります。
次数
仕様から設計するときは、選択度 と から最小の次数を求めます。選択度 は、阻止域端を原型の周波数にしたものです。
楕円フィルタの次数は、第 1 種完全楕円積分 の比で表されます[1]。
次数を整数に切り上げたら、選択度を求め直します。通過域と阻止域の減衰はそのままにして、遷移域が仕様より狭くなるようにします。それには、次数の式を について解きます。
楕円関数と完全楕円積分は、降下 Landen 変換の母数の列 で求めます[1]。
周波数変換と双一次変換
原型を周波数変換で目的の応答にし、双一次変換でデジタルフィルタにします[3][4]。
双一次変換は、周波数軸を で縮めて に収めます。そこで、端の周波数をあらかじめ逆向きに伸ばしておきます。これをプリワーピングといいます。
こうすると端の周波数と減衰は仕様どおりになりますが、その間の形は縮みに合わせて歪みます。ベッセルフィルタの平坦な群遅延は、この歪みで崩れます。
インパルス不変法
インパルス不変法は、アナログのインパルス応答を標本化して とします[3]。 です。
周波数軸は縮みませんが、 を越える成分が折り返します。そのため、高域で減衰しない HPF と BSF には使えません。
実装
実装では、極と零点を 2 つずつ組んだ双2次の縦続(SOS)にします[4][5]。
- 組み方: 単位円に最も近い極から順に、それに最も近い零点と組む
- 段のゲイン: 各段の出力の振幅の最大が 1 になるように配る。こうすると、固定小数点でも途中であふれにくい
分母を 1 つの高次の多項式にした直接形は、極が近く集まる高い次数や狭い帯域で、係数の丸めに弱くなります。わずかな誤差で極が大きく動き、単位円の外へ出ることもあります。
群遅延 は、極と零点ごとの寄与の和で求めます。
出典
- 楕円関数、楕円フィルタの原型S. J. Orfanidis, “Lecture Notes on Elliptic Filter Design,” Rutgers University, 2006
- ベッセルフィルタW. E. Thomson, “Delay networks having maximally flat frequency characteristics,” Proc. IEE, Part III, vol. 96, pp. 487–490, 1949
- インパルス不変法、双一次変換A. V. Oppenheim, R. W. Schafer, Discrete-Time Signal Processing, 3rd ed., Pearson, 2010, ch. 7
- 周波数変換・双一次変換・SOS の式SciPy の scipy.signal
- 双2次の組み方・並べ方とスケーリングL. B. Jackson, Digital Filters and Signal Processing, 3rd ed., Kluwer, 1996