有限
インパルス応答(FIR)フィルタは、デジタルフィルタの一種であり、その
インパルス応答が有限時間でゼロになる特性を持つフィルタです。これは、入力信号として
クロネッカーのデルタ関数を与えた際、フィルタの出力が有限のサンプル数で収束することを意味します。対照的に、無限
インパルス応答(IIR)フィルタは、内部フィードバックにより応答が無限に続く可能性があります。
FIRフィルタの動作原理
FIRフィルタの基本的な動作は、以下の差分方程式で表されます。
math
y[n] = b_0x[n] + b_1x[n-1] + ... + b_Nx[n-N]
ここで、
`x[n]` は入力信号
`y[n]` は出力信号
`b_i` はフィルタ係数
`N` はフィルタ次数
を表します。この式は、現在の出力 `y[n]` が、現在の入力 `x[n]` と過去の `N` 個の入力サンプルに、それぞれ対応するフィルタ係数 `b_i` を乗じたものの総和で計算されることを示しています。`N` 次のFIRフィルタでは、`N+1`個の係数(タップ)を使用します。この計算は、入力信号とフィルタ係数との
畳み込み演算としても表現できます。
math
y[n] = \sum_{i=0}^{N} b_i x[n-i]
インパルス応答は、入力信号が
クロネッカーのデルタ関数 `δ[n]` である場合のフィルタの出力です。FIRフィルタの場合、
インパルス応答はフィルタ係数の集合 `b_n` (n=0からN) と一致します。
math
h[n] = \sum_{i=0}^{N} b_i \delta[n-i] = b_n
伝達関数
インパルス応答の
Z変換は、FIRフィルタの伝達関数 `H(z)` となります。
math
H(z) = \mathcal{Z} {h[n]} = \sum_{n=-\infty}^{\infty} h[n]z^{-n} = \sum_{n=0}^{N} b_n z^{-n}
安定性
FIRフィルタは、出力が有限個の入力の有限倍の総和であるため、有界入力に対して必ず有界な出力を返す(BIBO安定)ことが保証されています。これは、すべての極が原点に存在し、単位円内にあるためです。この安定性は、FIRフィルタが常に予測可能な動作をする上で重要な特性です。
FIRフィルタの利点
FIRフィルタは、IIRフィルタと比較して、いくつかの利点があります。
安定性: 常に安定であり、設計が容易です。
フィードバック不要: フィードバックがないため、丸め誤差が累積せず、計算精度を高く保てます。
線形位相: 位相特性を線形に設計することが可能で、信号の歪みを最小限に抑えられます。特にオーディオ処理や画像処理など、位相の正確さが重要なアプリケーションで有効です。
FIRフィルタの応用
FIRフィルタは、その特性から多くの分野で利用されています。
オーディオ処理: イコライザー、クロスオーバーフィルタ、ノイズリダクションなど。
画像処理: 画像の鮮鋭化、ぼかし、ノイズ除去など。
通信: チャネルイコライゼーション、データフィルタリングなど。
*
計測: データ平滑化、ノイズ除去など。
まとめ
FIRフィルタは、デジタル信号処理において非常に重要な役割を果たします。その安定性、線形位相特性、実装の容易さから、多くのアプリケーションで広く利用されています。これらの特性を理解することで、より効果的なフィルタ設計と信号処理が可能になります。