控制系统计算机仿真课件ch3采样控制系统的数字仿真

上传人:w****i 文档编号:91976077 上传时间:2019-07-05 格式:PPT 页数:45 大小:1.83MB
返回 下载 相关 举报
控制系统计算机仿真课件ch3采样控制系统的数字仿真_第1页
第1页 / 共45页
控制系统计算机仿真课件ch3采样控制系统的数字仿真_第2页
第2页 / 共45页
控制系统计算机仿真课件ch3采样控制系统的数字仿真_第3页
第3页 / 共45页
控制系统计算机仿真课件ch3采样控制系统的数字仿真_第4页
第4页 / 共45页
控制系统计算机仿真课件ch3采样控制系统的数字仿真_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《控制系统计算机仿真课件ch3采样控制系统的数字仿真》由会员分享,可在线阅读,更多相关《控制系统计算机仿真课件ch3采样控制系统的数字仿真(45页珍藏版)》请在金锄头文库上搜索。

1、第3章 采样控制系统的数字仿真,1,上一页,下一页,返回,2,本章内容,采样控制系统特点,采样系统仿真方法,差分方程递推求解法,双重循环法,Matlab在采样系统仿真中的应用,3,计算机控制系统结构图,3.1.1 采样控制系统及其特点,工作原理: 图中,输入模拟给定r(t)经采样器(离散化)和A/D转换器(数字量化)得到离散的数字给定r(kT) ,而被控量y(t)经采样器和A/D转换器后得到离散的数字反馈y(kT) ;然后用r(kT)减y(kT)即得离散的误差数字信号e(kT)=r(kT)-y(kT);而离散误差信号e(kT)经某种校正运算(控制律)后形成离散的数字控制信号u(kT), u(k

2、T)再经D/A转换器和保持器转换为连续的模拟控制u(t),作用于被控对象。,上一页,下一页,返回,4,计算机控制系统(采样控制系统)是既有连续信号又有离散信号的混合系统,系统按采样周期T重复工作,只有在采样时刻,数字控制器才有输出,完成一次控制作用。应该指出, 图中的T是该采样控制系统实际存在的采样开关的采样周期,这有异于连续系统离散化时人为引入虚拟的采样开关和保持器。 若忽略量化误差,图3.1可等效为:,上一页,下一页,返回,5,3.1.2 采样控制系统仿真的特殊问题,1对连续部分和离散部分分别处理,建立其仿真模型 采样控制系统工作在真实的离散状态下,应用连续系统离散相似算法,根据保持器Gh

3、(s)的特性,建立连续被控对象G0(s)的离散化状态方程或差分方程。 离散部分(数字控制器)的脉冲传递函数D(z)则可以直接转换为对应的差分方程或离散状态方程。,上一页,下一页,返回,6,2采样周期与计算步长 采样周期T是根据被控对象的反应快慢而事先设计的采样控制系统的重要参数。 连续部分离散化模型的精度同步长h密切相关,每经过一个步长h则应完成一次相应状态变量的计算。采样控制系统中离散部分(数字控制器D(z))的模型是未作近似的差分方程,每经过一个实际的采样周期T计算一次。对采样控制系统,为了协调离散部分D(z)和连续部分Gh(s)、G0(s)的计算,连续部分离散化时的步长h可按以下两种情况

4、进行选择:,上一页,下一页,返回,7,(1)若仿真的任务仅要求计算系统输出y(t)而不要求计算系统内部状态变量,且连续部分的整体脉冲传递函数G(z)=ZGh(s)G0(s)较易求出时,可由G(z)=ZGh(s)G0(s)列写连续部分对应的差分方程。由于系统未引入新的误差,故连续部分的计算步长h可选得大一些(hT)。 为简化起见,可选h=T,即以同样的采样周期分别建立离散部分(数字控制器D(z))和连续部分的差分方程(仿真模型),然后进行仿真计算。,上一页,下一页,返回,8,(2)若连续部分整体脉冲传递函数G(z)=ZGh(s)G0(s)不易求出;或仿真的任务不仅要求计算系统输出y(t)且要求计

5、算系统内部状态变量;或被控对象含有非线性环节时,则应将连续部分分成几个部分,在每个连续部分前分别人 为地加上虚拟的采样开关和保持器,按连续系统离散相似算法建立仿真模型。 为了保证精度,这些连续部分离散化时的步长h(虚拟采样周期)应比数字计算机部分的实际采样周期T小得多。为简化起见,可选h=T/N(N为正整数)。这时,整个采样控制系统的仿真计算,以步长h计算连续部分各环节的变化情况,而以实际采样周期T=Nh的步长计算离散部分的变化。可见,每计算一次离散部分,连续部分则相应地进行N次计算。,上一页,下一页,返回,9,上一页,下一页,返回,10,采样控制系统特点,采样系统仿真方法,差分方程递推求解法

6、,双重循环法,Matlab在采样系统仿真中的应用,3.2 采样控制系统数字仿真的一般方法,3.2.1 差分方程递推求解法 3.2.2 双重循环方法对离散部分和连续部分分别计算,上一页,下一页,返回,11,3.2.1 差分方程递推求解法,在构成采样控制仿真模型时,若连续部分不要求计算内部状态变量或不含非线性环节,则可以用同样的采样周期分别建立离散部分和连续部分的差分方程,然后采用差分方程递推求解。 若已分别求出数字控制器和连续部分的脉冲传递函数为 (3.1) (3.2),上一页,下一页,返回,12,则有差分方程组 (3.3) 采用递推法求解差分方程组(3.3),即可逐步求得各采样时刻的e(k)、

7、u(k)及y(k)。,上一页,下一页,返回,13,该仿真算法不仅简单易行且仿真精度高。 局限性为:不能计算被控对象的内部状态变量的响应特性,对受控对象含有非线性环节的情况也不适用。,【例3.1】 某数字控制系统如图3.3所示,其输入为单位阶跃,即r(t)=1(t),采样周期T=0.1s。试求系统在各采样时刻的输出y(k) 。 图3.3 【解】 被控对象不含非线性环节且不要求计算其内部状态变量,为了简化仿真过程并提高仿真精度,将连续部分的离散化模型嵌入到整个仿真模型中,即求出系统闭环脉冲传递函数,得到系统的差分方程后递推求解。,上一页,下一页,返回,14,当采样周期为T=0.1s时,连续部分的脉

8、冲传递函数为 采样控制系统可用图示的等价离散系统描述: 图5.4,上一页,下一页,返回,15,系统闭环脉冲传递函数和对应的系统差分方程分别为 求解差分方程的MATLAB程序(exam3_1.m)如下: % 这是例3.1的仿真程序 clear all m=2; n=3; % 明确脉冲传递函数分子m=2;分母n=3 A=-2.4 1.863 -0.453; % 脉冲传递函数分母多项式的系数行向量 B=0 0.005 0.005; % 脉冲传递函数分子多项式的系数行向量 R=zeros(m+1,1); % 建立参与递推运算的输入信号序列存储列向量 Y=zeros(n,1); % 建立参与递推运算的输

9、出信号序列存储列向量 T=0.1; % 明确采样周期T=0.1s M=150; % 设定仿真总时间为M*T=15s(进行M=150次递推计算),上一页,下一页,返回,16,yt=0;t=0; for k=1:M R(k)=1; % r(t)=1(t)的离散序列 R=R(k);R(1:m); % 刷新参与递推运算的输入信号序列 yk=-A*Y+B*R; % 递推运算 Y=yk;Y(1:n-1); % 刷新参与递推运算的输出信号序列 yt=yt,yk; % yt为记载各采样(kT)时刻输出响应的行向量 t=t,k*T; % t为记载各采样(kT)时刻的行向量(与yt对应) end plot(t,y

10、t,*k); % 绘制各采样(kT)时刻的输出响应图 grid; xlabel(time(s); ylabel(y(kT);,上一页,下一页,返回,17,运行结果:,上一页,下一页,返回,18,3.2.2 采用双重循环方法对离散部分和连续部分分别计算,这种仿真方法是按连续系统离散相似算法建立连续部分各环节的仿真模型,其计算步长h为实际采样周期T的N分之一(N为正整数) 。如图所示,仿真程序由内外两个循环构成,其中内循环以h计算连续部分各环节的变化响应值;而外循环则以T=Nh的步长计算离散部分的变化响应值。,上一页,下一页,返回,19,该方法通用性较强,不仅可得到控制系统的输出值,还可得到受控对

11、象内部状态变量的响应;也可用于被控对象中含有典型非线性环节的非线性系统的仿真。 【例3.2】 数字控制系统同【例3.1】,采样周期仍为T=0.1s。设初始状态x1(0)= x2(0) =0,试求在单位阶跃输入信号r(t)=1(t)作用下的状态响应。 【解】 被控对象的状态空间模型为,上一页,下一页,返回,20,下面按连续系统离散相似算法将(3.8)式离散化。为了保证精度,其离散化时的步长h(虚拟采样周期)应比数字控制器的实际采样周期T (=0.1s)小得多。为简化起见,取h=T/N=T/10=0.1T=0.01s。 利用MATLAB控制系统工具箱提供的将连续系统转换成离散系统的函数c2d,把连

12、续状态空间模型变换为离散状态空间模型。程序(exam3_2_1.m)如下: % 求连续被控对象离散化状态方程的程序(基于连续系统离散相似算法) h=0.01; % 虚拟采样周期为0.01s A=0 0;1 -1; B=1;0; G,H=c2d(A,B,h); % 输入端采用零阶保持器,上一页,下一页,返回,21,执行以上程序得 , 。故连续被控对象的离散化状态方程为 而图3.3采样控制系统数字控制器的差分方程为 式中,上一页,下一页,返回,22,% 仿真程序 G=1 0;0.01 0.99; H=0.01;0;c=0 1; % 连续被控对象的离散化状态方程的系数阵 h=0.01;T=0.1;

13、% 设定内循环步长h=0.01,而外循环则以采样周期T=0.1 % 为步长 N=round(T/h); % 在一采样周期内连续被控对象的离散化状态方程递推 % N次(内循环) TF=15; % 设定总仿真时间为15s M=round(TF/T); % 数字控制器的差分方程递推M次(外循环) x=0;0; u=1;t=0; xt=x; for i=1:M % 外循环 y=c*x; r(i)=1; e(i)=r(i)-y;,上一页,下一页,返回,23,u=0.5*u+e(i); % 外循环中递推求数字控制器在实际采样时刻的输出 for j=1:N % 内循环 x=G*x+H*u; % 内循环中递推

14、求受控对象状态响应(步长为h) xt=xt,x; % yt为记载各步状态响应的矩阵 t=t,j*h+(i-1)*T; % t为记载各采样(kT)时刻的行向量(与yt对应) end end x1t=xt(1,:);x2t=xt(2,:); plot(t,x1t,:k,t,x2t,k); legend(x1, x2); grid; xlabel(time(s);,上一页,下一页,返回,24,上一页,下一页,返回,25,采样控制系统特点,采样系统仿真方法,差分方程递推求解法,双重循环法,Matlab在采样系统仿真中的应用,3.3 MATLAB在采样控制系统数字 仿真中的应用,3.3.1 应用MATL

15、AB函数求采样系统的时域响应 3.3.2 基于Simulink的采样控制系统仿真,上一页,下一页,返回,26,3.3.1 应用MATLAB函数求采样 系统的时域响应,MATLAB 控制系统工具箱中的时域响应分析函数dimpulse、dstep 、dinitial、dlsim分别为求解线性定常离散系统单位脉冲响应、单位阶跃响应、零输入响应、任意输入(包括系统初始状态)响应的计算函数。只要建立了采样系统的离散化模型,调用这些函数即可获得相应的系统时域响应。,上一页,下一页,返回,27,【例3.3】应用MATLAB时域响应分析函数重新求解例3.1采样系统单位阶跃响应。 【解】系统闭环脉冲传递函数(离散化模型)为 调用dstep函数求解采样系统单位阶跃响应的程序(exam3_3_1.m)如下:,上一页,下一页,返回,28,% 仿真程序之一 clear all num=0.005,0.005,0; % num为脉冲传递函数分子多项式按z的降幂 % 系数排列的行向量 den=1,-2.4,1.863,-0.453; % den为脉冲传递函数分母多项式按z的降幂 % 系数排列的行向量 dstep(num,den); % 调用dstep求离散系统单位阶跃响应 xlabel(采样周期

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

当前位置:首页 > 高等教育 > 大学课件

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