FIRフィルタとIIRフィルタ
音声や制御の信号を整えるとき、位相を崩さず遅延を許すか、少ない計算で急峻に削るか。FIRとIIRの構造差を差分方程式から押さえ、正しく選べるようになります。
- 1.FIRは過去入力の有限個だけを重み付き加算する非再帰構造で、出力は入力とインパルス応答の畳み込みそのもの。係数を左右対称に取れば厳密な線形位相が得られ、極を持たないため常に安定する。
- 2.IIRは過去の出力も帰還させる再帰構造で、少ない係数で急峻な減衰を実現できる。伝達関数に極を持つため設計を誤ると発散し、位相は一般に非線形になる。
- 3.同じ遮断特性なら IIR の方が次数(乗算回数)が桁で少なく低遅延だが、線形位相・安定性・係数量子化への強さが要る用途では FIR を選ぶ、という計算量と安全性のトレードオフで使い分ける。
2種類のデジタルフィルタを差分方程式で分ける
デジタルフィルタは、離散化された入力信号 x[n] から不要な周波数成分を削ったり強調したりする演算です。実装形態は大きく2つ、FIR(Finite Impulse Response、有限インパルス応答)と IIR(Infinite Impulse Response、無限インパルス応答)に分かれます。両者を分ける本質は、出力に過去の出力を帰還させるか否かという構造の一点にあります。一般の線形フィルタは次の差分方程式で書けます。
一般形(LCCDE, 線形定係数差分方程式):
y[n] = Σ_{k=0}^{M} b[k]·x[n-k] − Σ_{k=1}^{N} a[k]·y[n-k]
b[k] : 入力(フィードフォワード)側の係数
a[k] : 出力(フィードバック)側の係数, a[0]=1 に正規化
M, N : それぞれ入力側・出力側のタップ数
右辺第2項、すなわち過去出力 y[n-k] の総和がゼロ(全ての a[k] がゼロ)なら FIR、非ゼロなら IIR です。この一行の差が、位相特性・安定性・計算量のすべてを分岐させます。
FIR:畳み込みそのもの、非再帰・有限長
FIR フィルタは帰還項を持たず、出力は過去 M+1 個の入力の重み付き和だけで決まります。
FIR: y[n] = Σ_{k=0}^{M} b[k]·x[n-k]
この係数列 b[k] は、そのままフィルタのインパルス応答 h[k] に一致します(入力に単位インパルス δ[n] を入れると出力が b[k] そのものになるため)。応答は k > M で厳密にゼロになる——つまり有限長です。ここから重要な帰結が2つ出ます。
第一に、FIR の出力は入力とインパルス応答の畳み込みそのものです。y[n] = Σ h[k]·x[n-k] は畳み込み和の定義そのままで、フィルタリングと畳み込みが完全に一致します。第二に、伝達関数は z の負べきの多項式となり、分母を持たないため極(分母がゼロになる点)が存在しません。
FIR の伝達関数: H(z) = Σ_{k=0}^{M} b[k]·z^{-k} (分母なし = 全ゼロ型)
安定性は「有界な入力に有界な出力(BIBO)」で判定します。FIR のインパルス応答は有限長で必ず絶対総和が有限(Σ|h[k]| < ∞)なので、BIBO 安定条件を常に満たします。伝達関数に極が原点以外に存在せず、係数をどんな値に設定しても発散しません。設計ミスで不安定になる余地がないのが FIR 最大の安全性です。
線形位相:FIR だけが厳密に達成できる
FIR の決定的な利点が厳密な線形位相です。位相応答が周波数に対して直線になると、全ての周波数成分が同一の時間だけ遅れる(群遅延が一定)ため、波形の形が崩れません。これは係数列 h[k] を中心に対して対称または反対称に取るだけで自動的に達成できます。
対称条件: h[k] = ±h[M-k] (+ が偶対称, − が奇対称)
→ 位相 θ(ω) = −(M/2)·ω (偶対称)/ −(M/2)·ω + π/2 (奇対称)
いずれも ω の一次式(奇対称は定数 π/2 のオフセットが付く一般化線形位相)
→ 群遅延 = −dθ/dω = M/2 (サンプル)で全周波数一定(π/2 は微分で消える)
群遅延が M/2 サンプルで一定なので、通過帯域の各成分は同じ量だけ平行移動するだけです。オーディオや画像、通信のパルス整形など、位相歪みが致命的になる用途で FIR が選ばれる根拠がこれです。
線形位相は無償ではありません。群遅延が M/2 サンプル固定ということは、タップ数の多い(急峻な)FIR ほど出力が丸ごと遅れることを意味します。リアルタイム制御ループのように遅延そのものが不安定要因になる系では、この一定遅延が許容できず、後述の低遅延な IIR が選ばれることがあります。線形位相と低遅延は基本的に両立しません。
IIR:帰還による再帰構造と極
IIR フィルタは過去の出力を係数 a[k] で帰還させます。この再帰により、有限個の係数でもインパルス応答は原理的に無限に続きます(減衰しつつ理論上ゼロにならない)。
IIR: y[n] = Σ_{k=0}^{M} b[k]·x[n-k] − Σ_{k=1}^{N} a[k]·y[n-k]
↑ 過去出力の帰還(再帰項)
伝達関数は分子・分母の両方を持つ有理関数になり、分母がゼロになる点、すなわち極が現れます。
IIR の伝達関数:
H(z) = ( Σ b[k]·z^{-k} ) / ( 1 + Σ a[k]·z^{-k} ) (極・ゼロ型)
分母 = 0 の根 → 極(pole)
この極こそが IIR の威力と危うさの源です。極を単位円の内側ぎりぎりに配置すると、少ない次数で鋭い共振や急峻な遮断を作れます。アナログの Butterworth・Chebyshev・楕円フィルタを双一次変換で離散化すると、そのまま IIR になります。
IIR は帰還ループを持つため、設計や係数量子化を誤ると出力が発散します。BIBO 安定の条件は「全ての極の絶対値が 1 未満(z 平面の単位円の内側)」です。極が円周上・外側に来ると応答が減衰せず振動・発散します。特に高次を単一段(direct form)で実装すると、係数を有限ビットに丸めた際に極位置が大きくずれて不安定化しやすいため、実務では2次の縦続(カスケード)biquad に分解して各段の極を安定領域に収めます。
計算量の対比:同じ特性なら IIR が桁で有利
同一の遮断急峻性(ロールオフ)を得るのに必要な次数は、一般に IIR が FIR より大幅に少なくなります。急峻な帯域制限を FIR で作ると数十〜数百タップを要するのに対し、IIR なら極を使って同等の減衰を数次で達成できます。1サンプルあたりの乗算回数はおおむね次数に比例するため、演算量と遅延に直結します。
| 観点 | FIR(非再帰・全ゼロ) | IIR(再帰・極ゼロ) |
|---|---|---|
| 構造 | 過去入力のみ加算 | 過去入力+過去出力を帰還 |
| インパルス応答 | 有限長(M+1 で厳密に終わる) | 無限長(減衰しつつ続く) |
| 伝達関数 | 分母なし(極を持たない) | 有理関数(極を持つ) |
| 安定性 | 常に安定(設計不能なほど安全) | 極が単位円内のときのみ安定 |
| 位相 | 対称係数で厳密な線形位相 | 一般に非線形(群遅延が周波数依存) |
| 同一特性の次数 | 多い(数十〜数百タップ) | 少ない(数次で急峻) |
| 係数量子化の影響 | 劣化が緩やか・破綻しにくい | 極移動で不安定化しやすい |
| 主な設計法 | 窓関数法・Parks-McClellan | アナログ原型+双一次変換 |
数値の直観として、out = floor(...) のような整数演算ではなく、乗算・加算の回数で比較するのが要点です。FIR の M+1 タップは M+1 回の乗算、IIR の次数 N は約 2N 回程度(分子分母合わせて)で、同等特性なら後者が圧倒的に少なくなります。
用途による使い分け
構造差から、選択基準は明快になります。
- FIR を選ぶ:位相直線性が必須(オーディオのクロスオーバー、通信のパルス整形、画像フィルタ)、絶対的な安定性が要る、係数量子化に頑健であってほしい、適応フィルタ(LMS など)で係数を動的更新する場合。遅延の一定さが許容できることが前提。
- IIR を選ぶ:計算資源・メモリ・電力が厳しい組込みや MCU、低遅延が要る制御ループやリアルタイム系、アナログフィルタの特性を素直に離散化したい場合。位相歪みと安定性管理を受け入れられることが前提。
- 構造の定義:FIR は非再帰(過去入力のみ)、IIR は再帰(過去出力を帰還)。この一点が全差異の根。
- インパルス応答:FIR は有限長、IIR は無限長。名前どおり。
- 安定性:FIR は常に安定(極なし)。IIR は「全極が単位円の内側」が BIBO 安定条件。
- 線形位相:係数が対称(
h[k] = ±h[M-k])な FIR のみが厳密に達成。群遅延M/2で一定。IIR は一般に非線形位相。 - 計算量:同一遮断特性なら IIR の次数が FIR より桁で少ない。低遅延も IIR 有利。
- 実装の勘所:高次 IIR は2次 biquad の縦続で量子化誤差と不安定化を抑える。
まとめ
FIR と IIR の違いは、差分方程式に過去出力の帰還項があるかの一点に集約されます。FIR は非再帰・有限長・全ゼロ型で、出力は入力とインパルス応答の畳み込みそのもの。極を持たないため常に安定し、係数を対称に取れば厳密な線形位相(群遅延一定)が得られますが、急峻な特性には多タップ=大きな遅延と演算量を要します。IIR は再帰・無限長・極ゼロ型で、少ない次数で急峻な遮断と低遅延を実現しますが、極が単位円を外れると発散し、位相は一般に非線形で、係数量子化にも敏感です。したがって、位相直線性と無条件の安定性が要るなら FIR、計算量・遅延・資源が厳しく位相歪みを許せるなら IIR という、安全性と効率のトレードオフで選び分けます。畳み込みという演算そのものの数理は /ai/ の畳み込み解説も、フィルタが動くハードウェア基盤は /hardware-components/ も合わせて参照してください。
信号処理・制御 Article
FIRフィルタとIIRフィルタを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
DSP
比較で見る軸
難易度: advanced / カテゴリ: 信号処理・制御 / タグ数: 6
導入後に効く点
IIRは過去の出力も帰還させる再帰構造で、少ない係数で急峻な減衰を実現できる。伝達関数に極を持つため設計を誤ると発散し、位相は一般に非線形になる。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- 信号処理・制御
- タグ数
- 6
判断チェックリスト
- 自社の用途が「DSP / FIRフィルタ」に近いか確認する。
- 強みである「FIRは過去入力の有限個だけを重み付き加算する非再帰構造で、出力は入力とインパルス応答の畳み込みそのもの。係数を左右対称に取れば厳密な線形位相が得られ、極を持たないため常に安定する。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。