IIRフィルターは、DSP(デジタル信号処理)において最も効率的に実装できるフィルターです。通常、下図のようなバイカッドの形でプログラミングされます。▷は掛け算、◯は加算、□は遅延です。
例えば、miniDSPプラグインのパラメトリックEQブロックでは、各ピーク/ノッチまたはシェルビングフィルターが1つのバイカッドです。クロスオーバー・ブロックでは、各クロスオーバーが最大4つのバイカッドを使用します。
1つのバイカッドを計算するために必要な処理量は、比較的小さいです。これが、低価格のminiDSP製品でも、すべての入出力チャンネルにパラメトリックEQとクロスオーバーを実装できる理由です。
各ボードに搭載されたDSP(デジタル・シグナル・プロセッサー)は、一定数のバイカッドを計算することができ、これが各プラグインで使用できるフィルターの数を決定する要因となっています。
miniDSPのバイカッドは、クロスオーバーのパラメーター(フィルタータイプとカットオフ周波数)、パラメトリックEQのパラメーター(中心周波数、ゲイン、Q)などを使ってプログラムすることが可能です。また、バイカッドの掛け算係数(上記 -a1~b2の5つの数値)を直接入力することで、カスタムフィルターを作ることができます。これらの掛け算係数は、カスタムバイオクアド・プログラミング・スプレッドシートを使って生成することができます。
FIRフィルターは、下図のように多くの掛け算と遅延で構成されています。掛け算の数をタップと呼び、タップ数(下図のN)は通常自由に変更できます。
FIRフィルターではDSPでの計算時間とメモリがより多く必要になります。FIRフィルターをサポートするminiDSP製品は、miniDSP 2×4 HDとFlexシリーズです。
FIRフィルターのタップ数は、大きな数値になります。例えば、miniDSP 2x4HDの場合は、すべての出力チャンネルに割り当てられるタップ数は合計4096個です。FIRタップの掛け算係数の生成は、rePhaseなどの別プログラムで行う必要があります。
FIRフィルタリングは、IIRフィルタリングに比べて次のような利点があります。
ただし、FIRフィルターは、タップ数に依存して低周波数の制御に限界が生じます。タップ数が多ければ低域限界は低い方に移動します。
また、FIRフィルターの性能は、フィルター係数の生成に使用するプログラムに大きく依存します。FIRフィルター係数の生成は、IIRフィルターよりも複雑で時間がかかります。
FIRとIIRの違いについて、簡単な例を挙げて説明します。
クロスオーバー・フィルター
2ウェイ・クロスオーバー・フィルターでは、ローパスとハイパスの出力がそれぞれウーファーとツイーターに送られ、音響的に加算されます。
下図は、4次リンクウィッツ・ライリー・クロスオーバー(24 dB/オクターブ)の300 Hzにおける総合位相応答(ローパスとハイパスの加算)の測定値を青で表しています。このクロスオーバーの位相は、低周波数から高周波数まで360度シフトしています。
赤は、リニアフェイズ(直線位相)のFIRフィルターが実装された、同じ振幅応答曲線を持つクロスオーバーの測定出力です。位相シフトは、オーディオ帯域全体で一定で、ゼロに近いです。
パラメトリックEQ
以下のような振幅応答を持つパラメトリックフィルターを考えてみましょう。青がIIRフィルター、赤がリニアフェイズのFIRフィルターです。
下図は、このフィルターの位相応答を測定したもので、青はIIRフィルター、赤はリニアフェイズのFIRフィルターです。ここでも、リニアフェイズフィルターはオーディオ帯域での位相シフトが最小になっています。
位相のずれは、補正対象のスピーカードライバーの位相応答のずれを補正する作用があるため、望ましい場合もあります。
FIRフィルターは、振幅応答の特性はそのままに、位相シフトあり(ミニマムフェイズ、最小位相)、なし(リニアフェイズ、線形位相)のいずれかの方法で実装することができます。
FIRフィルターは、IIRフィルターよりも処理能力が高く、振幅特性と位相特性を別々に設定できます。
ただし、FIRフィルターの設計には手間がかかります。また、IIRフィルターのパラメトリックEQやクロスオーバー・フィルターのように、その場で微調整することは容易ではありません。