2016-07-12 7 views
0

私は伝達関数a1s + a2 /(b1s + b2)を、tf([a1 a2 ]、[b1 b2])。 Tsはサンプリング周波数とFXでMatlabを使用した一般的な伝達関数の実装

value(n)=value(n-1)+a1*fx*Ts; 

を統合する必要がある関数です。たとえば、私は私のような何かをするだろう知っているA1 /秒を実現したい場合。 A3 * sの私は、次の操作を行います:

output=value(n)-lastvalue(n); 
    lastvalue(n)=value(n); 

しかし、私は、私は一般的な実装できるか疑問に思って(A1の* Sを+ A2)/(B1 * sでの+のB2)

感謝を

答えて

0

まず、sドメインからzドメイン(離散)への変換方法に同意します。双一次変換を使用して、

2/T * (z-1)/(z+1). 

を代入します。これは双線形変換です。方程式を解き、zの最高次数で除算します。 z^-nについては、それは以前の "n"サンプルです。

+0

私はバイリニア変換について知っていますが、ここでTはサンプリング周波数です。どのようにそれを選ぶのですか?反復的に値を計算するためにループが2/T毎に乗算されるべきであり、これが明らかに答えを変えるからです。 – justin

+0

また、初期条件にも依存するため、デリバティブ用語についてはどうしますか – justin

関連する問題