1、S域传递函数
假设传递函数为:G(s)=exp^(-0.004s)*400/(s^2+50s);
其中^后表示指数,如:2^3=8;4^2=16;
在matlab里面建立这个传递函数的命令就是:sys=tf(400,[1,50,0],'inputdelay',0.004);
2、Z域传递函数
把传递函数离散化就得到脉冲传递函数
G(z) =z^(-4) *( 0.0001967 z + 0.0001935)/(z^2 - 1.951 z + 0.9512)
= z^(-4) *[0.0001967z ^(-1)+0.0001935z^(-2)]/[ 1 - 1.951 z^(-1) + 0.9512z^(-2)] =Y(z)/U(z)……(2)式
在matlab里面离散化命令是:dsys=c2d(sys,0.001,'z');其中0.001为采样时间;
(2)式可写成:
z^(-4) *[0.0001967 z ^(-1)+0.0001935z^(-2)] U(z) = [ 1 - 1.951 z^(-1) + 0.9512z^(-2)] Y(z) (3)式
3、差分方程形式
由(3)式可得
0.0001967 z ^(-5)+ 0.0001935z^(-6)]U(z) = [1 - 1.951 z^(-1) + 0.9512z^(-2)] Y(z) (4)式
把(4)式得z^(-n)中的(-n)写成(k-n),如z^(-5)U(z)写成u(k-5),可得:
0.0001967 u(k-5)+ 0.0001935u(k-6)= y(k) -1.951 y(k-1) + 0.9512y(k-2) (5)式
由(5)式得
y(k) = 1.951 y(k-1) -0.9512y(k-2)+0.0001967 u(k-5)+ 0.0001935u(k-6)
即差分方程形式
[num,den]=tfdata(dsys,'v')这个命令其实就是取式(2)的分子分母