- 締切済み
一次遅れフィルタをコンピュータで演算
一次遅れフィルタは,伝達関数1/(1+sT)で表され、微分方程式ではT(dy/dt)+y(t)=x(t)となりますが、(x:入力、y:出力、T:時定数)これをコンピュータで演算する場合はどういう式になるんでしょうか?つまり、連続時間でなく、ある時間幅で計算する場合です。自分でも考えたんですが、行き詰ってしまいました。微分方程式を解いて差分法で離散化しようと考えたのですが、微分方程式がうまく解けませんでした。そこで、伝達関数を逆ラプラス変換すればよいかなと思いました、結果がy={(1/T)exp(-t/T)}xとなりましたが、この結果だと時間を無限大に持っていくとyがゼロに収束してしまいます。正しければ、y=xとなるはずですよね? 数学も制御工学もあまり得意ではないので、質問がつたないかもしれませんが、宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- foobar
- ベストアンサー率44% (1423/3185)
1.伝達関数を逆ラプラス変換すると、t->∞でy=0になる なります。というのは、伝達関数の逆ラプラス変換(g)は、xにインパルス(t=0以外でx=0)を入れたときの出力に相当していますので。 任意の入力信号xに対する出力yは、xとgの畳み込み積分となります。 2.コンピュータで演算する場合 時間離散に変換するにはいくつか方法があると思います。 a. 微分方程式を差分方程式で近似する 例えば、簡単には dy/dt-> {Y(n)-Y(n-1)}/T (Tはサンプリング間隔)で近似してやれば、差分方程式になります。 b. sz変換をする。 伝達関数で例えば双一次変換(sT=(1-z)/(1+z)と置くんだったかな)してやれば、離散領域での伝達関数に近似的に変換できます。 で、これを計算する方法ですが、 Y=GXの形からΣ(an z^(-n)) Y=Σ(bn z^(-n))X の形に変形して、計算するか G=Σ(an z^(-n)) の形に多項式展開(近似)して、 Y(m)=Σ(an X(m-n))の計算をする(ちょうど、連続系で畳み込み積分を使うって計算するのと類似の処理)ことになるかと思います。
お礼
回答ありがとうございます。 伝達関数の逆ラプラス変換の事は、勉強不足でした。 微分方程式で dy/dt-> {Y(n)-Y(n-1)}/T として、 式をまとめると、y(n)={Ts*x+Tf*y(n-1)}/(Tf+Ts)となりました。x:入力、y(n):今回出力値、y(n-1):前回出力値、Ts:サンプリング間隔[s]、Tf:フィルタ時定数[s] この式をエクセルを使って、ステップ入力に対する応答を描いてみたところ、きっちり一次遅れになってました。 z変換については、まったく知らないのでこれから勉強しようかと思います。