ディジタル信号処理講座 このページを見るときは固定等幅フォントを使用してください
FIR/IIR Filter の簡単な解説

ディジタルフィルタは大きく分けるとFIR(Finit-duration Impulse Response)フィルタとIIR(Infinite -duration Impulse Response)フィルタの2種類があります.
FIR フィルタはインパルス応答波形を入力した場合その出力はある決まった時間(有限時間)だけ出力が出ます.
IIR フィルタの場合その出力は無限にインパルス応答波形の減衰波形が出力されます.
この違いは下図においてFIR フィルタの場合 a0 〜 an の係数がすべて0であり,b0 〜 bn だけに係数が入力されることで左半分のフィードフォワード部分だけになります.
それに対し IIR フィルタは a0 〜 an , b0 〜 bn すべての係数が入力されることで,右半分のフィードバック部分が有効となります.
このために入力波形に対しフィードバックがかかるため減衰波形が無限に出力されるようになります.
-----+----|>--[+]-->[+]------+----->
     |    b0   A     A       |
   [Z-1]       |     |     [Z-1]
     |         |     |       |
     +----|>---|     |--<|---+
     ・    b1   |     |  a0   ・
     |         |     |       |
   [Z-1]       |     |     [Z-1]
     +----|>---+     +--<|---+
          bn            an

FIR による Low Pass Filter の簡単な例

Low Pass Filter は平均値フィルタで表すことが出来る. 下図に示す簡単な FIR フィルタで説明をする.

入力 X における中心の信号を b とし,1つだけ早い信号を c, 1つだけ遅い信号を a とする. ここで a, b, c の平均値 Y は Y=( a + b + c )/3 である. つまり FIR フィルタでも同様に表現をすればよいことになる.

     o  o
  o  |  |  o
  |  |  |  |
  ------------o--
     a  b  c      -> t
下図に示す簡単な FIR フィルタにおいて,上図の信号 {a,b,c} は {h2,h1,h0} とする. ここで係数{b2,b1,b0} にしかるべき係数をいれることで平均値を表現する.

下図の FIR フィルタの 出力 Y は Y = (h0+h1+h2) で示される.
それぞれの {h2,h1,h0} は {(b2・X2),(b1・X1),(b0・X2)} であるので,しかるべき係数をあたえることで出力値をえることがわかる. 平均値の場合係数 {b2,b1,b0} をそれぞれ 1/3 とすることで,平均値を表現することが可能となる. つまり Y = {(X2/3)+(X1/3)+(X0/3)} であり,この係数{b2,b1,b0}によって平均値を表すことが可能となる.

    X0     h0
X ---+------|>-----[+]--> Y
     |      b0      A
   [Z-1] X1     h1  |
     +------|>------+
     |      b1      |
   [Z-1] X2     h2  |
     +------|>------+
            b2
FIR による High Pass Filter の簡単な例

High Pass Filter は差分で表すことが出来る. この部分に関しては種々の文献を参照されたい(ちなみにそのうち理論的に記述を行う).

入力 X における中心の信号を上図から b とし,1つだけ遅い信号を a とする. ここで 信号 b における差分値 Y は Y = (b-a) で示される.

FIR フィルタで同様に表現をする.
上図の FIR フィルタの構成において 信号{a,b,c} は {h2,h1,h0} で示される. ここで差分値 Y を算出するには {X2,X2,X0} に対する係数{b2,b1,b0} にしかるべき係数を与えればよい. ここで b-a を実現するには,係数{b2,b1,b0} に{-1,1,0} を与えることで差分値を表現できる. つまり Y = (-X2 + X1 + 0 ) となり,差分が表現できることになる.


以上非常に簡単であるが,FIR フィルタに限らず,ディジタルフィルタは係数の重みによって種々のフィルタ特性を表現出来ることは直感的に理解できる.

文献


前に戻る