有限インパルス応答

有限インパルス応答(ゆうげんインパルスおうとう、: finite impulse response, FIR)は、デジタルフィルタの一種である。クロネッカーのデルタ入力に対するフィルタの応答特性であるインパルス応答が「有限」であるとは、有限個の標本でゼロに安定することを意味する。対照的に無限インパルス応答フィルタでは、内部フィードバックがあり、無制限に応答し続ける可能性がある。N次FIRフィルタは、インパルスに対して N+1 個の標本まで応答が持続する。

概要

入力信号と出力信号の関係を定義する差分方程式は以下のようになる。

  y [ n ] = b 0 x [ n ] + b 1 x [ n 1 ] + + b N x [ n N ] {\displaystyle \ y[n]=b_{0}x[n]+b_{1}x[n-1]+\cdots +b_{N}x[n-N]}

ここで x [ n ] {\displaystyle x[n]} は入力信号、 y [ n ] {\displaystyle y[n]} は出力信号、 b i {\displaystyle b_{i}} はフィルタ係数である。 N {\displaystyle N} を「フィルタ次数(filter order)」という。 N {\displaystyle N} 次フィルタの場合、右辺に ( N + 1 ) {\displaystyle (N+1)} 個の項がある。これらの項を一般に taps(タップ)という。

上記の方程式は、フィルタ係数と入力信号の畳み込みとして表現することもできる。

  y [ n ] = i = 0 N b i x [ n i ] {\displaystyle \ y[n]=\sum _{i=0}^{N}b_{i}x[n-i]}

インパルス応答を求めるには、以下のようにする。

  x [ n ] = δ [ n ] {\displaystyle \ x[n]=\delta [n]}

ここで δ [ n ] {\displaystyle \delta [n]} クロネッカーのデルタインパルスである。FIRフィルタのインパルス応答は、以下のような係数 b n {\displaystyle b_{n}} の集合(n は 0 から N)である。

h [ n ] = i = 0 N b i δ [ n i ] = b n {\displaystyle {\begin{aligned}h[n]&=\sum _{i=0}^{N}b_{i}\delta [n-i]\\&=b_{n}\end{aligned}}}

インパルス応答のZ変換は、FIRフィルタの伝達関数となる。

H ( z ) = Z { h [ n ] } = n = h [ n ] z n = n = 0 N b n z n {\displaystyle {\begin{aligned}H(z)&={\mathcal {Z}}\{h[n]\}\\&=\sum _{n=-\infty }^{\infty }h[n]z^{-n}\\&=\sum _{n=0}^{N}b_{n}\,z^{-n}\end{aligned}}}

出力は有限個の入力の有限倍の総和であるため、FIRフィルタは明らかに有界入力-有界出力(BIBO)安定であり、入力の実際の最大値の | b i | {\displaystyle \sum |b_{i}|} 倍以上にはならない。

特性

FIRフィルタは、無限インパルス応答フィルタに比較して好ましいとされるいくつかの特性を持つ。

  • FIRフィルタは本質的に安定している。これは全ての極が原点にあり、したがって単位円内にあるためである。
  • FIRフィルタはフィードバックを必要としない。これは、丸め誤差が反復によって蓄積されないことを意味する。同じ相対誤差が計算ごとに生じる。
  • 線形位相となるよう設計可能である。すなわち、位相変化が周波数に比例するように設計できる。これは位相が重要となるような応用で必要となる特性であり、クロスオーバーフィルタ(オーディオスピーカーで複数の音域毎のスピーカーに信号を振り分けるフィルタ)や透過的フィルタリングが妥当なマスタリングなどがある。

関連項目

外部リンク

  • FIR FAQ
  • BruteFIR デジタル音響向けのFIRフィルタ・ソフトウェア
  • Freeverb3 Reverb Impulse Response Processor