2026/07/17

有限差分に基づく ADAA の誤差

有限差分に基づく ADAA の誤差を読む (github.io)

任意の次数の ADAA を楽に計算する方法を見つけたのですが、計算誤差の問題で使えないということを確認しました。歪みをかけるときは +60 dB 程のゲインをかけたいですが、中点近似では誤差の大きくなる範囲をカバーしきれないという問題があります。

ADAA は antiderivative antialiasing の略で、歪みのアンチエイリアシングを行う手法です。画像はハードクリップについて有限差分に基づく ADAA を計算すると 3 次以上では値がおかしくなることを示した図です。

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 の実装です。