计算机仿真课程设计报告.docx
- 文档编号:4685294
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:17
- 大小:76.37KB
计算机仿真课程设计报告.docx
《计算机仿真课程设计报告.docx》由会员分享,可在线阅读,更多相关《计算机仿真课程设计报告.docx(17页珍藏版)》请在冰豆网上搜索。
计算机仿真课程设计报告
北京理工大学珠海学院
课程设计任务书
2010~2011学年第2学期
学生姓名:
林泽佳专业班级:
08自动化1班
指导教师:
钟秋海工作部门:
信息学院
一、课程设计题目
《控制系统建模、分析、设计和仿真》
本课程设计共列出10个同等难度的设计题目,编号为:
[0号题]、[1号题]、[2号题]、[3号题]、[4号题]、[5号题]、[6号题]、[7号题]、[8号题]、[9号题]。
学生必须选择与学号尾数相同的题目完成课程设计。
例如,学号为8xxxxxxxxx2的学生必须选做[2号题]。
二、课程设计内容
(一)《控制系统建模、分析、设计和仿真》课题设计内容
[2号题]控制系统建模、分析、设计和仿真
设连续被控对象的实测传递函数为:
用零阶保持器离散化,采样周期取0.1秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。
具体要求见
(二)。
(二)《控制系统建模、分析、设计和仿真》课题设计要求及评分标准【共100分】
1、求被控对象传递函数G(s)的MATLAB描述。
(2分)
2、求被控对象脉冲传递函数G(z)。
(4分)
3、转换G(z)为零极点增益模型并按z-1形式排列。
(2分)
4、确定误差脉冲传递函数Ge(z)形式,满足单位加速度信号输入时闭环稳态误差为零和实际闭环系统稳定的要求。
(6分)
5、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dy(z)可实现、最少拍和实际闭环系统稳定的要求。
(8分)
6、根据4、5、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z)。
(12分)
7、求针对单位加速度信号输入的最少拍有波纹控制器Dy(z)并说明Dy(z)的可实现性。
(3分)
8、用程序仿真方法分析加速度信号输入时闭环系统动态性能和稳态性能。
(7分)
9、用图形仿真方法(Simulink)分析单位加速度信号输入时闭环系统动态性能和稳态性能。
(8分)
10、确定误差脉冲传递函数Ge(z)形式,满足单位速度信号输入时闭环稳态误差为零和实际闭环系统稳定的要求。
(6分)
11、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dw(z)可实现、无波纹、最少拍和实际闭环系统稳定的要求。
(8分)
12、根据10、11、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z)。
(12分)
13、求针对单位速度信号输入的最少拍无波纹控制器Dw(z)并说明Dw(z)的可实现性。
(3分)
14、用程序仿真方法分析单位速度信号输入时闭环系统动态性能和稳态性能。
(7分)
15、用图形仿真方法(Simulink)分析单位速度信号输入时闭环系统动态性能和稳态性能。
(8分)
16、根据8、9、14、15、的分析,说明有波纹和无波纹的差别和物理意义。
(4分)
三、进度安排
6月13至6月14:
下达课程设计任务书;复习控制理论和计算机仿真知识,收集资料、熟悉仿真工具;确定设计方案和步骤。
6月14至6月16:
编程练习,程序设计;仿真调试,图形仿真参数整定;总结整理设计、仿真结果,撰写课程设计说明书。
6月16至6月17:
完成程序仿真调试和图形仿真调试;完成课程设计说明书;课程设计答辩总结。
四、基本要求
1.学生应按照课程设计任务书的要求独立分析、解决问题,按计划完成课程设计任务;
2.不得抄袭或找人代做,否则按考试作弊处理;
3.学生在完成课程设计时须提交不少于3000字课程设计说明书;说明书结构为:
(1)封面,
(2)任务书,(3)摘要,(4)关键词,(5)目录,(6)正文,(7)参考文献;
教研室主任签名:
年月日
摘要
本课程设计报告主要阐述了使用Matlab软件建模、分析、设计和仿真最少拍控制系统的过程。
先由给定的连续被控对象传递函数G(s),求出被控对象脉冲传递函数G(z);再根据典型输入信号类型和G(z)的零极点、Gc(z)和Ge(z)阶数相同,定出闭环脉冲传递函数Gc(z)和误差脉冲传递函数Ge(z)。
然后分别求出满足闭环系统稳定且稳态误差为零的单位加速度输入最少拍有波纹控制器Dy(z)和单位速度输入最少拍无波纹控制器Dw(z)。
再使用程序仿真方法和图形仿真方法(Simulink)仿真设计好的控制系统在给定输入信号下的动态性能和稳态特性,验证设计是否满足要求。
关键词:
Matlab、控制系统、最少拍、波纹、仿真
一、课程设计任务书………………………………………………1
二、摘要…………………………………………………………………4
三、关键词………………………………………………………………4
四、课程设计内容…………………………………………………6
1、Matlab简介……………………………………………………6
2、最少拍系统设计……………………………………………6
①单位加速度输入有波纹……………………………………6
②单位速度输入无波纹………………………………………9
3、设计的步骤和结果…………………………………………12
五、课程设计的体会和遇到的问题………………………17
六、参考文献………………………………………………………18
课程设计内容
1、Matlab简介
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
2、最少拍控制系统设计
①单位加速度输入有波纹
M文件代码:
z=[-2,-6];p=[0,0,-1,-5,-8];k=668;
Gs=zpk(z,p,k)%求被控对象传递函数G(s)的MATLAB描述
T=0.1;
Gz=c2d(Gs,T)
Gz=c2d(Gs,T,'zoh')%用零阶保持器离散化,求被控对象脉冲传递函数G(z)
[z,p,k]=zpkdata(Gz);%求出G(z)的极点,零点及增益
Gz=zpk(z,p,k,0.1,'variable','z^-1')%转换Gz为零极点增益模型按z-1形式排列
symsza0a1a2b0b1%配置参数
Gz=0.096757*z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^-1)/(1-z^-1)^2/(1-0.9048*z^-1)/(1-0.6065*z^-1)/(1-0.4493*z^-1)
Gcz=z^-1*(1+3.252*z^-1)*(a0+a1*z^-1+a2*z^-2);
%设置闭环脉冲传递函数Gc(z),满足Dy(z)可实现、最少拍和稳定的要求
f1=subs(Gcz,z,1)-1;%.列方程求解a0a1a2,定Gcz
f2=subs(diff(Gcz,1),z,1);
f3=subs(diff(Gcz,2),z,1);
[a0j,a1j,a2j]=solve(f1,f2,f3);
Gcz=subs(Gcz,[a0a1a2],[a0ja1ja2j]);
Gez=(1-z^-1)^3*(b0+b1*z^-1);%设置Ge(z)
f4=1-subs(Gez,z,-3.252);%6.方程求解b0,b1定Gez
f5=1-subs(Gez,z,Inf);
[b0jb1j]=solve(f4,f5);
Gez=subs(Gez,[b0b1],[b0jb1j]);
Guz=Gcz/Gz;
Dyz=Gcz/Gz/Gez;%求单位加速度输入最少拍有波纹控制器Dy(z)
[Nc,Dc]=numden(simplify(Gcz));%化简Gcz并取系数用于程序仿真
numc=sym2poly(Nc);
denc=sym2poly(Dc);
[Nu,Du]=numden(simplify(Guz));%化简Guz并取系数用于程序仿真
numu=sym2poly(Nu);
denu=sym2poly(Du);
t=0:
0.1:
1;
u=t.*t/2;%单位加速度输入
holdon
dlsim(numc,denc,u);
dlsim(numu,denu,u);
holdoff
[N,D]=numden(simplify(Dyz))%提取Dyz的系数,以此在图形仿真中设置Dyz
numdy=sym2poly(N)
dendy=sym2poly(D)
有波纹最少拍程序仿真截图:
有波纹最少拍图形仿真截图:
闭环系统输出Y(z)图形仿真结果
控制器输出U(z)图形仿真图
②单位速度输入无波纹:
M文件代码:
z=[-2,-6];p=[0,0,-1,-5,-8];k=668;
Gs=zpk(z,p,k)%求被控对象传递函数G(s)的MATLAB描述
T=0.1
Gz=c2d(Gs,T)
Gz=c2d(Gs,T,'zoh')%用零阶保持器离散化,求被控对象脉冲传递函数Gz
[z,p,k]=zpkdata(Gz);%求出其极点,零点及增益
Gz=zpk(z,p,k,0.1,'variable','z^-1')%转换Gz为零极点增益模型按z-1形式排列
symszr0r1c0c1c2c3c4%配置系数
Gz=0.096757*z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^-1)/(1-z^-1)^2/(1-0.9048*z^-1)/(1-0.6065*z^-1)/(1-0.4493*z^-1)
Gcz=z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^-1)*(r0+r1*z^-1)%设置Gc(z)满足控制器Dy(z)可实现、最少拍稳定的要求。
f1=subs(Gcz,z,1)-1;%列方程求解Gc
f2=subs(diff(Gcz,1),z,1);
[r0j,r1j]=solve(f1,f2);
Gcz=subs(Gcz,[r0r1],[r0jr1j])
Gez=(1-z^-1)^2*(c0+c1*z^-1+c2*z^-2+c3*z^-3+c4*z^-4)%设置Ge(z)
f3=limit(Gez,z,inf)-1;%列方程求解Gez
f4=subs(Gez,z,-3.252)-1;
f5=subs(Gez,z,0.8187)-1;
f6=subs(Gez,z,0.5488)-1;
f7=subs(Gez,z,-0.2281)-1;
[c0j,c1j,c2j,c3j,c4j]=solve(f3,f4,f5,f6,f7)
Gez=subs(Gez,[c0c1c2c3c4],[c0jc1jc2jc3jc4j])
Guz=Gcz/Gz
Dwz=Gcz/Gz/Gez
[N,D]=numden(simplify(Gcz));
numc=sym2poly(N)
denc=sym2poly(D)
[N,D]=numden(simplify(Guz));
numu=sym2poly(N)
denu=sym2poly(D)
t=0:
0.1:
10
u=t%单位速度输入
holdon
dlsim(numc,denc,u)%.程序仿真
dlsim(numu,denu,u)
holdoff
[N,D]=numden(simplify(Dwz));%提取Dyz的系数,图形仿真中设置Dwz.
numdy=sym2poly(N)
dendy=sym2poly(D)
无波纹最少拍程序仿真图:
无波纹最少拍图形仿真图:
无波纹最少拍闭环系统输出Y(z)图形仿真结果
无波纹最少拍闭环系统数字控制器输出U(z)图形仿真结果
3、设计的步骤和结果
1.求被控对象传递函数G(s)的MATLAB描述。
(2分)
程序:
z=[-2,-6];p=[0,0,-1,-5,-8];k=668;
Gs=zpk(z,p,k)
结果:
Zero/pole/gain:
668(s+2)(s+6)
-------------------------
s^2(s+1)(s+5)(s+8)
2.求被控对象脉冲传递函数G(z)。
(4分)
程序:
T=0.1;
Gz=c2d(Gs,T)
Gz=c2d(Gs,T,'zoh')
结果:
Zero/pole/gain:
0.096757(z+3.252)(z-0.8187)(z-0.5488)(z+0.2281)
----------------------------------------------------------
(z-1)^2(z-0.9048)(z-0.6065)(z-0.4493)
3.转换G(z)为零极点增益模型并按z-1形式排列。
(2分)
程序:
[z,p,k]=zpkdata(Gz);
Gz=zpk(z,p,k,0.1,'variable','z^-1')
结果:
Zero/pole/gain:
0.096757z^-1(1+3.252z^-1)(1-0.8187z^-1)(1-0.5488z^-1)(1+0.2281z^-1)
------------------------------------------------------------------------
(1-z^-1)^2(1-0.9048z^-1)(1-0.6065z^-1)(1-0.4493z^-1)
4.确定误差脉冲传递函数Ge(z)形式,满足单位加速度信号输入时闭环稳态误差为零和实际闭环系统稳定的要求。
(6分)
Ge(z)形式:
Gez=(1-z^-1)^2*(c0+c1*z^-1+c2*z^-2+c3*z^-3+c4*z^-4)
5.确定闭环脉冲传递函数Gc(z)形式,满足控制器Dy(z)可实现、最少拍和实际闭环系统稳定的要求。
(8分)
Gc(z)形式:
Gcz=z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^-1)*(r0+r1*z^-1)
6.根据4、5、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z)。
(12分)
程序:
symsza0a1a2b0b1
Gz=0.096757*z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^-1)/(1-z^-1)^2/(1-0.9048*z^-1)/(1-0.6065*z^-1)/(1-0.4493*z^-1)
Gcz=z^-1*(1+3.252*z^-1)*(a0+a1*z^-1+a2*z^-2);
f1=subs(Gcz,z,1)-1;f2=subs(diff(Gcz,1),z,1);
f3=subs(diff(Gcz,2),z,1);
[a0j,a1j,a2j]=solve(f1,f2,f3);
Gcz=subs(Gcz,[a0a1a2],[a0ja1ja2j]);
Gez=(1-z^-1)^3*(b0+b1*z^-1);
f4=1-subs(Gez,z,-3.252);
f5=1-subs(Gez,z,Inf);
[b0jb1j]=solve(f4,f5);
Gez=subs(Gez,[b0b1],[b0jb1j]);
结果:
a0j=1444828500/1201157047
a1j=-1826125500/1201157047
a2j=663789250/1201157047
Gcz=1/z*(1+813/250/z)*(1444828500/1201157047-1826125500/1201157047/z+663789250/1201157047/z^2)
b0j=1
b1j=2158642641/1201157047
Gez=(1-1/z)^3*(1+2158642641/1201157047/z)
7、求针对单位加速度信号输入的最少拍有波纹控制器Dy(z)并说明Dy(z)的可实现性。
(3分)
程序:
Guz=Gcz/Gz;
Dyz=Gcz/Gz/Gez
结果:
Dyz=72057594037927936/6972076626327793*(1444828500/1201157047-1826125500/1201157047/z+663789250/1201157047/z^2)/(1-8187/10000/z)/(1-343/625/z)/(1+2281/10000/z)/(1-1/z)*(1-1131/1250/z)*(1-1213/2000/z)*(1-4493/10000/z)/(1+2158642641/1201157047/z),可实现。
8.用程序仿真方法分析加速度信号输入时闭环系统动态性能和稳态性能。
(7分)
程序:
[Nc,Dc]=numden(simplify(Gcz));
numc=sym2poly(Nc);
denc=sym2poly(Dc);
[Nu,Du]=numden(simplify(Guz));
numu=sym2poly(Nu);
denu=sym2poly(Du);
t=0:
0.1:
1;
u=t.*t/2;
holdon
dlsim(numc,denc,u);
dlsim(numu,denu,u);
holdoff
结果:
见有波纹最少拍程序仿真图
9用图形仿真方法(Simulink)分析单位加速度信号输入时闭环系统动态性能和稳态性能。
(8分)
显示参数代码:
[N,D]=numden(simplify(Dyz))
numdy=sym2poly(N)
dendy=sym2poly(D)
结构图:
结果:
见有波纹最少拍图形仿真图
10确定误差脉冲传递函数Ge(z)形式,满足单位速度信号输入时闭环稳态误差为零和实际闭环系统稳定的要求。
(6分)
选定Ge(z)形式:
Gez=(1-z^-1)^2*(c0+c1*z^-1+c2*z^-2+c3*z^-3+c4*z^-4)
11、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dw(z)可实现、无波纹、最少拍和实际闭环系统稳定的要求。
(8分)
选定Gc的形式:
Gcz=z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^-1)*(r0+r1*z^-1)
12、根据10、11、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z)。
(12分)
程序:
symszr0r1c0c1c2c3c4
Gz=0.096757*z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^-1)/(1-z^-1)^2/(1-0.9048*z^-1)/(1-0.6065*z^-1)/(1-0.4493*z^-1)
Gcz=z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^-1)*(r0+r1*z^-1)
f1=subs(Gcz,z,1)-1;
f2=subs(diff(Gcz,1),z,1);
[r0j,r1j]=solve(f1,f2)
Gcz=subs(Gcz,[r0r1],[r0jr1j])
Gez=(1-z^-1)^2*(c0+c1*z^-1+c2*z^-2+c3*z^-3+c4*z^-4);
f3=limit(Gez,z,inf)-1;
f4=subs(Gez,z,-3.252)-1;
f5=subs(Gez,z,0.8187)-1;
f6=subs(Gez,z,0.5488)-1;
f7=subs(Gez,z,-0.2281)-1;
[c0j,c1j,c2j,c3j,c4j]=solve(f3,f4,f5,f6,f7)
Gez=subs(Gez,[c0c1c2c3c4],[c0jc1jc2jc3jc4j])
结果:
r0j=-72518711364792968750000000/11136989886524329238216001
r1j=98590687083535156250000000/11136989886524329238216001
Gcz=1/z*(1+813/250/z)*(1-8187/10000/z)*(1-343/625/z)*(1+2281/10000/z)*(-72518711364792968750000000/11136989886524329238216001+98590687083535156250000000/11136989886524329238216001/z)
c0j=1
c1j=94792691137841627226432002/11136989886524329238216001
c2j=233060734934885394745898003/11136989886524329238216001
c3j=-63798173230471508273950039/7424659924349552825477334
c4j=-42576893417789587167415/14430825897666769340092
Gez=(1-1/z)^2*(1+94792691137841627226432002/11136989886524329238216001/z+233060734934885394745898003/11136989886524329238216001/z^2-63798173230471508273950039/7424659924349552825477334/z^3-42576893417789587167415/14430825897666769340092/z^4)
13、求针对单位速度信号输入的最少拍无波纹控制器Dw(z)并说明Dw(z)的可实现性。
(3分)
程序:
Guz=Gcz/Gz
Dwz=Gcz/Gz/Gez
结果:
Dwz=72057594037927936/6972076626327793*(-72518711364792968750000000/11136989886524329238216001+98590687083535156250000000/11136989886524329238216001/z)*(1-1131/1250/z)*(1-1213/2000/z)*(1-44
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机仿真 课程设计 报告