ディジタル信号処理 ディジタルフィルタの周波数応答と伝達関数

LTIシステムの動作はインパルス応答によって記述されますが、ディジタルフィルタに求められる動作は特定の周波数帯域を通過し、それ以外の周波数帯域を遮断するということが求められます。したがって、周波数軸上でのシステムの応答を考えます。

複素指数関数入力に対する応答

任意の周波数の正弦波入力に対する応答を計算する場合、複素正弦波が用いられます。これは線形なシステムでは、正弦波入力に対して、出力周波数は変化せず、振幅と位相のみを変化させるため、振幅と位相の両方を一度に扱える複素数が便利という理由で用いられています。

角周波数ωの複素指数関数ejωnを入力したときのディジタルフィルタの入出力関係を考えます。このとき、入力は次式で与えられます。

x[n]=ejωn

この入力信号をディジタルフィルタh[n]に入力することを考えます。このとき、畳み込みの式から次式が得られます。

y[n]=k=h[k]x[nk]

=k=h[k]ejω(nk)

={k=h[k]ejωk}ejωn

ここで、

H[ω]=k=h[k]ejωk

とすると、ディジタルフィルタの出力を次式で記述することができます。

y[n]=H[ω]ejωn

上式に対して、複素数の振幅|H[ω]|と位相θ[ω]を用いて表すと次式のようになります。

H[ω]=|H[ω]|ejθ[ω]

したがって、出力は

y[n]=H[ω]ejωn

=|H[ω]|ejθ[ω]ejωn

=|H[ω]|ejω(θ[ω]/ω+n)

この式からも、出力と入力は同じ周波数を持つことがわかります。

さらに、出力の振幅は|H[ω]|によって表されていることもわかります。また、入力に比べて出力は時間的にθ[ω]/ωだけ進んでおり、逆の表現では、入力に比べて出力はθ[ω]/ωだけ遅れていることを表しています。

このことから、ディジタルフィルタに複素正弦波を入力したときの応答はH[ω]でわかります。このことから、H[ω]のことをディジタルフィルタの周波数応答と呼ばれます。これに色々な角周波数を入力してみて出力を調べてみれば、ある角周波数ωに対する応答がわかります。

周波数応答は一般に複素数です。また、特にその応答の大きさ(振幅)を表す|H[ω]|は振幅特性と呼ばれ、θ[ω]を位相特性と呼ばれます。

フーリエ変換の立場からは、|H[ω]|θ[ω]はそれぞれ、振幅スペクトルと位相スペクトルと呼ばれます。

差分方程式表現によるディジタルフィルタの周波数応答

ディジタルフィルタの差分方程式は次式で表されます。

y[n]=k=1Naky[nk]+k=0Nbkx[n]

これに対して、複素正弦波を入力することを考えます。x[n]=ejωnとおくと、x[nk]=ejω(nk)およびy[nk]=y[n]ejωkとなります。

再帰形フィルタ(IIRフィルタ)の周波数応答

上式より、再帰形フィルタに複素正弦波を入力することを考えると、次式が得られます。

y[n]=k=1Naky[n]ejωk+k=0Nbkejω(nk)

これを式変形すると、

y[n]+k=1Naky[n]ejωk=k=0Nbkejω(nk)

y[n](1+k=1Nakejωk)=k=0Nbkejωkejωn

y[n]=k=0Nbkejωk1+k=1Nakejωkejωn

となります。ここで、

H[ω]=k=0Nbkejωk1+k=1Nakejωk

とおくと、

y[n]=H[ω]ejωn

となります。上式で与えられるH[ω]が再帰形フィルタの周波数応答を表します。この式からわかるように、係数ak,bkによって周波数応答が決定されます。

非再帰形フィルタ(FIRフィルタ)の周波数応答

非再帰形の周波数応答は上式のak=0とすると得ることができます。

H[ω]=k=0Nbkejωk

非再帰形フィルタのインパルス応答はh[k]=b[k]であることを用いると、上の式はインパルス応答を用いて次式で表されます。

H[ω]=k=0Nh[k]ejωk

伝達関数(Transfer function)

ディジタルフィルタの入力x[n]のz変換X[z]に対する、出力y[n]のz変換Y[z]の比、

Y[z]X[z]

を、ディジタルフィルタの伝達関数(transfer function)といいます。

上記で、示したディジタルフィルタの差分方程式を考えます。この方程式の両辺にz変換を適用することを考えます。

y[n]=k=1Naky[nk]+k=0Nbkx[n]

Z[y[z]]=n=0(k=1Naky[nk]+k=0Nbkx[n])zn

線形性より

=k=1Nakn=0y[nk]zn+k=0Nbkn=0x[n]zn

ここで、線形性と推移の性質から

Y[z]=k=1NakY[z]zk+k=0NbkX[z]zk

したがって、ディジタルフィルタの伝達関数H[z]=Y[z]/X[z]は、

H[z]=Y[z]X[z]=k=0NbkX[z]zk1+k=1NakY[z]zk

と求めることができます。このように表すと、伝達関数H[z]は入力X[z]H[z]倍だけ増幅して出力Y[z]が得られるという解釈ができます。この意味でディジタルフィルタの増幅率と考えることができます。

ただし、増幅率はH[z]なので、定数ではなくzの関数ということになります。

ディジタルフィルタの伝達関数H[z]z=ejωを代入すると、関数H[z]はディジタルフィルタの周波数応答となる。これは、再帰形フィルタの周波数応答と同じ式になっています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする