发布网友 发布时间:2022-10-15 05:33
共1个回答
热心网友 时间:2023-10-05 10:44
可以利用MATLAB1、先建立以知的传递函数假设传递函数为: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、用命令c2d:假设在输入端有一个零阶保持器,把连续时间的状态空间模型转到离散时间状态空间模型。[SYSD,G]=C2D(SYSC,Ts,METHOD)里面的method包括:zoh零阶保持,假设控制输入在采样周期内为常值,为默认值。foh一阶保持器,假设控制输入在采样周期内为线性。tustin采用双线性*近。matched采用SISO系统的零极点匹配法续上面例子G(z)=z^(-4)*(0.0001967z+0.0001935)/(z^2-1.951z+0.9512)=z^(-4)*[0.0001967z^(-1)+0.0001935z^(-2)]/[1-1.951z^(-1)+0.9512z^(-2)]=Y(z)/U(z)……(2)式在matlab里面离散化命令是:dsys=c2d(sys,0.001,'z');其中0.001为采样时间;在第一步写传递函数时如果里面有纯延迟环节,如下例写传递函数4、纯延迟系统G(s)=20e^(-0.02s)/(1.6s^2+4.4s+1)num=[20];den=[1.64.41];sys=tf(num,den,'inputdelay',0.02)