由连续传递函数模型怎么得到差分方程

问题描述:

由连续传递函数模型怎么得到差分方程
主要是考虑到广义预测控制中的CARMA模型,已经知道系统的传递函数,如何能得到这个模型?
1个回答 分类:综合 2014-10-01

问题解答:

我来补答
可以利用MATLAB
1、先建立以知的传递函数
假设传递函数为: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.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为采样时间;
在第一步写传递函数时 如果里面有纯延迟环节,如下例写传递函数
4、纯延迟系统G(s)=20e^(-0.02s)/(1.6s^2+4.4s+1)
num=[20];
den=[1.6 4.4 1];
sys=tf(num,den,'inputdelay',0.02)
 
 
展开全文阅读
剩余:2000
下一页:fx的解析式