FIRフィルタの定義

FIR フィルタの定義
インパルス応答 h[i] が無限に続くディジタル線形フィルタの場合はたたみ込み演算が無限の for ループになるため、プ
ログラミングにより出力を求める事が出来ません。
従ってディジタル線形フィルタをプログラミングで作成するためにはインパルス応答が有限個でなければいけません。
そのようなディジタル線形フィルタの事を「FIR フィルタ: 有限インパルス応答フィルタ」と言います。
定義: FIR (Finite Impulse Response)、有限インパルス応答フィルタ
L を有限の正整数とした時、 L 番目以降のインパルス応答が 0 であるディジタル線形フィルタのことで、C 言語
では次のような有限個のたたみ込み演算で作ることが出来る。
for( i = 0; i < N; ++i ){
y[i] = 0;
for( int j = 0; j < L; j++ ) y[i] += h[j] * x[i-j];
}
ここで N は信号長 (=データ数) である。また L を「フィルタ長」「フィルタ次数」「タップ数」などという。また
インパルス応答 h[i] を「フィルタ係数」と呼ぶ場合もある。
FIR フィルタは「構造が簡単」「線形位相特性を持つ (※)」「安定である」というメリットがあるので世の中で広く使
われていまが、「演算量が多い」というデメリットもあります。
※ 入力した信号と出力した信号の形が大きく変わらないという性質の事です。詳しくは自分で調べて下さい。
1