由连续传递函数模型怎么得到差分方程主要是考虑到广义预测控制中的CARMA模型,已经知道系统的传递函数,如何能得到这个模型?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 07:50:08
由连续传递函数模型怎么得到差分方程主要是考虑到广义预测控制中的CARMA模型,已经知道系统的传递函数,如何能得到这个模型?
由连续传递函数模型怎么得到差分方程
主要是考虑到广义预测控制中的CARMA模型,已经知道系统的传递函数,如何能得到这个模型?
由连续传递函数模型怎么得到差分方程主要是考虑到广义预测控制中的CARMA模型,已经知道系统的传递函数,如何能得到这个模型?
可以利用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)