クロスオーバ・ネットワーク
Linkwitz-Rileyフィルタ
Butterworth * Butterworth = Linkwitz-Rileyフィルタ
Linkwitz-RileyフィルタはButterworthフィルタの2段縦列接続です。n次のButterworth LPFの応答は
で表わせます。Linkwitz-Riley LPFのゲインは
また同様に n次のButterworth HPFの応答は
Linkwitz-Riley HPFのゲインは
ここで Linkwitz-RileyのLPFとHPFの伝達関数の関係は
4, 8, 12 … (4の倍数)次では LPFとHPFを正相で接続して
2, 6, 10, 14 … 次ではLPFとHPFを逆相で接続して
以上のように Linkwitz-Riley フィルタでは加算または減算(逆相で加算)により周波数特性はフラットになります。
Linkwitz-Rileyフィルタから直線位相ディジタルフィルタへ
から周波数特性を求めるため z = e jωTとして
直線位相(群遅延一定な)フィルタといえば、係数が左右対称なFIRフィルタになりますが、カットオフ周波数を低く設定するとタップ数の増大で実現が困難になります。
ここで Linkwitz-Rileyフィルタの
- Butterworthフィルタの 2段縦列接続
- LPF と HPFの位相は、どの周波数においても完全に一致(または逆相)
- LPFとHPFを加算(または減算)した周波数特性は平坦
という特徴から、まずLinkwitz-Riley LPFの構成要素であるButterworth LPFをBiquadフィルタで作成し、そのインパルス応答の時系列を反転したものを係数とするFIRフィルタで畳み込みますとLinkwitz-Riley LPFと同じ振幅特性をもち直線位相(群遅延が一定)かつ1/fsの整数倍に一致するフィルタを実現できます。 (1.)
そしてこのフィルタの群遅延と同一時間ディジタル遅延させた信号からこのフィルタの信号を減算するとLinkwitz-Riley HPFと同じ振幅特性をもち群遅延がLPFと同一のフィルタも得られます。 (2.,3.)
この方式の直線位相FIRフィルタに対するメリットは
- 積和演算が半分強まで削減可能です。
- ディレー専用メモリを持つローコストのDSPでは演算メモリも半分強まで削減可能です。
- 群遅延が1/fsの整数倍なので3-Way以上でも3次Butterworthフィルタでフェーズシフタを付加したようにフィルタの群遅延相当のディジタル遅延を付加することにより、周波数がフラットで群遅延が一定なクロスオーバー・フィルタが実現可能です。
一方デメリットは
- 振幅特性がLinkwitz-Rileyフィルタに限定されます。(スロープは-12, -24, -36 ... dB/octの-12 dB/oct刻みで設定可能です。)
- 通常のDSPではメモリの削減効果はありません。(比較対象のFIRの係数は直線位相ならば左右対称なので、逆にBiquadフィルタの係数分増えてしまいます。)
直線位相な -12 dB/oct IIR-FIRフィルタ
TAS3108用シミュレータでIIRの一次LPFのインパルス応答をダンプして、IIRフィルタとダンプデータの時系列を反転した係数のFIRフィルタとで直線位相12 dB/octフィルタのTAS3108用コードを作成し、これを再びシミュレータにかけインパルス応答をダンプしてみました。
下の図は応答の大きさを表すY軸を対数化したものです。103 ≒ 210 (= 1024) ですから1〜1E-07は、ほぼPCM24bit相当になります。
次はインパルス応答を表計算のフーリエ解析でFFT(DFT)して周波数特性を求めた結果です。HPFのインパルス応答はLPFのインパルス応答の符号を反転させ、今回のLPFの応答の中心である114サンプル目にのみに1を加え作成しました。