基于GUI的自动控制系统基本性能分析(共41页)_第1页
基于GUI的自动控制系统基本性能分析(共41页)_第2页
基于GUI的自动控制系统基本性能分析(共41页)_第3页
基于GUI的自动控制系统基本性能分析(共41页)_第4页
基于GUI的自动控制系统基本性能分析(共41页)_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 毕业设计(b y sh j)(论文)设计(论文)题目基于GUI的自动控制系统基本性能分析 目 录TOC o 1-3 h u HYPERLINK l _Toc7207 摘 要 PAGEREF _Toc7207 1 HYPERLINK l _Toc13082 一、绪论(xln) PAGEREF _Toc13082 3 HYPERLINK l _Toc12590 (一)、课题(kt)研究的目的和意义 PAGEREF _Toc12590 3 HYPERLINK l _Toc20442 (二)、自动控制系统(kn zh x tn)概述 PAGEREF _Toc20442 3 HYPERLINK l _

2、Toc17418 (三) 、MATLAB简介及GUI图形用户界面的应用概述 PAGEREF _Toc17418 3 HYPERLINK l _Toc30359 二、基于GUI的自动控制系统分析设计原则 PAGEREF _Toc30359 4 HYPERLINK l _Toc18903 (一)、GUI的设计原则 PAGEREF _Toc18903 4 HYPERLINK l _Toc18348 (二) 、GUI的创建 PAGEREF _Toc18348 4 HYPERLINK l _Toc5533 2.1 建立GUI的主要方式 PAGEREF _Toc5533 4 HYPERLINK l _To

3、c2798 2.2 通过GUIDE设计GUI的三个主要阶段 PAGEREF _Toc2798 4 HYPERLINK l _Toc11584 2.3 控件及其常用属性设置 PAGEREF _Toc11584 5 HYPERLINK l _Toc8302 三、 基于GUI的线性控制系统基本性能分析设计实现 PAGEREF _Toc8302 6 HYPERLINK l _Toc21922 (一)、 线性控制系统基本性能分析的主界面设计 PAGEREF _Toc21922 6 HYPERLINK l _Toc29241 1.1、在GUI的主界面创建打开图片文件菜单 PAGEREF _Toc29241

4、 6 HYPERLINK l _Toc28302 1.2、对线性系统三个模块的调用 PAGEREF _Toc28302 8 HYPERLINK l _Toc12079 1.3、主窗口退出的实现 PAGEREF _Toc12079 9 HYPERLINK l _Toc2201 (二)、线性系统的时域分析设计及MATLAB实现 PAGEREF _Toc2201 9 HYPERLINK l _Toc13800 1.1、时域分析介绍: PAGEREF _Toc13800 9 HYPERLINK l _Toc7945 1.2、控制系统的时域动态性能指标分析及MATLAB实现 PAGEREF _Toc79

5、45 9 HYPERLINK l _Toc30574 1.3、线性系统的时域稳态性能分析及MATLAB实现 PAGEREF _Toc30574 12 HYPERLINK l _Toc15892 (三)、线性系统的频域分析及MATLAB实现 PAGEREF _Toc15892 15 HYPERLINK l _Toc6419 1.1、传递函数的定义(dngy)及模型的建立 PAGEREF _Toc6419 15 HYPERLINK l _Toc24563 1.2、系统的频域分析(fnx)介绍 PAGEREF _Toc24563 16 HYPERLINK l _Toc5550 1.3、频率特性的基本

6、概念: PAGEREF _Toc5550 17 HYPERLINK l _Toc24470 1.4、频率分析法主要(zhyo)包括3种方法: PAGEREF _Toc24470 18 HYPERLINK l _Toc25091 (四) 、控制系统的状态空间分析及MATLAB实现 PAGEREF _Toc25091 20 HYPERLINK l _Toc5635 1.1、状态空间分析介绍 PAGEREF _Toc5635 20 HYPERLINK l _Toc29983 1.2、状态空间模型的建立 PAGEREF _Toc29983 21 HYPERLINK l _Toc8101 1.3、控制系

7、统的可控性与可观性 PAGEREF _Toc8101 22 HYPERLINK l _Toc23796 1.4、李雅普诺夫稳定性分析 PAGEREF _Toc23796 23 HYPERLINK l _Toc28949 四、总 结 PAGEREF _Toc28949 25 HYPERLINK l _Toc2170 参考文献 PAGEREF _Toc2170 27 HYPERLINK l _Toc24352 附 录 PAGEREF _Toc24352 28 HYPERLINK l _Toc31769 谢 辞 PAGEREF _Toc31769 35摘 要自动控制系统就是在无人直接操作或干预的条件

8、下,通过控制装置使控制对象自动的按照给定的规律运行,使被控量按照给定的规律去变化的系统。在现代工业生产中,自动控制系统已经遍布(bin b)每一个角落,对于线性时不变系统,可以通过时域、频域分析法来分析系统的性能,但是对于多输入多输出的控制系统,时域、频域分析已经无能为力,鉴于这样的控制系统,可以通过线性系统的状态空间分析法来分析。本文针对自动控制系统的设计很大程度上还依赖于实际系统的反复实验,结合具体的实例,介绍了利用先进的 Matlab 软件对自动控制系统进行时域、频域分析和线性系统状态空间分析的方法,通过快速直观的仿真和分析达到自动控制系统的优化,并利用GUI实现(shxin)。Matl

9、ab GUI是一种包含多种对象的图形窗口(chungku),利用GUI能进行可视化界面的设计并对实例进行仿真。 关 键 词Matlab 、GUI、自动控制系统、时域 、频域 、状态空间。 Abstract Automatic control system makes object operate according to a certain law automatically to let the controlled quantity change by given law on the condition that nobody operate and control directly.A

10、utomatic control system exists every corner of the world in the modern industrialized production,which can analyze the performance of the system by time domain and frequency domain for the linear time-invariant control systems. However, to the system with multiple inputs and multiple outputs,the way

11、 to analyze through time domain and frequency domain can not do anything. Due to the control system, it can analyze through linear system state space.Due to this point that the design of automatic control system largely depends on repeated practice and modification, combined with the concrete exampl

12、e, this paper introduces the way to analyze and simulate the time domain and frequency domain and linear system state space of automatic control system by advanced Matlab,it can reach the optimal of automatic control system by direct and fast with GUI.GUI is a kind of graphical window with several o

13、bjects. GUIDE has provided a flexible and efficient integrated environment. Key wordsMatlab、GUI、Automatic control system、Time domain、Frequency domain、State space. 一、绪论(xln)(一)、课题研究的目的(md)和意义在学习自动控制系统的过程中发现,当需要(xyo)建立数学模型、绘制根轨迹、波特图、尼克尔斯和奈奎斯特曲线等都需要大量繁琐的计算才能计算和绘制相应的图,从而在MATLAB中对自动控制系统进行研究分析就是有必要的,它省去了大

14、量繁琐的计算。在学习MATLAB过程中了解到它具有强大的数学应用功能,MATLAB 的GUI是图形用户界面,可以通过设置用户界面调用内部函数,从而进行计算。图形用户界面非常直观的让使用者知道如何进行操作,使应用变得简单。本课题的目的是通过设计GUI界面,利用MATLAB对线性系统进行研究分析,从而使线性系统的分析研究变得简单,省去了大量的计算,在所设计的GUI应用界面中就可以得到67。(二)、自动控制系统概述 在现代社会生产过程中,为了提高产品的质量,需要对生产设备和生产过程进行自动控制,使被控的量按照期望的规律去变化。这些被控的设备称为控制对象,被控制的量称为被控量或输出量。 自动控制系统是

15、在无人直接参与的情况下,可使生产过程按照期望的运行规律去运行的控制系统。系统是完成要求和任务的部分的组合。、MATLAB简介及GUI图形用户界面的应用概述MATLAB程序设计语言是Math Works公司于20世纪80年代推出的高性能的数值矩阵计算软件。其功能强大,适用范围广泛,提供了丰富的库函数,编程简单、易懂、效率高。MATLAB无论作为科学研究与工程运算的工具,还是作为控制系统方阵的教学工具,都是必不可少的。MATLAB主要由以下三个部分组成1117:MATLAB图形处理系统这是MATLAB图形系统的基础,它包括生成二维数据和三维数据可视化、图像处理、动画及演示图形和创建完整的图形用户接

16、口的命令。MATLAB数学函数库MATLAB提供了非常丰富(fngf)的数学计算函数,可以进行简单和复杂的数学计算,比如矩阵求逆、级数求和和快速傅里叶变换等。MATLAB应用(yngyng)程序接口MATLAB用户能够在MATLAB环境中使用其它程序(chngx),也可从MATLAB中调用其它程序。GUI是提供人机交互的工具和方法。GUI是包含图形对象,如窗口、图标、菜单和文本的用户界面。以某种方式选择或激活这些对象,通常引起动作或发生变化。单击鼠标,标志着对象的选择或其他动作。一个设计优秀的GUI能够非常直观地让用户知道如何操作MATLAB界面,了解设计者开发意图。令人兴奋的事,对于绝大多数

17、使用GUI的计算机用户都知道如何去应用GUIDE的标准控件,这也为GUI设计提供了广阔的前景。MATLAB的GUI为开发者提供了一个不脱离MATLAB的开发环境,有助于MATLAB程序的集成19。由于MATLAB的工程计算、仿真能力使得越来愈多的用户从原先的开发环境转到MATLAB上来。MATLAB提供了一个简便的开发环境,可以让研究者很快的上手,让研究者更加专注于更需要的其他地方,提高研究者的效率7。二、基于GUI的线性控制系统分析设计原则(一)、GUI的设计原则MATLAB图形用户界面开发环境提供了一系列创建用户图形界面(GUI)的工具极大的简化了GUI设计和生成的过程。 MATLAB设计

18、GUI其实并不是很复杂的,主要设计4个方面的内有:添加组件、编辑菜单、设置属性和回调函数。 使用图形用户界面主要为了达到以下目的:(1)编写一个需多次反复使用的使用函数,菜单、按钮、文本框作为输入方法具有意义。(2)编写函数或开发应用程序供别人使用。(3)创建一个过程、技术或分析方法的交互式实例。为了实现这一目的,一个优良的图形用户界面有以下特性:(1)可使用性;(2)灵活性;(3)复杂性和可靠性719。、GUI的创建2.1 建立GUI的主要方式 本设计直接通过MATLAB的GUI编辑界面-GUIDE来建立GUI。GUIDE是一个专用于GUI程序设计的快速开发环境,使用者通过鼠标就能迅速的产生

19、各种GUI控件,从而帮助用户方便地设计各种符合要求的图形用户界面。由于这种方法比较直观、而且用这种方式建立的GUI在M文件的管理上也比较方便,如果日后要修改部分程序代码,可以快速且容易地找到修改的部分内容,因此本文采用该方式完成界面设计。2.2 通过GUIDE设计GUI的三个主要阶段 通过MATLAB的GUI编辑界面GUIDE来设计一个完整的GUI界面,包括以下三个主要阶段: (1)图形界面设计初步规划阶段(jidun)。该阶段的主要设计任务是明确该图形界面设计的任务,从而确定所需要的控件类型及个数,菜单中将包含的命令等。 (2)图形用户界面的结构设计阶段。该阶段的主要工作是利用设计向导构造整

20、个图形界面的布局,合理(hl)设计菜单、按排控件位置等,并进行必要的属性设置。 (3)图形用户界面的功能设计阶段。该阶段的主要工作是为了菜单、控制编写回调函数的程序代码,具体实现(shxin)界面的各种互动功能。 一个GUI应用软件的实现,最终是要通过对控件对象的操作来完成,而这些操作必定是通过MATLABE中函数代码的执行来实现。函数代码的编制即可以通过编写回调函数完成,而后在编写时可以把该控件的函数代码直接写在callback中;也可以把函数代码放在一个自动以的M文件中,而后在callback中只将其文件名写上。2.3 控件及其常用属性设置本设计是基于MATLAB7.0开发设计的。使用GU

21、I创建图形用户界面时,在打开的空白模板中GUI提供了用户界面控件及其设计工具来实现用户界面的创建。打开的GUI编辑界面如图2-3所示,它由设计向导、GUI控件和用户界面编辑窗口三部分组成。图2-3 GUI 设计窗口GUI对话框控件如下:按钮(Push Button)双位按钮(Toggle Button)单选按钮(Radio Button)列表框(List box)静态(jngti)文本(Static Text)编辑框(Edit Box)弹出框(Popup Menu)边框(binkung)(Frame)滑动(hudng)条(Slider)10.复选框(Check Box)控件常用的属性有; St

22、ring属性:该属性的取值是字符串。它定义控件对象的说明文字,如按钮上的说明文字及单选按钮或复选按钮后面的说明文字等。FontSize属性:该属性的取值是数值,它定义控件对象标题等字体的字号。字号单位由FontUnits属性定义。默认值与系统有关。Tag属性:该属性的取值是字符串。允许用户建立起在对话框控件对象被选中后的响应命令。Callback属性:该属性的取值是字符串,可以是某个M文件名或一组MATLAB命令。在该菜单项被选中以后,MATLAB将自动调用此回调函数来作出对相应菜单项的响应。MATLAB中的控件属性很多,控件的功能及其它属性,会随着实际应用中遇到的问题不同而变化,因此要设置哪

23、些对象的属性,哪些对象的属性不用设置,都需做具体问题具体分析2。基于GUI的线性控制系统基本性能分析设计实现(一)、 线性控制系统基本性能分析的主界面设计 本课题对线性系统进行研究分析了三个方面其中包括线性系统的时域、频域分析、状态空间分析。在GUI的设计时本文相应地设计了三个模块对线性系统进行研究分析,如图3-1所示的三个按钮。打开主页面弹出下图:图3-1 主界面(jimin) 点击4个button按钮分别连接线性控制系统的时域分析、频域分析、线性系统的状态空间(kngjin)分析及运行结束的相关内容。1.1、在GUI的主界面创建打开(d ki)图片文件菜单(1)步骤:在MATLAB的命令窗

24、口口中运行guide命令,再打开guide界面; 选择空模板,点击OK,即可打开guide的设计界面; 点击工具栏上的菜单编辑器,打开菜单编辑器,在Menu Bar中新建一个菜单项,名字为“文件”,并设置其响应。 在“文件”菜单下添加菜单项:“打开”。 保存我的界面为untitled1.fig,保存完毕之后,会自动打开untitled1.m文件,而我们所有的程序都是要写在这个M文件里。在编辑中,我们的每一个鼠标动作都对应一个Callback函数。那么我们的菜单项也是如此。在界面上,单击鼠标右键选择“Property Inspector”,即可打开属性窗口。当我们点击不同的空间时,其对应的属性都

25、会在这里显示,可以进行修改,最主要的属性莫过于Tag属性和String属性。(2) 下面我们来写打开菜单项的函数,要打开一个图片,先打开对话框。在界面编辑中,打开对话框的函数时候uigetfile。关于它的详细说明用help uigetfile命令查看。下面是打开菜单的响应函数:function a_file_open_Callback(hObject, eventdata, handles)% hObject handle to a_file_open (see GCBO)% eventdata reserved - to be defined in a future version of

26、MATLAB% handles structure with handles and user data (see GUIDATA)filename,pathname=uigetfile(*.bmp;*.jpg;*.png;,.Image Files(*.bmp,*.jpg,*.png);*.*,All Files(*.*),.Pick an image);axes(handles.axes_src);fpath=pathname filename;imshow(imread(fpath); 保存.m文件,并运行(ynxng)程序。点击“文件(wnjin)”下的“打开(d ki)”,会打开如下

27、的对话框: 选择一个文件之后,程序中的filename 就是你选择的文件的文件名,pathname就是该文件所在的目录的路径。那么获得路径之后,我们要读入图片可以用imread函数,而显示可以在一个坐标轴上。我们需要在界面上画一个坐标轴,用于显示所选择打开的图片,并将坐标轴的Tag属性改为axes-src,更改后保存。如下图: 然后再m_file_open_Callback程序原来(yunli)的基础上,再添加如下的程序:axes(handles.axes_src);%设置(shzh)axes的string属性为axes-srcfpath=pathname filename;%将文件名和目录名

28、组合成一个完整(wnzhng)的路径imshow(imread(fpath);%用imread读入图片,并用imshow在axes-src上显 示运行结果,通过“打开”菜单项,打开一个图片,效果如下: 1.2、对线性系统三个模块的调用通过按钮控制,可分别弹出线性系统的时域、频域、状态空间分析模块。利用figure( );函数即可实现相应窗口的调用。1.3、主窗口退出的实现 在退出按钮的callback中采用如下程序即可实现:answer=questdlg(Do you want to close the window?);if answer=Yes; closeend 效果如下图: (二)、线

29、性系统的时域分析设计及MATLAB实现1.1、时域分析介绍:时域分析法是根据线性系统的微分方程,利用拉氏变换直接求出系统的时间响应,然后按照响应曲线来分析系统的性能,是一种直接在时域中对系统进行分析的方法,具有直观和准确性的优点。在控制系统时域动态(dngti)分析中,典型的动态过程有单位阶跃响应、单位斜坡响应、单位加速度响应、单位(dnwi)冲击响应等,其中最常用的分析方法是:当输入为阶跃信号时,求出系统的响应45。 时域分析的另一个目的是求解响应的性能指标。通常将控制系统跟踪或复现阶段输入信号相应(xingyng)的指标作为系统控制性能的指标。线性控制系统的指标有静态和动态两种。动态性能指

30、标为跟随性能指标与抗扰动性能指标两种。跟随性能指标有上升时间,峰值时间、超调量、调整时间等;抗干扰性能指标有动态降落、恢复时间等。1.2、控制系统的时域动态性能指标分析及MATLAB实现通常在单位阶跃信号作用下,稳定系统的动态过程随时间t变化的指标称为动态性能指标。系统动态性能是以系统阶跃响应为基础来衡量的。一般认为阶跃输入对系统而言是比较严峻的工作状态,若系统在阶跃函数作用下的动态性能满足要求,那么系统在其它形式的输入作用下,其动态性能也是令人满意的。所以通常以阶跃响应来衡量系统控制性能的优劣和定义瞬态过程的时域性能指标。稳定的随动系统(不计扰动)的单位阶跃响应函数有衰减振荡和单调变化两种。

31、(1)衰减振荡具有衰减振荡的瞬态过程如图所示 : 图3-2-1系统单位阶跃响应曲线 MATLAB提供了线性定常系统的各种时间响应函数和各种动态性能分析函数,本文主要介绍step()函数、tf()函数。tf()函数的功能:用来建立传递函数模型。step()函数的功能:求线性定常系统的单位阶跃响应。 其调用格式分别如下: sys=tf(num,den); step(sys);其中num和den分别表示系统传递函数的分子与分母多项式系数表示的向量1。例如:已知单位反馈系统的传递函数为G(s)= 10/(S2+S+10);求系统的单位阶跃响应。 MATLAB程序如下:num= 10 ;den= 1,1

32、,10 ;sys=tf(num,den);step(sys);title(单位(dnwi)阶跃响应);xlabel(t);ylabel(y(t);grid on;控制系统常用的的动态(dngti)性能指标有以下几个: 延迟时间 延迟时间是阶跃响应(xingyng)第一次达到终值y()的50%所需的时间。上升时间 上升时间是指阶跃响应从终值的10%上升到终值的90%所需的时间;对有振荡的系统,也可以定义为从0到第一次达到终值所需的时间。峰值时间 峰值时间是指阶跃响应越过终值y()达到第一个峰值ymax所需要的时间。调节时间调节时间是指阶跃响应达到并保持在终值y()的2%或5%误差内所需的最短时间

33、。在默认情况下MATLAB计算动态性能时,取误差范围为2%。它反映了动态响应过程进行的快慢,是系统快速性指标,值越小,系统的快速性就越好。超调量% 超调量是指峰值y(tp)超出终值y()的百分比,即 在上述几种性能指标中, 、 、 表示瞬态过程进行的快慢,是快速性指标;而% 反映瞬态过程的振荡程度,是振荡性指标。其中 % 和 是两种最常用的性能指标3。在MATLAB中,求某个系统以上5个时域性能指标的实现:例如:已知系统的传递函数为G(s)=(s+1)/(s2-2s+1),求该系统的时域性能指标,包括系统的延迟时间 、上升时间、峰值时间、调节时间、超调量%。 MATLAB程序如下:%计算峰值时

34、间tp的程序如下:num=1 1;den=1 -2 1;sys=tf(num,den);my,i=max(y);tp=t(i);%计算延迟时间td的程序(chngx)如下:yfinal=y(length(t);y50=0.5*yfinal;i=1;while y(i)y50; i=i+1;endtd=t(i);%计算上升时间tr程序(chngx)如下:yfinal=y(length(t);y10=0.1*yfinal;y90=0.9*yfinal;i=1;while y(i)y10; i=i+1;endt1=t(i);j=1;while y(j)0.98*yfinal)&(y(j)1.02*y

35、final); j=j-1;end;ts=t(j);%计算超调量%的程序如下:yfinal=y(length(t);percentovershoot=100*(my-yfinal)/yfinal;(2)单调变化 单调响应的过程如图所示: 图3-22系统(xtng)单位阶跃响应曲线这种系统就无需(wx)采用峰值时间和最大超调量%这两个指标。此时(c sh)最常用的是调节时间这一指标来表示瞬态过程的快速性。有时也采用上升时间这一指标。1.3、线性系统的时域稳态性能分析及MATLAB实现 稳态过程,指系统在典型输入信号作用下,当时间趋于无穷大时,系统输出量的表现方式。 (1)稳定性 如果在扰动作用下

36、系统偏离了原来的平衡状态,在扰动消失后,系统能够以足够的准确度恢复到原来的平衡状态,则系统是稳定的;否则系统不稳定。稳定是系统正常工作的首要条件。线性系统的稳定性只取决于系统本身,与外界无关。用零极点分布图判断系统的稳定性 若系统是连续时间控制系统,其闭环传递函数的极点均严格位于S左半平面,则此系统是稳定系统。在MATLAB中,用此方法可以判断该线性系统的稳定性。利用函数pzmap()可在坐标轴中绘制系统的零极点分布图。然后,观察是否有位于S右半平面的极点分布,若有,则可知该系统不稳定,否则该系统稳定,从而判断出系统的稳定性1。该性能在GUI中的实现:例如:已知系统的传递函数为G(s)= (S

37、+1)/(S2+S+10),绘制其零极点分布图并判断该系统的稳定性。MATLAB编程:sys=tf( 1 1 , 1 -2 1);pzmap(sys);ylabel(j);title(零极点分布图);grid on; 图3-23系统(xtng)的零极点分布图 由上图可知该系统(xtng)位于S右半平面的极点有2个,分别为0.5+1.3229i和0.5-1.3229i,所以该系统不稳定。用根轨迹法判断(pndun)系统的稳定性根轨迹法是一种求解闭环特征方程根的简便图解法,它是根据系统的开环传递函数极点、零点的分布和一些简单的规则,研究开环系统某一参数从零到无穷大时闭环系统极点在s平面的轨迹.控制

38、工具箱中提供了rlocus函数,来绘制系统的根轨迹,利用rlocfind函数,在图形窗口显示十字光标,可以求得特殊点对应的K值1.已知一控制系统,H(s)=1,其开环传递函数为:G(s)=0.0248/s(s+1)(s+2),绘制其根轨迹并判断稳定性。 MATLAB编程:num= 0.0248;den= 1 3 2 0;rlocus(num,den);%根轨迹。axes(handles.axes2);grid on;xabel(Re);ylabel(Im); 图3-24系统的根轨迹由根轨迹图可得到该系统的零极点:P1=-2.0151,P2=-0.9692, P3=-0.0158。则该闭环系统具

39、有不同的负实数极点,表明系统处于过阻尼状态,系统稳定。(2)在MATLAB中用GUI实现对线性控制系统的时域分析: 设计GUI界面对线性系统进行时域分析,用以分析实现稳定的控制系统性能。根据需要,该界面设置了2个编辑控件(edit text),3个坐标控件(axes),1个列表框(listbox),3个动态按钮控件(push button)和8个静态文本框控件(static text)。在GUI环境下,用鼠标将所需要的所有控件拖动并排列成一个合适的布局,完成各部件的属性设置,并将结果保存到untitled*fig文件中,MATLAB会生成同名*.m文件,在分析结果按钮的回调程序中编写程序,实现

40、线性系统的时域分析。回调程序的主要语句或函数及其功能说明: 语句(yj):t=str2num(get(handles.edit1),string); 该语句(yj)先从GUI界面上控件的Tag属性为edit1的编辑框控件内获取所输入的字符串数据,在将其转化成数值数据后赋值给ts。 语句(yj):set(handles.text4 ,string,num2str(ts)); 该语句先将变量ts的数值型数据转换成字符型数据,再将其GUI界面上控件的Tag属性的text1的静态文本框控件中显示。 函数:step() 在MATLAB中,通过调用函数step()可以快速、准确地计算出线性系统的单位阶跃响

41、应,并绘制出该系统的单位阶跃响应曲线。当已知系统的闭环传递函数时,step()函数的调用格式为: y,x,t=step(num,den)其中,输入的函数参数num,den分别为系统闭环传递函数分子,分母多项式降幂排列多项式系数向量,函数输入参数t为指定的时间向量,省略时按系统默认值。若当输入的是单位反馈系统的开环传递函数分子(a)、分母(b)多项式系数向量时,须先用 num.den=cloop(a,b)函数求得该系统的闭环传递函数再调用step()函数即可。函数输出参数表y,x,t表达在某时刻t,输入x所引起的输出为y,均为向量形式1。 图3-25线性控制系统(kn zh x tn)的时域分析

42、总界面设计 完成回调函数后,以上(yshng)程序总体运行后即得图3-25所示的图形用户界面 。 (三)、线性系统的频域分析(fnx)及MATLAB实现1.1、传递函数的定义及模型的建立(1)传递函数的定义线性定常系统的传递函数是在零初始条件下,线性定常系统输出量的拉氏变换与输入量的拉氏变换之比,是描述系统的频率模型。传递函数不仅可以表征系统的动态特性,而且可以用来研究系统的结构或参数变化对系统性能的影响。经典控制理论中广泛应用的根轨迹法和频域法,就是以传递函数为基础建立起来的。 设线性定常系统的微方程一般可写为 式中,是系统的输出量;是系统输入量;和是与系统结构和参数有关的常系数。设和及各阶

43、导数在t=0时的值均为零,即是零初始条件,则对上式中各项分别求拉普拉斯变换,并令,可得s代数方程为:于是,由定义(dngy)得系统传递函数为: 传递函数是在零初始条件下定义的。 零初始条件有两方面的含义。一是指输入作用是在以后才作用于系统的,因此,系统输入量及其各阶导数在时均为零;二是指输入作用于系统之前,系统是相对静止的,即系统输出量及各阶导数在时的值也为零。大多数实际工程(gngchng)系统都满足这样的条件3。(2)线性系统的传递函数模型(mxng)建立 在MATLAB中线性系统可以很方便地由分子和分母多项式系数构成的两个向量唯一地确定,这两个向量分别用num和den表示。已知系统的传递

44、函数,在MATLAB的GUI界面中建立传递函数模型显示。 MATLAB语言编程如下:num=str2num(get(handles.edit1,string);den=str2num(get(handles.edit2,string);n=length(den);k=length(num);syms s;sys=0;fenz=0;for i=1:n sys=sys+den(i)*s(n-i);endfor j=1:k fenz=fenz+num(j)*s(k-j);endsys=char(sys);fenz=char(fenz);set(handles.text25,string,sys);s

45、et(handles.text26,string,fenz);%G(S). 其运行后的GUI界面如下图所示: 图3-31 传递函数模型建立的设计界面 1.2、系统的频域分析介绍 线性系统的数学模型分析、研究控制系统(kn zh x tn)的基础。当建立起系统的数学模型后,就可以采用各种方法分析系统的运动。 频域分析法是用频率特性来研究控制系统的一种方法,它是基于频率特性或频率响应对系统进行分析和设计的一种图解法,故又称为频率响应法。这种方法可以直观(zhgun)地表达出系统的频率特性,从而可以比较方便地由频率特性来确定系统性能,分析方法比较简单。频域分析法里主要用到3种曲线:Bode图、Niq

46、uist曲线图、Nichols曲线图,其中Bode图在频域分析里占有重要的地位。1.3、频率特性的基本概念:(1)频率响应(pn l xin yn) 线性控制系统在输入正弦信号时,其稳态输出随频率(w=0)变化的规律,叫做系统的频率响应,G(jw)用表示3。(2)频率特性 正弦信号作用下,系统输出的稳态分量为同频率的正弦信号,其振幅与输入正弦信号振幅的比相对于正弦信号角频率间的关系A(w)叫做幅频特性,其相位与输入正弦信号的相位之差相对于正弦信号角频率间的关系(w)叫做相频特性3。 系统频率响应与输入正弦信号的复数比叫做系统的频率特性。记作: G(jw)=A(w)系统的频率特性与系统的传递函数

47、之间有着简单而直接的关系: G(jw)=G(s)|(3)幅相特性 系统的频率特性G(jw)=A(w)中既有振幅信息又有相位信息,所以又叫做系统的幅相特性3。(4)频率性能指标峰值: 它是幅频特性A(w)的最大值,一般来说,峰值的大小表明闭环控制系统相对稳定性的好坏,峰值越大,表明系统对某个频率的正弦信号反应强烈3。剪切频率: 系统开环对数幅频特性曲线20lg|G(jw)|与横坐标轴w交点的角频率,常用来表示3。穿越频率: 系统开环对数相频特性曲线(w)与-线交点所对应的角频率,常用来表示3。稳定(wndng)裕度: a.相角(xin jio)稳定裕度 系统开环幅相特性曲线G(jw)上模值等于1

48、的向量与负实轴的夹角(ji jio),常用来表示,即: =()-(-)。 b.幅值稳定裕度 系统开环幅相特性曲线G(jw)与负实轴交点模值|G()|的倒数,常用h来表示,即: h=|。1.4、频率分析法主要包括3种方法:(1)Bode图 Bode图即对数频率特性曲线。设已知系统的传递函数模型为: 则系统的频率响应可直接求出,得 系统的Bode图就是的幅值与相位对进行绘图,因此也称为幅频和相频特性曲线。横坐标都是角频率,是按常用的对数刻度即,对数相频特性的纵轴坐标是,其单位为角度;对数相频特性的纵轴坐标是,其单位为分贝3。Bode判据,实质上是Nyquist判据的引伸.本开环系统是最小相位系统,

49、即P=0,用Xc表示对数幅频特性曲线与横轴(0dB)交点的频率,Xg表示对数相频特性曲线与横轴(-180o)交点的频率,则对数判据可表述如下:在P=0时,若开环对数幅频特性比其对数相频特性先交于横轴,即WcWg,则闭环系统不稳定;若Wc=Wg,则闭环系统临界稳定4.(2)Nyquist曲线 Nyquist曲线是根据开环频率特性在复平面上绘出的幅相轨迹。根据开环的Nyquist的曲线,可判定闭环系统的稳定性。 奈氏稳定判据的内容是:若开环传递函数G(s)在s平半平面(pngmin)上有P个极点,则当系统角频率W由-变到+时,如果Nyquist曲线(开环频率特性曲线)在复平面上时针围绕(-1,j0

50、)点转P圈,则闭环系统稳定(wndng),否则,是不稳定的4.(3)Nichols图对于单位(dnwi)负反馈系统其闭环与开环传递函数之间的关系为: 则频率特性之间的关系为: 若以模幅值表示: 则: 由此可得两个函数表达式: 这两个函数表达式的图形化曲线叫做Nichols曲线。下图是对线性系统频域性能指标的设计实现,在分子分母对应的edit框中分别输入想要计算的式子的分子分母多项式系数构成的向量,便可得到相应的传递函数模型。通过调用M文件函数实现求取幅值、相角、频率。完成回调函数后,运行程序即得到图3-3所示的图形用户界面图3-32线性控制系统(kn zh x tn)的频域分析总界面设计下图是

51、对bode图的设计实现,通过调用(dioyng)M文件函数实现绘制bode图。 图3-33 伯德图调试(dio sh)结果下图是对尼克尔斯曲线的设计实现,在分子分母对应的edit框中输入想要计算的式子得分子分母矩多项式系数构成的向量,通过调用M文件函数实现绘制尼克尔斯曲线。 图3-34尼克尔斯曲线(qxin)调试结果下图是对奈奎斯特曲线的设计实现,在分子分母(fnm)对应的edit框中输入想要计算的式子得分子分母多项式系数构成的向量,通过调用M文件函数实现绘制奈奎斯。 图3-35奈奎斯特曲线(qxin)调试结果、控制系统的状态空间分析及MATLAB实现1.1、状态空间分析介绍 用状态空间法进行

52、控制系统的分析和综合,比以传递函数为基础的分析设计方法更为直接和方便。为说明如何用状态空间描述和分析控制系统,这里先介绍状态向量、状态空间、状态方程等几个基本概念。 状态向量:状态向量是以状态变量为元组成的向量。如x1(t),x2(t)、x3(t),xn(t)是系统的一组状态变量,则状态向量就是以这组状态变量为分量的向量。其中,状态变量的选取不具有唯一性,同一种系统可能有多种不同的选取方式。状态空间:以x1(t),x2(t),x3(t),xn(t)为坐标轴所组成的正交n维空间,称为状态空间,状态空间中的每一点,都代表状态变量的唯一和特定的一组值。状态方程:由系统的状态变量构成的一阶微分方程组,

53、称为系统的状态方程。状态方程表征了系统由输入所引起的内部状态变化3。对线性系统的状态分析的研究与分析的GUI设计应用下表的函数设计。函数 功能tf2ss传递函数模型转换成状态空间模型ctrb求系统的可控性矩阵obsv求系统的可观性矩阵rank求系统的秩lyap求李雅普诺夫代数方程eig求特征值 表1-1 线性系统状态(zhungti)空间分析应用函数1.2、状态空间(kngjin)模型的建立 现代控制理论中的状态空间简单地说就是将描述系统运动的高阶微分方程改写成一阶联立微分方程组的形式或将系统的运动直接用一阶微分方程组来表示,写成矩阵形式,这样(zhyng)就得到了状态空间的模型。连续系统状态

54、空间模型为 =A+B =C+D其中,为r1的输入(r个)向量;为n1的状态变量;为m1的输出向量;A为nn的系统矩阵(状态矩阵),由控制对象的参数决定;B为nr的控制矩阵(输入矩阵);C为mn的输出矩阵(观测矩阵);D为mr的前馈矩阵3。 本设计采用输入线性系统的传递函数模型。在对系统进行状态空间分析时,须先转换成状态空间模型,用A,B,C,D=tf2ss(num,den)函数即可实现两者模型间的转换。若已知控制系统的传递函数模型,求同一系统所对应的状态空间模型。该功能在MATLAB中的实现如下: MATLAB语言编程:num=str2num(get(handles.edit9,string)

55、;den=str2num(get(handles.edit10,string);A,B,C,D=tf2ss(num,den);set(handles.listbox9,string,num2str(A);set(handles.listbox13,string,num2str(B);set(handles.listbox4,string,num2str(C);set(handles.listbox6,string,num2str(D);调用以上函数,运行得到的GUI界面如图 所示。 图3-41 状态空间(kngjin)模型转换的界面设计1.3、控制系统(kn zh x tn)的可控性与可观性

56、在状态空间分析中,系统的可控性和可观性是非常重要的概念,是现代控制理论中两个基本的概念。如果系统所有状态变量的运动都可以通过有限的控制点的输入来使其哟偶任意的初态达到任意设定的终态,则称系统是可控的,更确切地说是状态可控的;相应地,如果系统所有状态变量的任意形式的运动均可由有限测量点的输出完全(wnqun)确定出来,则称系统是可观测的,简称系统可观测3。(1)控制系统的可控性 线性系统=A+B,在时刻的任意初始值=,对于,(J为系统的时间定义域),可找到控制,其在,上的状态是完全可控的。系统带的完全可控性只取决于状态方程中的(A,B)矩阵。可以构造一个相似变换矩阵。 =(,.,)其中,n为系统

57、的阶次,矩阵称为系统的可控性变换矩阵。 矩阵可以由控制系统工具箱中提供的ctrb()函数自动生成出来,其调用格式为:Tc=ctrb(A,B) 其中,Tc为矩阵的秩,即rank(Tc),它的值是系统中可控状态的数目。如果rank(Tc)=n,则系统完全可控345。(2)控制系统的可观性 线性系统=A+B,在时刻存在,(J为系统的时间定义域),如果根据,的观测值y(t),在t,区间内能够唯一地确定系统在时刻的任意初始状态,则称系统在,上的状态是可观测的。系统的可观性只取决于状态方程的(A,C)矩阵。可以构造一个相似变换矩阵To。 =,.,其中(qzhng),n为系统的阶次,矩阵称为系统的可观测(g

58、unc)变换矩阵。 矩阵(j zhn)可以由控制系统工具箱中提供的obsv()函数自动生成出来,其调用格式为: To=obsv(A,C)其中,To为矩阵的秩,即rank(To),它的值是系统中可观测状态的数目。如果rank(To)=n,则系统完全可观测的345。若已知控制系统的开环传递函数,判断该系统的可观测性及可控性。该功能在MATLAB中的实现如下: MATLAB语言编程如下:num=str2num(get(handles.edit9,string);den=str2num(get(handles.edit10,string);A,B,C,D=tf2ss(num,den);Qo=obsv(

59、A,C);set(handles.listbox17,string,num2str(Qo);m=rank(Qo);set(handles.text25,string,num2str(m);if rank(Qo)=rank(A);set(handles.text26,string,measurable);elseset(handles.text26,string,unmeasurable);endQc=ctrb(A,B);set(handles.listbox18,string,num2str(Qc);n=rank(Qc);set(handles.text27,string,num2str(n)

60、;if rank(Qc)=rank(A);set(handles.text28,string,controllable);elseset(handles.text28,string,uncontrollable);end对系统的可控性和可观性进行分析设计了下面的GUI界面,在对应的edit框中输入想要计算的式子的分子分母矩阵,调用以上函数,点击求可观性判断的按钮实现对求可观性矩阵、秩及可观性的判断,点击求可控性判断的按钮实现对求可观性矩阵、秩及可观性的判断,实现的结果如图3-42所示。 图 3-42 线性系统可控性及可观(kgun)性判断界面设计1.4、李雅普诺夫稳定性分析(fnx) 设系统(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论