《控制系统数字仿真与cad》第4章连续系统按环节离散化的数字仿真课件

上传人:我*** 文档编号:142234621 上传时间:2020-08-18 格式:PPT 页数:39 大小:300KB
返回 下载 相关 举报
《控制系统数字仿真与cad》第4章连续系统按环节离散化的数字仿真课件_第1页
第1页 / 共39页
《控制系统数字仿真与cad》第4章连续系统按环节离散化的数字仿真课件_第2页
第2页 / 共39页
《控制系统数字仿真与cad》第4章连续系统按环节离散化的数字仿真课件_第3页
第3页 / 共39页
《控制系统数字仿真与cad》第4章连续系统按环节离散化的数字仿真课件_第4页
第4页 / 共39页
《控制系统数字仿真与cad》第4章连续系统按环节离散化的数字仿真课件_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《《控制系统数字仿真与cad》第4章连续系统按环节离散化的数字仿真课件》由会员分享,可在线阅读,更多相关《《控制系统数字仿真与cad》第4章连续系统按环节离散化的数字仿真课件(39页珍藏版)》请在金锄头文库上搜索。

1、1,第四章 连续系统按环节离散化的数字仿真,本章内容 (1)系统中各种典型环节的离散系数及其 差分方程的确定; (2)典型非线性环节的MATLAB的描述; (3)非线性连续系统的各连接矩阵和典型环节 系数矩阵的确定; (4) 非线性连续系统的数字仿真方法。,2,上章所述的连续系统数学模型的离散化,是通过数值积分法实现的,尽管面向结构图的仿真方法是按环节给定参数,但是在计算时还是按整个系统进行离散化,这就不便于引进非线性环节以进行非线性系统的仿真。在本章,连续系统离散模型的建立,将用控制理论中的采样和信号重构技术,3,4.1 连续系统的离散化,设连续系统的状态空间表达式为 (4-1) 其状态方程

2、的解为,4,对于kT及(k1)T两个相邻的采样时刻,状态变量的值分别为 由以上两式可得 令=kT+t则上式可得 (4-2),5,当系统输入u(t)给定时,便可根据式(4-2)求出系统离散化状态方程的解。由于u(t)一般为时间t的函数,而且是未知的,故对于两相邻采样时刻之间的输入u(kT+t)常用以下两种方法近似处理。 1.令 这相当于在系统的输入端加了一个采样开关和零阶保持器。,6,根据式(4-2)可得系统离散化后的状态方程 或 式中,7,2令 这相当于在系统的输入端加了一个采样开关和一阶保持器。 根据式(4-2)可得离散化后的状态方程,8,或 式中,9,输出变量的差分方程,可由式(4-1)给

3、出的输出方程直接确定,即有 (4-3) 对于以上差分方程,当系数矩阵G,H,C,D及已知时,利用迭代法便可很容易地求得系统的输出响应。 利用MATLAB 的相应函数,便可很容易地求出系统离散化的系数矩阵G,H,C,D和。,10,4.2 典型环节的离散系数及其差分方程,上节介绍了连续系统离散化的方法,此方法尽管仿真精度较高,但对阶次较高的系统,求取G, H和阵并非易事,再加上它也是按系统进行离散化的,不适用非线性系统。故本节将讨论按典型环节建立离散模型,所谓按典型环节离散化,就是将系统分成若干个典型环节,在每个典型环节的入口处加一个虚拟的采样开关,并立即跟一个信号重构过程,以便使信号恢复为连续形

4、式。,11,设典型环节的输入和输出分别为u(t)和x(t),则拉普拉斯变换之比为 即 对上式进行拉氏反变换得 (4-4) 为了把式(4-4)表示的微分方程转变为差分方程,在典型环节前要加虚拟的采样开关和保持器进行离散化,如图4-1所示。,12,由此可见,典型环节离散化后,环节的输入uh(t)就与原来的输入u(t)不同,两者的相似程度与采样时间T及保持器的特性有关。 下面推导典型环节加了虚拟的采样开关和滞后一拍三角形保持器后的差分方程及其系数的确定。,13,假设采用滞后一拍的三角形保持器,则保持器的输出(也即典型环节的输入)uh(t)为 (4-5) 当t=(k+1)T时 (4-6),14,今对典

5、型环节中系数a,b,c,d的不同情况,求离散状态变量式输出量的解。 1当a0,b=0(相应有比例、微分和比例微分等环节)时,由式(4-4)可得 将t=(k+1)T , 代入上式,并考虑到典型环节离散化后,输入由u(t) 变为uh(t) 故有 将式(4-6)代入上式得 (4-7),15,2当a0,b0(相应有惯性、比例惯性、超前或滞后等环节)时,由式(4-4)得 令 (4-8) 则上式可变为 令 (4-9) 则有,16,其解为 离散化后的解为 (4-10) 将式(4-5),(4-9)代入上式得 由式(4-8)和式(4-6)两式可得 (4-11),17,3若a =0,b0时,由式(4-4)得 (4

6、-13) 将 代入式(4-10)后可得 同样由式(4-8)和式(4-6)两式可得 (4-14),18,今将以上三种情况下的典型环节的仿真模型归纳为一个统一公式 (4-15) 其中 E,F,G,H,L,Q是差分方程的系数,它们的数值根据典型环节系数a,b不同情况,可由表4-2确定。,19,表4-1,表4-1 E,F,G,H,L,Q的系数,20,4.3 非线性系统的数字仿真方法,上节讨论的按环节离散化的仿真方法,每一个计算步长,各环节的输入和输出都要重新计算一次,因此,这种仿真方法可以很方便的推广到具有非线性环节的系统中。由于实际控制系统中的非线性特性各种各样,无法用一个最基本的环节来代表,因此,

7、本节主要介绍四种最常见的非线性环节的仿真模型。,21,1. 饱和非线性特性 图4-2所示饱和非线性环节的数学描述为,22,根据上述关系,由MATLAB编写的饱和非线性函数saturation.m为 function x=saturation(u,s) if (abs(u)=s) if (u0) x= s; else x=-s; end else x= u; end,23,2. 死区非线性特性 图4-3所示死区非线性环节的数学描述为,24,根据上述关系,由MATLAB编写的死区非线性函数deadzone.m为 function x=deadzone(u,s) if (abs(u)=s) if (

8、u0) x=u-s; else x= u+s;end else x=0; end,25,3滞环非线性特性 图4-4所示滞环非线性环节的数学描述为,26,根据上述关系,由MATLAB编写的滞环非线性函数backlash.m为 function x,u1=backlash(u1,u,x1,s) if (uu1) if (u-s)=x1) x=u-s;else x=x1;end else if (uu1) if (u+s)=x1) x=u+s;else x=x1;end else x=x1; end end u1=u; 其中 u1和u分别为k-1和k时刻的输入量,x1和x 分别为k-1和k时刻的输出

9、量。,27,4继电器非线性特性 图4-5所示的继电器非线性环节的数学描述为,28,根据上述关系,由MATLAB编写的继电器非线性函数sign.m为 function x=sign(u,s) if (u0) x = s; end if (u0) x=- s; end 以上几种非线性环节的共同特点是都只需一个参数s就能反映出该环节的非线性特点。不过要注意到,各种非线性环节的放大参数均假定为1,若不为1,则将其设法合入其前后的线性环节中。,29,4.4 连续系统按环节离散化的数字仿真程序,使用该方法对连续系统进行仿真时,同第三章中必须首先根据系统的结构图写出各典型环节的参数矩阵P、连接矩阵W、W0和

10、Wc 。另外,本仿真方法为了说明问题,在程序中只考虑饱和、死区、滞环和继电器四种典型非线性特性,并规定非线性环节不单独作为一个仿真环节,而根据系统结构情况,把非线性环节添加到相应的线性典型环节之前或之后。因此,对于有非线性环节的系统并不增加典型环节数,这样对于每个典型环节除给定参数a,b,c,d外,还要给出其附加的非线性环节标志FZ和参数s 。非线形环节标志如表4-3所示。,30,表4-2 非线性环节标志,31,一般将非线性环节标志FZ和参数s统一增加到典型环节参数矩阵P中,即 连续系统按环节离散化的数字仿真程序通过下例给出,其框图如图4-6所示。,32,33,例4-1 已知非线性系统如图4-

11、7所示, 求输出量y的动态响应。,34,解 根据系统结构图可得,35,仿真程序Example4_1.m如下,%Example4_1.m R=10; P= 0.1 1 0.5 1 3 1; 0 1 1 0 0 0; 2 1 2 0 0 0;10 1 10 0 0 0; W=0 0 0 1; 1 0 0 0; 0 1 0 0; 0 0 1 0; W0=1;0;0;0; Wc=0 0 0 1; Tf=input(仿真时间Tf=); T=input(计算步长h=); A=P(:,1);B=P(:,2);C=P(:,3);D=P(:,4); FZ=P(:,5);S=P(:,6); n=length(A)

12、;,36,for i=1:n if (A(i)=0) if (B(i)=0) E(i)=0;F(i)=0;G(i)=0;H(i)=0; L(i)=(C(i)+D(i)/T)/A(i);Q(i)=-D(i)/(A(i)*T); else E(i)=exp(-A(i)*T/B(i); F(i)=(D(i)/B(i)-C(i)/A(i)*(1-E(i)*B(i)/(A(i)*T)-1); G(i)=(D(i)/B(i)-C(i)/A(i)*(1+(E(i)-1)*(1+B(i)/(A(i)*T); H(i)=1;L(i)=D(i)/B(i);Q(i)=0; end else if (B(i)=0)

13、E(i)=1;F(i)=0.5*C(i)*T/B(i);G(i)=F(i); H(i)=1;L(i)=D(i)/B(i);Q(i)=0; else disp(A(i)=B(i)=0); end end end,37,x=zeros(length(A),1);x0=x;z=x; u=zeros(length(A),1);u0=u; y=zeros(length(Wc(:,1),1);t=0; for j=1:Tf/T u1=u; u=W*x+W0*R; for i=1:n if (FZ(i)=0) if (FZ(i)=1) u(i)=saturation(u(i),S(i);end if (FZ

14、(i)=2) u(i)=deadzone(u(i),S(i);end if (FZ(i)=3) u(i),u0(i)=backlash(u0(i),u(i),u1(i),S(i); end if (FZ(i)=4) u(i)=sign(u(i),S(i);end end end x1=x;,38,for i=1:n z(i)=E(i)*z(i)+F(i)*u(i)+G(i)*u1(i); x(i)=H(i)*z(i)+L(i)*u(i)+Q(i)*u1(i); end for i=1:n if (FZ(i)=0) if (FZ(i)=5) x(i)=saturation(x(i),S(i);end if (FZ(i)=6) x(i)=deadzone(x(i),S(i);end if (FZ(i)=7) x(i),x0(i)=backlash(x0(i),x(i),x1(i),S(i); end if (FZ(i)=8) x(i)=sign(x(i),S(i);end end end y=y,Wc*x; t=t,t(j)+T; end plot(t,y),39,取仿真时间:Tf=10计算步长:h=0.025 在MATLAB环境下执行以上程序可得如图4-7所示的仿真曲线。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号