概述
《控制系统计算机仿真 第10讲》由会员分享,可在线阅读,更多相关《控制系统计算机仿真 第10讲(25页珍藏版)》请在人人文库网上搜索。
1、第三章:采样控制系统的数字仿真授课人:李会军,3.2、采样控制系统数字仿真的一般方法,双重循环法,2,采样控制系统:连续部分、离散部分,连续部分:仿真步长h=T/N(N为正整数),仿真过程:由内循环和外循环构成;内循环以h为步长对连续部分进行仿真;外循环以采样周期T=Nh为步长对离散部分进行仿真。,离散部分:仿真步长为采样周期T,3.2、采样控制系统数字仿真的一般方法,双重循环法,3,示例1:采样控制系统如图所示,采样周期为T=0.1s。设初始状态x1(0)= x2(0) =0,试求在单位阶跃信号r(t)=1(t)作用下的状态响应。,解:因为要求单位阶跃信号作用下系统的状态响应,所以首先需要写。
2、出被控对象的状态空间方程;被控对象为2阶系统,状态空间方程如下:,思考:此时对被控对象进行离散化时,应采用哪种离散化方法?,3.2、采样控制系统数字仿真的一般方法,双重循环法,4,可采用 ,验证状态空间方程的正确性,为了保证精度,连续部分离散化时的步长h比数字控制器的实际采样周期T小得多,取h=T/N=T/10=0.1T=0.01s。,思考:该状态空间方程属于哪种标准型?如何列写该标准型?,3.2、采样控制系统数字仿真的一般方法,双重循环法,5,利用MATLAB控制工具箱提供的系统离散化函数c2d,把连续状态空间模型变换为离散状态空间模型。,% 求连续被控对象离散化状态方程的程序(基于连续系统。
3、离散相似算法) h=0.01; % 虚拟采样周期为0.01s A=0 0;1 -1;% 设置矩阵A B=1;0;% 设置矩阵B F,G=c2d(A,B,h); % 输入端采用零阶保持器,计算可得:,思考:如何手动计算F和G?,3.2、采样控制系统数字仿真的一般方法,双重循环法,6,连续被控对象的离散化状态空间方程为:,h=0.01; % 虚拟采样周期为0.01s A=0 0;1 -1;% 设置矩阵A B=1;0;% 设置矩阵B C=0 1;% 设置矩阵C D=0;% 设置矩阵D Ad,Bd,Cd,Dd=c2dm(A,B,C,D,h,zoh); % 输入端采用零阶保持器,也可使用如下程序计算:,。
4、3.2、采样控制系统数字仿真的一般方法,双重循环法,7,数字控制器的差分方程:,仿真程序见Exercise1.m,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,8,Matlab的时域响应分析函数:,dimpluse:单位脉冲响应 dstep:单位阶跃响应 dinitial:零输入响应 dlsim:任意输入响应,注意:以上函数只能求解线性定常离散系统的时域响应,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,9,dstep函数,函数形式1:dstep(num, den, n),num:脉冲传递函数分子多项式的系数向量;。
5、 den:脉冲传递函数分母多项式的系数向量; n:用户指定的采样点数(可省略,系统自动计算采样点数),num=2 -3.4 1.5; den=1 -1.6 0.8; dstep(num, den, 100); grid on; title(离散系统阶跃响应); xlabel(时间); ylabel(振幅);,思考:该离散系统的脉冲传递函数是什么?,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,10,dstep函数,函数形式2: y, x, n=dstep(num, den),num:脉冲传递函数分子多项式的系数向量; den:脉冲传递函数分母多项式的系数。
6、向量; y:系统在单位阶跃信号作用下的输出变量 x:系统在单位阶跃信号作用下的状态变量 n:系统仿真计算的点数,num=2 -3.4 1.5; den=1 -1.6 0.8; y, x, n=dstep(num, den); for k=1:n plot(k,y(k), k*); hold on end grid on; title(离散系统阶跃响应); xlabel(时间); ylabel(振幅);,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,11,dstep函数,函数形式3: dstep(A, B, C, D),A,B,C,D:系统状态空间方程的系。
7、数矩阵,A=0 1 0;0 0 1;0.453 -1.863 2.4; B=0;0;1; C=0 0.005 0.005; D=0; dstep(A, B, C, D);grid on; title(离散系统阶跃响应); xlabel(时间); ylabel(振幅);,思考:该离散系统的输入输出个数是多少,该离散系统的阶数是多少?,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,12,dstep函数,函数形式4: y,x,n=dstep(A, B, C, D),A,B,C,D:系统状态空间方程的系数矩阵 y:系统在单位阶跃信号作用下的输出变量 x:系统在单。
8、位阶跃信号作用下的状态变量 n:系统计算的采样点数,A=0 1 0;0 0 1;0.453 -1.863 2.4; B=0;0;1; C=0 0.005 0.005; D=0; y, x, n=dstep(A, B, C, D); for k=1:n plot(k,y(k), k*); hold on end grid on; title(离散系统阶跃响应); xlabel(时间); ylabel(振幅);,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,13,示例2:应用Matlab时域响应函数求解下列系统的单位阶跃响应。,解:系统的闭环脉冲传递函数如下。
9、,思考:如何求解系统的闭环脉冲传递函数?,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,14,调用dstep函数,求解单位脉冲响应的程序如下所示:,clear all num=0.005,0.005,0; % num为脉冲传递函数分子多项式按z的降幂 % 系数排列的行向量 den=1,-2.4,1.863,-0.453; % den为脉冲传递函数分母多项式按z的降幂 % 系数排列的行向量 dstep(num,den,300); % 调用dstep求离散系统单位阶跃响应 xlabel(采样周期数k); % 横坐标的单位为采样周期 grid on;,使用Si。
10、mulink模型进行验证,详见Validate.mdl,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,15,如果调用dstep()函数时有返回值,则不直接绘制单位阶跃响应曲线,而是返回单位阶跃响应的离散数据,程序如下:,clear all num=0.005,0.005,0; % 脉冲传递函数分子多项式按z的降幂系数 % 排列的行向量 den=1,-2.4,1.863,-0.453; % 脉冲传递函数分母多项式按z的降幂系数 % 排列的行向量 yk,x,n=dstep(num,den,300); % yk为存放输出离散序列的数组,n为dstep % 函数。
11、自动设定的采样点数 T=0.1; % 已知系统采样周期为0.1s for k=1:n plot(k*T,yk(k), k*); % k为采样序列号,k*T为第k次采样对应的时刻 hold on end xlabel(时间(s); grid on;,3.3、Matlab在采样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,16,采样系统的离散化模型也可用离散状态空间方程表示。由系统闭环脉冲传递函数,可以直接写出对应的离散状态空间模型,其可控标准型为:,可使用dstep函数,直接调用系数矩阵,绘制阶跃响应曲线:,思考:如何根据系统的脉冲传递函数列写可控标准型?,3.3、Matlab在采。
12、样控制系统仿真的应用,应用Matlab函数求采样系统时域响应,17,程序如下:,% 仿真程序 clear all F=0 1 0;0 0 1;0.453 -1.863 2.4;% 设置矩阵F G=0;0;1;% 设置矩阵G C=0 0.005 0.005;% 设置矩阵C D=0;% 设置矩阵D dstep(F,G,C,D);% 绘制单位阶跃响应曲线 xlabel(采样周期数k);% 标准x轴 grid on;,3.3、Matlab在采样控制系统仿真的应用,基于Simulink的采样控制系统仿真,18,示例3:使用Simulink求解下述采样系统的单位阶跃响应,采样周期T=0.1s,解:系统的S。
13、imulink仿真模型如下,仿真模型详见Exercise3.mdl,3.3、Matlab在采样控制系统仿真的应用,基于Simulink的采样控制系统仿真,19,3.3、Matlab在采样控制系统仿真的应用,基于Simulink的采样控制系统仿真,20,仿真结束之后,还可以手动绘制状态曲线:,% 仿真程序 plot(t,x1,k:,t,x2,k*); legend(x1,x2); grid on; xlabel(time(s); ylabel(x1,x2);,3.3、Matlab在采样控制系统仿真的应用,基于Simulink的采样控制系统仿真,21,示例4:某计算机控制系统如下所示,已知T1=0。
14、.1, T2=0.2, T3=0.1。,采样周期T=0.01s,数字控制器采用数字PID调节器,即:,式中,Kp=0.7,Ki=0.9T,Kd=0.1/T 。试使用Simulink对该计算机控制系统单位阶跃响应进行仿真;,3.3、Matlab在采样控制系统仿真的应用,基于Simulink的采样控制系统仿真,22,解:数字PID调节器的脉冲传递函数为。,数字控制器的采样周期为0.01,纯滞后环节的滞后时间为0.1,仿真模型详见Exercise4.mdl,3.3、Matlab在采样控制系统仿真的应用,基于Simulink的采样控制系统仿真,23,3.3、Matlab在采样控制系统仿真的应用,基于S。
15、imulink的采样控制系统仿真,24,plot(t,y,k.); axis(0 10 0 1.2); xlabel(t(s) ); ylabel(y); grid on;,仿真结束之后,还可以手动绘制状态曲线:,小结,25,采样控制系统是既有连续信号又有离散信号的混合系统,系统按采样周期重复工作; 采样控制系统仿真的关键是建立和原系统等价的离散仿真模型,即对连续部分和离散部分分别处理,建立离散仿真模型; 采样控制系统连续部分的仿真步长应与离散部分的采样周期相协调(h的选择分为两种情况); 应根据系统结构及仿真目的不同选用合适的仿真方法; 常用的两种数字仿真方法:差分方程递推求解法、双重循环方法。
最后
以上就是迷路白羊为你收集整理的控制系统计算机仿真第2版,控制系统计算机仿真 第10讲的全部内容,希望文章能够帮你解决控制系统计算机仿真第2版,控制系统计算机仿真 第10讲所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复