电气工程系统建模与仿真项目驱动设计报告DOCX 30页Word文档下载推荐.docx
《电气工程系统建模与仿真项目驱动设计报告DOCX 30页Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《电气工程系统建模与仿真项目驱动设计报告DOCX 30页Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
Matlab;
系统数字仿真;
根轨迹;
伯德图。
第一章概述4
设计目的4
设计要求4
控制系统的界面设计8
龙格-库塔法的Matlab实现15
双线性变换法的Matlab实现16
系统PID控制的Matlab实现19
第四章附加功能的设计26
音乐播放器的设计26
第一章概述
设计目的
(1)熟悉MATLAB的常用交互界面与常用指令及其调用格式。
(2)掌握MATLAB的基本语法以及M文件的建立与基本操作。
(3)掌握MATLAB建立自动控制系统数学模型的方法。
(4)掌握实现连续系统数字仿真的方法。
(5)掌握实现连续系统离散化数字仿真的方法。
(6)掌握实现采样系统数字仿真的方法。
(7)掌握由根轨迹,伯德图,奈氏图等分析系统的稳定性的方法。
设计要求
控制系统的仿真演示具有以下几点要求:
(1)具有状态空间表达式、零极点形式、传递函数的三种数学模型,通过这三种模型输入系统的参数。
(2)能够用欧拉法、梯形法、龙格-库塔法绘制连续系统的输出响应曲线,同时能用PID控制器改善系统的性能。
(3)能够用双线性变换法、零阶保持器法、一阶保持器法绘制连续系统离散化的输出响应曲线,同时能用PID控制器改善系统的性能。
(4)能够绘制控制系统的根轨迹、伯德图、尼克尔斯图、奈氏图。
便于分析系统的稳定性,频域。
(5)完成基本要求可增加附加功能,例如音乐播放器。
(6)整个仿真演示系统各功能互不干扰,正常运行。
设计内容
在进行MatlabGUI的设计时,考虑到各版本的兼容问题,本文未采用使用Guide建立GUI的方法,而是直接建立M文件,在文件中使用代码建立仿真系统所需的窗口和各控件。
设计思路如下:
(1)在M文件中先建立界面窗口,再建立各控件,在建立这些控件时,首先将窗口和所有控件的可视性都关闭,当界面设计完毕时打开主界面的可视性,这样就不会出现一打开就出现画面卡顿的现象。
(2)调整所用控件的位置,使界面看起来美观。
(3)界面完成好之后,就是编写各控件的回调函数。
(4)在完成所有基本功能后,设计一些附加的功能。
第二章Matlab简介
Matlab的功能特点
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&
laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。
是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态
系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中。
为科学研
究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决
方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的
编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用
软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、
实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、
控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形
式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情
简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强
大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
Matlab的基本操作
Matlab的操作界面由工作窗口、开始按钮、功能菜单和工具栏等组成。
(1)Matlab的工作窗口在默认状态下是由命令窗口、历史命令窗口、当前工作目录窗口、工作空间浏览器窗口等构成。
(2)Matlab的开始按钮位于Matlab操作界面的左下角,单击这个按钮后,会出现Matlab的操作菜单。
这个菜单上半部分的选项包含Matlab的各种交互界面,下半部分的选项的主要功能是窗口设置、访问Matlab公司的网页和查看帮助文件等。
(3)功能菜单包括File-文件操作菜单、Edit-编辑菜单、Debug-调试菜单、Desktop-桌面菜单、Window-窗口菜单。
(4)工具栏可快速进入Guide模板窗口、建立M文件等。
第3章控制系统仿真设计
控制系统的界面设计
在本次设计中,不采用guide建立GUI,单纯的由M文件来实现控制的界面的设计,在该系统中,设计了一个主窗口,9个坐标,但只有一个坐标系是用来显示输出响应的,两个显示背景图片,其他坐标用来显示文字,就能实现在图片上显示文字并且和背景色保持一致;
设计了19个普通按键,各有各自的功能,能实现进入系统,退出系统等功能;
另外还有两个选择框和一个静态文本框,两个选择框分别用来选择输入模型和选择歌曲播放,静态文本框用来显示实时时钟。
系统界面如下:
图3-1控制系统未进入系统界面
图3-2控制系统进入系统界面
在进入系统之后,如果需要绘图,那么首先必须先输入参数,当为输入参数而绘图时,会弹出错误对话框errordlg('
未选择系统数学模型!
'
),其他的情况也会出现别的提示框。
这里还设置了一个输入的按键,因为输入的不一定是阶跃响应,所以在这里加了一个输入按键,在界面上看起来好像只有暂停播放而没有继续播放,但是当你按下暂停播放后,转而出现的就是继续播放,这里运用的就是按键的可视性,这样就能节省出一小块地方,也更加美观。
控制系统的输入模型设计
在设计系统的输入模型时,我们已经打算设计三种输入的模型,分别是多项式传递函数、空间状态表达式、零极点形式。
在这里,我采用选择框来选择想要输入的模型,另外还设计了一个输入按键,可以设置输入信号,仿真时间,步长等值。
具体选择操作如图:
图3-3输入信号的设置
图3-4输入模型的选择
图3-5多项式传递函数的输入
图3-6空间状态表达式的输入
图3-7零极点形式的输入
在设置输入的时候只需要设置一次,在选择输入模型时也只要选择一种输入模型,然后按输入的提示进行输入。
欧拉法的Matlab实现
在数学和计算机科学中,欧拉法是一种一阶数值方法,用以对给定初值的常微分方程(即初值问题)求解。
它是一种解决常微分方程数值积分的最基本的一类显型方法。
欧拉法又称折线法或矩形法,是最简单也是最早的一种数值方法。
基本思想是迭代。
将
(3-1)
(3-2)
微分方程两边进行积分,得:
(3-3)
即
(3-4)
通常假设离散点t1,t2,....,tn是等距离的,即tk+1-tk=h,称h为计算步长或步距。
当t>
t0时,x(t)是未知的,因此式子(3-4)右端的积分是求不出来的。
为了解决这个问题,把积分间隔取得足够小,使得在tk与tk+1之间的f(t,x(t))可以近似看做常数f(tk,x(tk))。
这样便得到用矩阵公式积分的近似公式
(3-5)
或简化为
(3-6)
这就是欧拉公式。
以x(t0)=x0作为初始值,应用欧拉公式就可求出解x(t)。
欧拉法虽然比较简单,但精度较低。
这里的欧拉法针对连续系统,当输入信号经过系统,利用欧拉法处理后,输出信号将会发生变化,然后在坐标上画出时间与输出的对应关系,进而形成数字仿真曲线。
运行结果:
图3-8欧拉法仿真曲线
说明:
输入是以零极点形式输入,其中Z=-2;
P=0,-1,-3;
K=2;
r=1;
Tf=5;
h=。
梯形法的Matlab实现
欧拉公式中的积分是用矩形面积f(tk,xk)h来近似的,用矩形面积代替积分误差较大,为了提高精度,先用梯形面积来代替积分,即
(3-7)
于是可得梯形法的计算公式为
(3-8)
由于上式右边包含未知量xk+1,所以每一步都必须通过迭代法来求解。
每一步迭代的初始值通常采用欧拉公式来计算。
因此梯形法的每一步迭代公式为
(3-9)
式中,迭代次数R=0,1,2,....
梯形法比欧拉法更加精确,当输入经过梯形法处理后,且计算步长比较小,得出的图形与欧拉法处理后的图形相差不大,但是实际上梯形法处理的更加精确。
在输入信号的基本参数
图3-9梯形法仿真曲线
龙格-库塔法的Matlab实现
龙格-库塔方法是一种在工程上应用广泛的高精度单步算法。
由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。
该算法是构建在数学支持的基础之上的。
在这里介绍介绍四阶龙格-库塔公式:
(3-10)
欧拉法、梯形法都是基于在初值附近展开成泰勒级数的原理,所不同的是取泰勒级数的项数。
欧拉公式取到h项,梯形法与二阶龙格-库塔法相同,均取到h2项;
四阶龙格-库塔法取到h4项。
从理论上讲,取的项数越多,计算精度越高,但计算量越大,越复杂,计算误差也将增加,因此要适当的选择。
目前在数字仿真中,最常用的是四阶龙格-库塔法,能够满足仿真精度的要求。
现在一般情况下处理简单的连续系统的输出动态响应一般选择采用这种方法,因为相比较欧拉法,梯形法的话,龙格-库塔法更加能够满足仿真精度的要求,当系统还没达到四阶时,我们也可以构造成四阶,所以这种方法还是比较实用的。
图3-10龙格-库塔法仿真曲线
双线性变换法的Matlab实现
双线性变换法又称突斯(Tustin)法,是一种基于梯形积分规则的数字积分变换方法。
双线性替换公式,它可以从梯形积分公式中直接推导出来。
按这种替换公式进行替换,可以保证G(z)的稳定性,而且,具有一定的仿真精度。
已知梯形积分公式为:
(3-11)
即:
(3-12)
则有:
(3-13)
(3-14)
上式称为线性替换公式也可写为:
(3-15)
双线性变换将连续系统离散化,进而实现输出数字仿真曲线。
图3-11双线性法仿真曲线
T=。
零阶保持器法的Matlab实现
零阶保持器:
zero-orderholder(ZOH)。
实现采样点之间插值的元件,基于时域外推原理,把采样信号转换成连续信号。
零阶保持器的作用是在信号传递过程中,把第nT时刻的采样信号值一直保持到第(n+1)T时刻的前一瞬时,把第(n+1)T时刻的采样值一直保持到(n+2)T时刻,依次类推,从而把一个脉