理論メモ
Butterworth: $|H|^2 = \dfrac{1}{1+\left(\Omega/\Omega_c\right)^{2n}}$双一次変換: $s = \dfrac{2f_s(z-1)}{z+1}$
Chebyshev: $|H|^2 = \dfrac{1}{1+\varepsilon^2 T_n^2(\Omega/\Omega_c)}$
Butterworth・Chebyshev・Bessel IIRフィルターのゲイン・位相特性をリアルタイム可視化。フィルタータイプ・次数・カットオフをスライダーで操作しながら設計を理解しよう。
アナログプロトタイプフィルターの設計は、複素周波数sを用いた伝達関数H(s)で行われます。以下は代表的なフィルターの振幅特性の二乗を表す式です。
$$|H(j\Omega)|^2 = \dfrac{1}{1+\varepsilon^2 T_n^2(\Omega/\Omega_c)}$$ここで、$\Omega$はアナログ角周波数、$\Omega_c$は遮断角周波数、$n$はフィルター次数、$\varepsilon$はリップル係数です。$T_n(x)$はn次のチェビシェフ多項式で、これが通過帯域内に等リップル(振幅誤差)を生み出します。$\varepsilon=0$とするとButterworthフィルターの式 $1/(1+(\Omega/\Omega_c)^{2n})$ に帰着します。
設計したアナログフィルターH(s)をデジタルフィルターH(z)に変換するために、双一次変換が広く用いられます。これはs平面からz平面への変換式です。
$$s = \dfrac{2f_s(z-1)}{z+1}$$ここで、$f_s$はサンプリング周波数、$z$はZ変換の変数です。この変換により安定したデジタルフィルターが得られますが、周波数軸に歪み(プリワーピング)が生じるため、設計段階でカットオフ周波数を事前補正する必要があります。このツールではその補正も内部で行われています。
オーディオ信号処理:音楽再生システムのイコライザー(EQ)やスピーカーのクロスオーバーネットワークに使用されます。Butterworthフィルターは通過帯域が平坦なため、音色を変えずに不要な周波数帯域(例:低音域の高調波)をカットするのに適しています。
生体医工学:心電図(ECG)や脳波(EEG)の計測装置では、筋肉の動きによる高周波ノイズ(筋電図)や電源周波数(50/60Hz)のハムノイズを除去するためにローパス/バンドストップフィルターが用いられます。波形の形状解析が重要なので、位相歪みの少ないBesselフィルターが好まれます。
地震観測:地震計は極めて広いダイナミックレンジと周波数帯域の信号を記録します。微動から本震までを歪みなく記録するため、通過帯域特性が厳密に管理された(リップルが規定された)バンドパスフィルターが設計の鍵となります。
通信システム:無線機やモデムでは、特定のチャネル(周波数帯)の信号だけを抽出し、隣接チャネルの干渉を強力に抑制するために、遮断特性が急峻なバンドパスフィルターが必要です。この場合、リップルを許容してでも鋭いロールオフを得られるChebyshevや楕円関数フィルターが検討されます。
まず、「遮断周波数は完全に切れる境目」と思っていないか? 実際は、遮断周波数(カットオフ周波数)は通常、振幅が-3dB(約70%)になる点を指す。例えば1kHzのローパスフィルターを設計しても、1.5kHzの信号が完全にゼロになるわけじゃない。この「減衰の緩やかさ」が次数で決まるんだ。次に、「位相は後で何とかなる」という油断。特にリアルタイム処理で複数のフィルターを直列につなぐと、位相のずれが積み重なって波形が大きく歪む。音声で「もやっとした」感じになったり、制御系で発振の原因になったりする。最後に、プリセットの盲信。「心電図プリセット」はあくまで一例。実際のECG計測では、電源ノイズ(50/60Hz)を除去する「ノッチフィルター」を追加したり、患者の状態に応じて帯域を微調整する必要がある。ツールの出力は設計の「スタート地点」と捉えよう。
このツールの背後にある「周波数応答の設計と評価」という考え方は、CAEを含む多くの分野で共通言語だよ。構造振動解析では、建物や機械の固有振動数を「通過帯域」、減衰を「フィルターの減衰特性」とみなして、特定周波数の振動を低減する設計に応用できる。自動車のサスペンション設計が好例だ。熱流体解析(CFD)でも、乱流モデルにおける高周波数ノイズの分離や、時系列データのスムージングにデジタルフィルター理論が使われる。さらに、制御工学とはほぼ兄弟分野と言える。フィルターの伝達関数 $H(s)$ の設計は、フィードバック制御系の補償器 $C(s)$(PID制御器など)の設計と数学的に同じ。位相遅れが安定性に与える影響を学ぶことは、制御系の位相余裕を考えることにも直結するんだ。
まず次の一歩は、「FIRフィルター」との比較だ。このツールで扱っているIIRは少ない次数で急峻な特性を得られるが、線形位相性が保てない。一方、FIRは計算量は多いが正確な線形位相が実現できる。オーディオや通信ではFIRがよく使われるので、その違いを体感しよう。次に、数学的背景として「Z変換」と「極・零点配置」を学ぶことを強く勧める。伝達関数 $H(z)$ の極が単位円内にあると安定、というルールを知れば、フィルターの振る舞いがグラフのカーブではなく「設計パラメータの根源」から理解できる。最後に、実装面では「量子化誤差」に注意だ。理論通り設計しても、固定小数点DSPやFPGAで実装すると、係数の丸め誤差で特性が変わったり、発振したりすることがある。シミュレーションツールで理論特性を確認した後は、実機での検証が不可欠だよ。