1、一、课程设计题目控制系统建模、分析、设计和仿真本课程设计共列出10个同等难度的设计题目,编号为:0号题、1号题、2号题、3号题、4号题、5号题、6号题、7号题、8号题、9号题。学生必须选择与学号尾数相同的题目完成课程设计。例如,学号为10xxxxxxxx8的学生必须选做8号题。二、课程设计内容(一)控制系统建模、分析、设计和仿真课题设计内容Dy(z)G(s)R(z)Y(z)+_U(z)E(z)最少拍有波纹控制系统Dw(z)G(s)R(z)Y(z)+_U(z)E(z)最少拍无波纹控制系统0号题 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为:用零阶保持器离散化,采样周期取0.1秒
2、,设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)。具体要求见(二)。1号题 控制系统建模、分析、设计和仿真设连续被控对象的实测传递函数为:用零阶保持器离散化,采样周期取0.1秒,设计一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。2号题 控制系统建模、分析、设计和仿真设连续被控对象的实测传递函数为:用零阶保持器离散化,采样周期取0.2秒,设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)。具体要求见(二)。3号题 控制系统建模、分析、设计和仿真设连续被控对象的实测传递函数为:用零阶保持器离散化,采样周期取0.2秒,设计一单位速度信号输入时的最少拍无波纹控制
3、器Dw(z)。具体要求见(二)。4号题 控制系统建模、分析、设计和仿真设连续被控对象的实测传递函数为:用零阶保持器离散化,采样周期取0.05秒,设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)。具体要求见(二)。5号题 控制系统建模、分析、设计和仿真设连续被控对象的实测传递函数为:用零阶保持器离散化,采样周期取0.05秒,设计一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。6号题 控制系统建模、分析、设计和仿真设连续被控对象的实测传递函数为:用零阶保持器离散化,采样周期取0.01秒,设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)。具体要求见(二)。7号题
4、 控制系统建模、分析、设计和仿真设连续被控对象的实测传递函数为:用零阶保持器离散化,采样周期取0.01秒,设计一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。8号题 控制系统建模、分析、设计和仿真设连续被控对象的实测传递函数为:用零阶保持器离散化,采样周期取0.02秒,设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)。具体要求见(二)。9号题 控制系统建模、分析、设计和仿真设连续被控对象的实测传递函数为:用零阶保持器离散化,采样周期取0.02秒,设计一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。(二)控制系统建模、分析、设计和仿真课题设计要
5、求及评分标准【共100分】1、求被控对象传递函数G(s)的MATLAB描述。(5分)2、求被控对象脉冲传递函数G(z)。(8分)3、转换G(z)为零极点增益模型并按z-1形式排列。(5分)0号题、2号题、4号题、6号题、8号题设计要求及评分标准:4、确定误差脉冲传递函数Ge(z)形式,满足单位加速度信号输入时闭环稳态误差为零和实际闭环系统稳定的要求。(12分)5、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dy(z)可实现、最少拍和实际闭环系统稳定的要求。(16分)6、根据4、5、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。(25分)7、求针对单位加
6、速度信号输入的最少拍有波纹控制器Dy(z)并说明Dy(z)的可实现性。(9分)8、用程序仿真方法或者图形仿真方法(Simulink)分析加速度信号输入时闭环系统动态性能和稳态性能。(20分)1号题、3号题、5号题、7号题、9号题设计要求及评分标准:4、确定误差脉冲传递函数Ge(z)形式,满足单位速度信号输入时闭环稳态误差为零和实际闭环系统稳定的要求。(12分)5、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dw(z)可实现、无波纹、最少拍和实际闭环系统稳定的要求。(16分)6、根据4、5、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。(25分)7、求针
7、对单位速度信号输入的最少拍无波纹控制器Dw(z)并说明Dw(z)的可实现性。(9分)8、用程序仿真方法或者图形仿真方法(Simulink)分析单位速度信号输入时闭环系统动态性能和稳态性能。(20分)三、进度安排6月24日: 下达课程设计任务书;复习控制理论和计算机仿真知识,收集资料、熟悉仿真工具;确定设计方案和步骤。6月26日: 编程练习,程序设计;仿真调试,图形仿真参数整定;总结整理设计、仿真结果,撰写课程设计说明书。6月27日至6月28日: 完成程序仿真调试或图形仿真调试;完成课程设计说明书;课程设计答辩总结。(具体安排参见本课程设计教历)。四、基本要求1学生应按照课程设计任务书的要求独立
8、分析、解决问题,按计划完成课程设计任务;2不得抄袭或找人代做,否则按考试作弊处理;3. 学生在完成课程设计时须提交不少于3000字课程设计说明书;说明书结构为:(1)封面(2)任务书(3)摘要(4)关键词(5)目录(6)正文(7)参考文献 教研室主任签名: 年 月 日摘 要这次课程设计以计算机控制系统和计算机仿真两门学科为基础并加以巩固,以及学习和了解Matlab这个软件,Matlab软件是用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。而我做的课题是课程设计的1号题。首先是程序仿真,在Matlab软件建立M文件,再根据课题的要求进行编写代码:G(s)的Matla
9、b的描述、零阶或一阶保持器离散化、转换G(z)模型、Gc(z)和Ge(z)的确定、设计出单位加速度信号输入时的最少拍有波纹控制器Dy(z)或者一单位速度信号输入时的最少拍无波纹控制器Dw(z),在这过程中最关键的就是确定Gc(z)和Ge(z)以满足系统的实现要求。然后就是用Simulink仿真也对这一系统进行仿真。最后分析仿真结果和实验意义。关键字:Matlab、控制系统、建模、设计、分析、程序仿真、Simulink仿真目录封面课程设计任务书1摘要、关键字7目录8一、 课程设计的目的9二、 课程设计用的仪器和器件9三、 课程设计方法及内容9(一)MATLAB的介绍9(二) 1号题的设计91、求
10、被控对象传递函数G(s)的MATLAB描述92、求被控对象脉冲传递函数G(z)103、转换G(z)为零极点增益模型并按z-1形式排列104、确定误差脉冲传递函数Ge(z)形式,满足单位速度信号输入时闭环稳态误差为零和实际闭环系统稳定的要求115、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dw(z)可实现、无波纹、最少拍和实际闭环系统稳定的要求11 6、根据4、5、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z)117、求针对单位速度信号输入的最少拍无波纹控制器Dw(z)并说明Dw(z)的可实现性118、用程序仿真方法或者图形仿真方法(Simulink)分析
11、单位速度信号输入时闭环系统动态性能和稳态性能12四、课程设计的总结13五、参考文献13附件:1号题程序仿真M文件14一、 课程设计的目的本次计算机仿真课程设计的目的是熟悉并使用MATLAB在计算机中实现连续系统和离散系统的设计和仿真。二、 课程设计用的仪器和器件硬件: PC计算机 软件:MATLAB7.0三、课程设计方法及内容(一)MATLAB的介绍MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必
12、须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,F
13、ORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。(二)1号题的设计1、求被控对象传递函数G(s)的MATLAB描述。(5分)num=1000 9000 14000den=1 17 87 135 0 0Gs=tf(num,den)Transfer function: 1000 s2
14、+ 9000 s + 14000-s5 + 17 s4 + 87 s3 + 135 s22、求被控对象脉冲传递函数G(z)。(8分)Gz=c2d(Gs,0.1) 零阶保持器离散化,c2d是连续时间模型转换为离散时间模型Transfer function:0.138 z4 + 0.2758 z3 - 0.4527 z2 + 0.0641 z + 0.03764-z5 - 3.754 z4 + 5.505 z3 - 3.931 z2 + 1.362 z - 0.1827 Sampling time: 0.13、转换G(z)为零极点增益模型并按z-1形式排列。(5分)a,b,c=zpkdata(Gz
15、)Gz=zpk(a,b,c,variable,z-1)a = 4x1 doubleb = 5x1 doublec = 0.1380Zero/pole/gain:0.13795z-1(1+3.098z-1)(1-0.8187z-1)(1-0.4966z-1)(1+0.2167z-1)- (1-z-1)2 (1-0.7408z-1) (1-0.6065z-1) (1-0.4066z-1) Sampling time: 0.14、确定误差脉冲传递函数Ge(z)形式,满足单位速度信号输入时闭环稳态误差为零和实际闭环系统稳定的要求。(12分)syms z b0 b1 b2 b3 b4 a0 a1Gez=
16、(1-z-1)2*(b0+b1*z-1+b2*z-2+b3*z-3+b4*z-4)5、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dw(z)可实现、无波纹、最少拍和实际闭环系统稳定的要求。(16分)Gcz=z-1*(1+3.098*z-1)*(1-0.8187*z-1)*(1-0.4966*z-1)*(1+0.2167*z-1)*(a0+a1*z-1)6、根据4、5、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。(25分)f3=1-limit(Gez,z,Inf)f4=1-subs(Gez,z,-3.638)f5=1-subs(Gez,z,0.9048
17、)f6=1-subs(Gez,z,0.6376)f7=1-subs(Gez,z,-0.2614)b0 b1 b2 b3 b4=solve(f3,f4,f5,f6,f7)b=b0 b1 b2 b3 b4Gez=(1-z-1)2*(b0+b1*z-1+b2*z-2+b3*z-3+b4*z-4)Gcz=z-1*(1+3.098*z-1)*(1-0.8187*z-1)*(1-0.4966*z-1)*(1+0.2167*z-1)*(a0+a1*z-1)Gz=0.019664*z-1*(1+3.638*z-1)*(1-0.9048*z-1)*(1-0.6376*z-1)*(1+0.2614*z-1)/(1
18、-z-1)2*(1-0.9512*z-1)*(1-0.8187*z-1)*(1-0.6703*z-1)7、求针对单位速度信号输入的最少拍无波纹控制器Dw(z)并说明Dw(z)的可实现性。(9分)Guz=Gcz/GzDwz=Gcz/Gz/GezDwz=62500/1229*(-7929150695312500000000/193475848750043030997+26663123808593750000000/580427546250129092991/z)*(1-1189/1250/z)*(1-8187/10000/z)*(1-6703/10000/z)/(1+831610239281258
19、6061994/193475848750043030997/z+78720087568586324778973/580427546250129092991/z2-5296709545966023286148/82918220892875584713/z3-286820396263914359795/11380932279414295941/z4)8、用程序仿真方法或者图形仿真方法(Simulink)分析单位速度信号输入时闭环系统动态性能和稳态性能。(20分) N,D=numden(simplify(Gcz);numc=sym2poly(N)denc=sym2poly(D)N,D=numden(
20、simplify(Guz);numu=sym2poly(N)denu=sym2poly(D)t=0:0.1:20u=thold ondlsim(numc,denc,u)dlsim(numu,denu,u)hold offSimulnk图像仿真四、 课程设计的总结通过这次课程设计,使我受益匪浅。在摸索该如何运用MATLAB仿真课程实现所需功能的过程中,培养了我的逻辑思维能力,增加了实际编程的能力。在让我体会到了分析与设计系统的艰辛的同时,更让我体会到成功的喜悦和快乐。总之,这次实验我收获颇多。实践是获得知识的一种最好的手段! 经过此次MATLAB课程设计,我学到了很多MATLAB的知识,同时也对
21、计算机控制系统的认识深了一层。为了完美的完成这次课程设计,查阅资料看了很多MATLAB语言的运用方法,也查阅了一些关于MATLAB的书籍,同时我也掌握了很多新知识,特别是了解了许多MATLAB函数。在设计过程中,我也碰到了许多问题,走了很多弯路,主要是因为初次对MATLAB软件,有比较陌生的感觉,犯了一些常规错误,但最后通我查阅相关书籍和请教同学,问题都解决了。在解决问题过程中,学会了很多MATLAB的知识,最重要的是学会了自己解决问题的能力,知道怎么去处理发生的错误。五、参考文献【1】魏克新编MATLAB语言与自动控制系统设计机械工业出版社2004年【2】周品编MATLAB数学建模与仿真 国
22、防工业出版社 2009年【3】王正林、王胜开、陈国顺编MATLAB/Simulink与控制系统仿真 电子工业出版社 2008年附件:1号题程序仿真M文件num=1000 9000 14000den=1 17 87 135 0 0Gs=tf(num,den)Gz=c2d(Gs,0.1)a,b,c=zpkdata(Gz)Gz=zpk(a,b,c,variable,z-1)syms z b0 b1 b2 b3 b4 a0 a1Gez=(1-z-1)2*(b0+b1*z-1+b2*z-2+b3*z-3+b4*z-4)Gcz=z-1 *(1+3.098*z-1) *(1-0.8187*z-1) *(1-
23、0.4966*z-1) *(1+0.2167*z-1)*(a0+a1*z-1)f1=subs(Gcz,z,1)-1f2=subs(diff(Gcz,1),z,1)a0 a1=solve(f1,f2)a=a0 a1Gcz=z-1 *(1+3.098*z-1) *(1-0.8187*z-1) (1-0.4966*z-1) *(1+0.2167*z-1)*(a0+a1*z-1)f3=1-limit(Gez,z,Inf)f4=1-subs(Gez,z,-3.098)f5=1-subs(Gez,z,0.8187)f6=1-subs(Gez,z,0.4966)f7=1-subs(Gez,z,-0.2167
24、)b0 b1 b2 b3 b4=solve(f3,f4,f5,f6,f7)b=b0 b1 b2 b3 b4Gez=(1-z-1)2*(b0+b1*z-1+b2*z-2+b3*z-3+b4*z-4)Gcz=z-1 *(1+3.098*z-1) *(1-0.8187*z-1) *(1-0.4966*z-1) *(1+0.2167*z-1)*(a0+a1*z-1)Gz=0.13795 *z-1 (1+3.098*z-1) *(1-0.8187*z-1) *(1-0.4966*z-1) *(1+0.2167*z-1)/(1-z-1)2 *(1-0.7408*z-1)*(1-0.6065*z-1) *(1-0.4066*z-1)Guz=Gcz/GzDwz=Gcz/Gz/GezN,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:20u=thold ondlsim(numc,denc,u)dlsim(numu,denu,u)hold off18