2026/07/05

Polyphase IIR フィルタ

Polyphase IIR フィルタを読む (github.io)

ダウンサンプリングに使う IIR フィルタをポリフェイズ分割する方法について検証しました。

Butterworth フィルタであれば動作しています。 32-bit float では 8 次、 64-bit float では 16 次あたりが挙動がおかしくならない上限です。楕円フィルタについても簡単に動作確認したところ動いていました。正面から transposed direct form II でダウンサンプリングするよりも高速かつ正確に計算できます。

画像は 8 次、 4 フェイズ、カットオフ 1/32 [rad/2π] のポリフェイズ Butterworth フィルタの周波数特性です。振幅特性が -120 dB 以下となる高い周波数でノイズが乗っているのはすべて 32-bit float の実装です。