FIR フィルタ
直線位相の FIR フィルタの係数を、窓関数法(カイザー窓など)・等リップル(Parks–McClellan 法)・最小二乗法で求めます。通過域と阻止域の仕様からタップ数を決め、振幅・位相・群遅延の周波数特性、インパルス応答、z 平面の零点を描きます。係数は C の配列で書き出せ、ホワイトノイズに掛けた音も聞けます。
遷移帯域の中央
上側の遷移帯域の中央
通過域の端から阻止域の端までの幅
通過域での振幅の揺れの許容(最大と最小の比、ピーク間)
阻止域で抑える量(通過域の振幅 1 に対して)
係数を求める基準
理想の応答に掛ける窓。阻止域の深さと遷移帯域の幅が決まる
仕様から: 仕様を満たすタップ数・β・重みを求める。指定: 自分で決める
係数の数(次数 + 1)。HPF・BSF は奇数
大きいほど阻止域が深く、遷移帯域が広い(0 で矩形窓)
誤差の重み。重い帯域ほど誤差が小さくなる
誤差の重み。重い帯域ほど誤差が小さくなる
ホワイトノイズの大きさ(0 dB = フルスケール)
通過域: 0 dB のまわりを拡大してリップルを見る
直線位相なので、群遅延はどの周波数でも (N − 1)/2 サンプル
- タップ数 N
- 遅延 (N − 1)/2
- 通過域リップル
- 阻止域減衰
- 遷移帯域幅
- 1 サンプルあたりの乗算
- 同じ仕様の IIR フィルタ
動作原理と式
FIR フィルタと直線位相
FIR フィルタは、入力 の今と過去 サンプルの値に係数 を掛けて足し、出力を求めるフィルタです。出力を戻さないので常に安定です[1]。
係数を中央で左右対称にすると、すべての周波数が サンプルだけ遅れる直線位相になります。
が偶数のフィルタは に零点を持ちます。 は に当たるので、HPF と BSF は を奇数にします。
仕様の許容値
仕様の 2 つの量を、振幅の許容値に直して使います。
- 通過域リップル
- 阻止域減衰
- 通過域の許容
- 阻止域の許容
窓関数法
窓関数法は、理想のフィルタのインパルス応答 を 点で切り出し、窓 を掛けて両端をなだらかにします[1]。 は無限に続く sinc 関数です。
- 理想の応答 無限に続く sinc 関数
- 点で切り出す
- 窓 を掛ける両端をなだらかに
窓の形で阻止域の深さと遷移帯域の幅が決まります。
カイザー窓
カイザー窓は で形を変えられます。Kaiser の式で、仕様から と を求めます[2]。
ほかの窓
ほかの窓の阻止域の減衰は、窓ごとにほぼ決まっています[3]。タップ数は遷移帯域幅から求めます。
| 窓 | 阻止域の減衰 | |
|---|---|---|
| 矩形 | 21 dB | 0.9 |
| ハン | 44 dB | 3.1 |
| ハミング | 53 dB | 3.3 |
| ブラックマン | 75 dB | 5.5 |
ハン窓とブラックマン窓は両端が 0 になります。そこで、 点の窓の両端を除いた 点を使います。
等リップルと最小二乗
等リップル(Parks–McClellan 法)は、重み付き誤差 の最大値を最小にします[4]。
最適な解では、誤差の大きさが 個以上の周波数で等しく、符号が交互に変わります。これを交代定理といいます。 は余弦の項の数です。
Remez の交換法は、その周波数の組を、誤差が最大になる周波数へ入れ替えながら求めます[5]。
最小二乗法は、誤差の二乗を帯域で積分した値を最小にします[6]。
- どちらも遷移帯域は誤差に数えない
- 仕様から求めるときは、仕様を満たす最小の を探す
実際の特性
実際のリップル・減衰・遷移帯域幅は、係数に 0 を足して FFT した振幅から求めます。
遷移帯域幅は、通過域の許容を外れる周波数から、阻止域の許容を下回る周波数までの幅です。通過域の許容には、仕様と実際の大きい方を使います。
同じ仕様の IIR フィルタ
同じ仕様の IIR フィルタの次数は、帯域の端を双一次変換で写したアナログの楕円フィルタとバタワースフィルタの次数の式で求めます[7]。
今の値を代入した式
出典
- FIR フィルタの設計A. V. Oppenheim, R. W. Schafer, Discrete-Time Signal Processing, 3rd ed., Pearson, 2010, 7 章
- カイザー窓と Kaiser の式J. F. Kaiser, “Nonrecursive Digital Filter Design Using the I0-sinh Window Function,” Proc. IEEE ISCAS, 1974
- 窓の遷移帯域幅と阻止域の減衰E. C. Ifeachor, B. W. Jervis, Digital Signal Processing: A Practical Approach, 2nd ed., Prentice Hall, 2002
- 等リップル(Parks–McClellan 法)T. W. Parks, J. H. McClellan, “Chebyshev Approximation for Nonrecursive Digital Filters with Linear Phase,” IEEE Trans. Circuit Theory, CT-19(2), 1972
- Remez の交換法J. H. McClellan, T. W. Parks, L. R. Rabiner, “A Computer Program for Designing Optimum FIR Linear Phase Digital Filters,” IEEE Trans. Audio Electroacoust., AU-21(6), 1973
- 最小二乗法C. S. Burrus, A. W. Soewito, R. A. Gopinath, “Least Squared Error FIR Filter Design with Transition Bands,” IEEE Trans. Signal Processing, 40(6), 1992
- IIR フィルタの次数S. J. Orfanidis, “Lecture Notes on Elliptic Filter Design,” Rutgers University, 2006