私は信号処理の初心者です。離散畳み込み演算が FIR フィルターに使用されることを理解しています。畳み込み式y[n] = x[n] * h[n] = sum(x[k] x h[n-k])
では、右側には明らかに がありませんy[n]
。この畳み込み演算の定義により、 IIR フィルターは右側で参照できるため、一般に IIR フィルターには使用されないと仮定するのは正しいですか?y[]
2 に答える
信号処理の基本的な結果は、任意の LTI フィルター (FIR または IIR) を入力とインパルス応答の畳み込みとして表すことができるということです。
y[n] = x[n] * h[n]
ここで、FIR フィルター (または「オール ゼロ フィルター」) は、h[n]
制限付きのサポートを備えたフィルターです。つまり、ゼロ以外の係数の有限数(名前の由来) を持ちます。したがって、出力は、入力の (有限) 線形結合、または有限畳み込みで表すことができます。対照的に、IIR には無限の係数があるため、出力は依然として入力の畳み込み (または線形結合) ですが、無限の項があります。もちろん、畳み込みを数値的に実装する必要がある場合、有限数の項がない限り、明示的に実行することはできません。
簡単な IIR の例はy[n] = y[n-1]/2 + x[n]
(1)です。
この IIR フィルターのインパルス応答は、減少する指数関数 ですh[n]= (1/2)^n (n>0)
。これは、入出力を次のように表すことができることを意味します。
y[n] = x[n] + x[n-1]/2 + x[n-2]/4 + x[n-3]/8 + ....
(2)
これも検査でわかります。ここで、最初の形式 (1) は再帰的であり、フィルターを数値的に実装する自然な方法です (唯一のものではありません)。2 番目の形式 (2) は非再帰的 (ただし、無限項があります) であり、畳み込みを明示的に示し y[n] = x[n] * h[n]
ます。概念的には重要ですが、もちろん、実行可能な実装方法ではありません。
表記は少し奇妙ですが、IIR フィルターに関する記述は正しいです。IIR フィルターは、畳み込みではなく差分方程式を使用して実装されます。
このブログ投稿に興味があるかもしれません: http://blog.bjornroche.com/2012/08/basic-audio-eqs.html