实验四达林算法仿真.docx
- 文档编号:26212311
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:11
- 大小:325.08KB
实验四达林算法仿真.docx
《实验四达林算法仿真.docx》由会员分享,可在线阅读,更多相关《实验四达林算法仿真.docx(11页珍藏版)》请在冰豆网上搜索。
实验四达林算法仿真
实验四达林算法仿真
一、实验目的
1.设计达林算法的Simulink仿真模型;
2.用S函数实现达林算法;
3.观察达林算法中的滞后时间常数和采样周期的选取对系统输出的影响。
二、实验内容
被控对象:
1.达林算法仿真模型
达林算法的SIMULINK仿真模型如图4.1所示。
达林算法适用于一、二阶惯性加纯滞后环节对象,仿真模型仅对工业控制中常见的一阶惯性加纯滞后环节对象作仿真。
图4.1达林算法仿真模型
1.达林算法的S函数实现
达林算法控制器的S函数程序darlincon.m清单如下:
function[sys,x0,str,ts]=darlincon(t,x,u,flag,Ttao,T1,K,Tao,T)
globalumaxk1k2k3ukek_1N
switchflag
case0,
sizes=simsizes;
sizes.NumContStates=0;sizes.NumDiscStates=0;
sizes.NumOutputs=1;sizes.NumInputs=1;
sizes.DirFeedthrough=1;sizes.NumSampleTimes=1;
sys=simsizes(sizes);str=[];
ts=[T0];
umax=50;N=floor(Tao/T);
uk=zeros(N+2,1);ek_1=0;k1=exp(-T/Ttao);
k2=exp(-T/T1);k3=(1-k1)/K/(1-k2);
case3,
ek=u;
uk
(1)=k3*(ek-k2*ek_1)+k1*uk
(2)+(1-k1)*uk(N+2);
ifuk
(1)>umax
uk
(1)=umax;
end
ifuk
(1)<-umax
uk
(1)=-umax;
end
ek_1=ek;
uk(2:
N+2)=uk(1:
N+1);
sys=[uk
(1)];
case{1,2,4,9}
sys=[];
otherwise
error(['Unhandledflag',num2str(flag)]);
end
3.参数设置及系统输出曲线
程序中的斜体部分就是有关的达林算法实现所用的变量和语句。
假设对象模型为
,要求闭环系统时间常数
,取采样周期T=1s。
先按对象的参数去设置控制器参数,然后运行仿真模型。
仿真结果如图4.2所示。
若欲缩短调节时间,可将闭环时间常数改为
,采样周期仍为T=1s,再次仿真。
仿真结果如图4.3所示。
(a)系统输出(b)控制量
图4.2闭环时间常数为4.5s时的仿真结果
(a)系统输出(b)控制量
图4.3闭环时间常数为2s时的仿真结果
从图4.2中可见,动态过程确实缩短了,请注意控制量也相应增大了,这是符合实际”情况的。
观察图4.2和图4.3的系统输出都没有纹波出现,说明在纯滞后时间是采样周期的整数倍时,无论闭环系统时间常数丁。
是大于还是小于惯性时间常数,系统输出都是没有纹波的。
倘若纯滞后时间不是采样周期的整数倍时,系统输出将会发生波动。
设=2s,采样周期改为T=1.3s,再次仿真,仿真结果如图4.4所示。
若再缩短采样周期,系统的输出波动将更厉害,可以试做一下。
(a)系统输出(b)控制量
图4.4闭环时间常数为2s时,采样周期为1.3s的仿真结果
三、实验预习要求
(1)掌握达林算法;
(2)设计达林算法控制器。
四、实验报告要求
(1)记录不同滞后时间常数和采样周期时系统输出曲线;
(2)分析不同滞后时间常数和采样周期时系统输出曲线的影响。
4.5,4,2,3,1
2,4,2,3,1
2,4,2,3,1.3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验四 达林算法仿真 实验 算法 仿真