電子書籍の厳選無料作品が豊富!

デジタルフィルターの伝達関数を、求めようとしているのですが上手くいきません。

計算過程が間違っているのか、単なる計算ミスなのかが分かりません。
どなたかご教授ください。

yahoo知恵袋の過去質問より
http://detail.chiebukuro.yahoo.co.jp/qa/question …


>a0=0.293
>a1=0.293
>b1=-0.414
>fc=500[Hz],T=0.25[ms]

>1次IIRフィルタの場合は、
>H(ω)=(a0+a1e^(-jωT))/(1+b1z^(-jωT))

>あとは、
>e^(-jωT)=cos(ωT)-jsin(ωT)
>ω=2πf
>を代入して、複素数の計算です。

計算すると
>100Hz:-0.15387[dB]

複素数の計算過程がよく分からないです。
今、このように行っているのですが、この計算過程で正しいのでしょうか。

ω=2πf でf=100であるため
 e^(-jωT)=cos(ωT)-jsin(ωT)
を計算。

結果を代入し計算すると
 H(ω)=(a0+a1e^(-jωT))/(1+b1z^(-jωT))
 H(ω) = aa + jbb     (aaとbbには計算結果の数字が入る)
という計算結果が出てくる。

デシベルに変換する
 20*log10( aa^2 + bb^2 )

何か、計算過程で問題あるでしょうか。
単なる計算ミスでしょうか。

A 回答 (3件)

>ω=2πf でf=100であるため e^(-jωT)=cos(ωT)-jsin(ωT) を計算。


>結果を代入し計算すると H(ω)=(a0+a1e^(-jωT))/(1+b1z^(-jωT)) H(ω) = aa + jbb     (aaとbbには計算結果の数字が入る) という計算結果が出てくる。
>デシベルに変換する 20*log10( aa^2 + bb^2 )

その計算過程で正しい、と思います。
位相特性も出したければ、複素数計算するほうが二度手間になりませんから。
デシベル変換は、10*log_10 (aa^2 + bb^2) で。

引用のパラメータを使って試算してみると、確かに、
>100Hz:-0.15387[dB]
になりますネ。

  
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

試算までしていただき、大変恐縮です。
計算過程は、正しいのですね!!(デシベル変換は、少し間違っていたみたいですが)
もう一度、計算してみます。ありがとうございました。

お礼日時:2012/09/29 10:01

>1次IIRフィルタの場合は、


>H(ω)=(a0+a1e^(-jωT))/(1+b1z^(-jωT))

振幅応答らしいので、
 ||H(jω)|| = H(jω)*H(-jω)
を勘定するのでしょうね。

一次項ごとに、
 {p + q*e^(-jωT)}{p + q*e^(jωT)}
 = p^2 + q^2 + 2pq*cos(ωT)
の形で計算し、(割り算のあと)
 10*log_10 (||H(jω)||)

  
    • good
    • 0
この回答へのお礼

回答ありがとうござます。

>||H(jω)|| = H(jω)*H(-jω)

>一次項ごとに、
>{p + q*e^(-jωT)}{p + q*e^(jωT)}
>= p^2 + q^2 + 2pq*cos(ωT)

なるほど、こういう方法(考え?)がやりやすいのですね。
もう一度、計算してみます。ありがとうございました。

お礼日時:2012/09/29 09:55

デシベルは、20log|H(ω)|となってますが、絶対値のルートを外しているので10log(aa^2+bb^2)とならないですか?

    • good
    • 0
この回答へのお礼

回答ありがとうございます。

確かに、その通りですね。ご指摘ありがとうございます。

お礼日時:2012/09/29 09:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!