计算机仿真技术实验指导书2015版(MATLAB)(共52页)_第1页
计算机仿真技术实验指导书2015版(MATLAB)(共52页)_第2页
计算机仿真技术实验指导书2015版(MATLAB)(共52页)_第3页
计算机仿真技术实验指导书2015版(MATLAB)(共52页)_第4页
计算机仿真技术实验指导书2015版(MATLAB)(共52页)_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机仿真技术实验(shyn)指导书滨州学院(xuyun)光电工程系目 录 TOC o 1-3 h z u HYPERLINK l _Toc280869994 实验(shyn)一 MATLAB环境的熟悉与基本(jbn)运算1 HYPERLINK l _Toc280869995 实验(shyn)二 MATLAB数值及符号运算7 HYPERLINK l _Toc280869996 实验三 MATLAB语言的程序设计 PAGEREF _Toc280869996 h 11 HYPERLINK l _Toc280869997 实验四 MATLAB的图形绘制 PAGEREF _Toc280869997 h

2、 15 HYPERLINK l _Toc280869998 实验五 线性系统时域响应仿真分析 PAGEREF _Toc280869998 h 20 HYPERLINK l _Toc280869999 实验六 控制系统的根轨迹 PAGEREF _Toc280869999 h 24 HYPERLINK l _Toc280870000 实验七 控制系统的频率特性分析29 HYPERLINK l _Toc280870001 实验八 Simulink建模与仿真 PAGEREF _Toc280870001 h 34 HYPERLINK l _Toc280870002 实验九 基于传递函数的控制器设计 PA

3、GEREF _Toc280870002 h 42实验一 Matlab使用方法(数组和矩阵的基本运算)实验二 Matlab程序设计基本方法实验三 数值计算与绘图实验四 Simulink建模与仿真实验五 控制系统的分析(1)时域分析、频域分析和根轨迹分析实验六 控制系统的分析(2)稳定性分析实验七 经典控制系统设计根轨迹法实验八 经典控制系统设计Bode图法实验(shyn)一 MATLAB环境(hunjng)的熟悉与基本运算 一、实验(shyn)目的: 1熟悉MATLAB开发环境2掌握矩阵、变量、表达式的各种基本运算二、实验基本知识: 1.熟悉MATLAB环境: MATLAB桌面和命令窗口、命令历

4、史窗口、帮助信息浏览器、工作空间浏览器文件和搜索路径浏览器。2.掌握MATLAB常用命令clc 清除命令窗口中内容clear 清除工作空间中变量help 对所选函数的功能、调用格式及相关函数给出说明lookfor 查找具有某种功能的函数但却不知道该函数的准确名称who查询工作空间中的变量信息3.MATLAB变量与运算符变量命名规则如下: (1) 变量名可以由英语字母、数字和下划线组成(2) 变量名应以英文字母开头(3) 长度不大于31个(4) 区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。表1 MATLAB的特殊变量与常量变量名 功能说明 变量名 功能说明 ANS 默认变量名,

5、以应答最近一次操作运算结果realmin 最小的正实数i或j 虚数单位INF(inf) 无穷大pi 圆周率NAN(nan) 不定值(0/0) eps 浮点数的相对误差nargin 函数实际输入参数个数realmax 最大的正实数nargout 函数实际输出参数个数 MATLAB运算符,通过(tnggu)下面几个表来说明MATLAB的各种( zhn)常用运算符表2 MATLAB算术(sunsh)运算符操作符 功能说明 操作符 功能说明 + 加 矩阵左除- 减. 数组左除* 矩阵乘/ 矩阵右除.* 数组乘./ 数组右除 矩阵乘方 矩阵转置. 数组乘方. 数组转置表3 MATLAB关系运算符操作符

6、功能说明 = 等于= 不等于 大于= 大于等于= 小于等于表4 MATLAB逻辑运算符逻辑运算符 逻辑运算 说明 & And 逻辑与| Or 逻辑或 Not 逻辑非Xor 逻辑异或表5 MATLAB特殊运算符号 功能说明示例 符号 功能说明示例 : 1:1:4;1:2:11 . ; 分隔行 . , 分隔列 () % 注释 构成向量、矩阵 ! 调用操作系统命令 构成单元数组= 用于赋值 4.MATLAB的一维、二维数组的寻访(xnfng)表6 子数组访问(fngwn)与赋值常用的相关指令格式指令格式 指令功能 A(r,c) 数组A中r指定行、c指定列之元素组成的子数组A(r,:) 数组A中r指定

7、行对应的所有列之元素组成的子数组A(:,c) 数组A中c指定列对应的所有行之元素组成的子数组A(:) 数组A中各列元素首尾相连组成的“一维长列”子数组A(i) 一维长列子数组中的第i个元素A(r,c)=Sa 数组A中r指定行、c指定列之元素组成的子数组的赋值A(:)=D(:) 数组全元素赋值,保持A的行宽、列长不变,A、D两组元素总合应相同5.MATLAB的基本(jbn)运算表7 两种运算指令形式和实质内涵的异同表数组运算 矩阵运算 指令 含义 指令 含义 A 非共轭转置A 共轭转置A=s 把标量s赋给A的每个元素s+B 标量s分别与B元素之和s-B,B-s 标量s分别与B元素之差s.*A 标

8、量s分别与A元素之积s*A 标量s分别与A每个元素之积s./B,B.s 标量s分别被B的元素除S*inv(B)B阵的逆乘s A.n A的每个元素自乘n次An A阵为方阵,自乘n次A.p 对A各元素分别求非整数幂Ap 方阵A的非整数乘方A+B 对应元素相加A+B 矩阵相加A-B 对应元素相减A-B 矩阵相减A.*B 对应元素相乘A*B 内维相同矩阵相乘A./B A的元素别B的对应元素除A/B A右除B B.A 与上相同BA A左除B exp(A) 以自然数e为底,分别以A的元素为指数,求幂expm(A)A的矩阵指数函数log(A) 对A的各元素求对数logm(A) A的矩阵对数函数sqrt(A)

9、 对A的各元素求平方根sqrtm(A)A的矩阵平方根函数 6.MATLAB的常用(chn yn)函数表8 标准数组生成(shn chn)函数指令 含义 指令 含义 diag 产生对角形数组(对高维不适用)rand 产生均匀分布随机数组eye 产生单位数组(对高维不适用) randn产生正态分布随机数组magic 产生魔方数组(对高维不适用) zeros产生全0数组ones 产生全1数组size()返回指定矩阵的行数和列数表9 数组操作(cozu)函数指令 含义 diag 提取对角线元素,或生成对角阵flipud以数组“水平中线”为对称轴,交换上下对称位置上的数组元素fliplr 以数组“垂直中

10、线”为对称轴,交换左右对称位置上的数组元素reshape在总元素数不变的前提下,改变数组的“行数、列数” rot90 矩阵逆时针旋转90度det 方阵的行列式值rank 矩阵的秩三、实验内容 1、新建一个文件夹(自己的名字命名) 2、启动MATLAB6.5,将该文件夹添加到MATLAB路径管理器中。方法如下: 3、保存(bocn),关闭对话框 4、学习(xux)使用help命令,例如(lr)在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推) 5、学习使用clc、clear,观察command window、command history和w

11、orkspace等窗口的变化结果。6、初步(chb)程序的编写练习,新建M-file,保存(自己设定(sh dn)文件名,例如exerc1、exerc2、 exerc3),学习(xux)使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。注意:每一次M-file的修改后,都要存盘。练习A: (1) help rand,然后随机生成一个26的数组,观察command window、command history和workspace等窗口的变化结果。(2)学习使用clc、clear,了解其功能和作用。(3)输入C=1:2:20,则C(i)表示什么?其中i=1,2,3,10。

12、(4)输入A=7 1 5;2 5 6;3 1 5,B=1 1 1; 2 2 2; 3 3 3,在命令窗口中执行下列表达式,掌握其含义: A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A2 A.2 B/A B./A(5)二维数组的创建和寻访,创建一个二维数组(48)A, 查询数组A第2行、第3列的元素,查询数组A第2行的所有元素,查询数组A第6列的所有元素。(6) 两种运算指令形式和实质内涵的比较。设有3个二维数组A24,B24,C22,写出所有由2个数组参与的合法的数组运算和矩阵指令。(7) 学习使

13、用表8列的常用函数(通过help方法) (8) 学习使用表9数组操作函数。 练习B(10)用reshape指令生成下列矩阵,并取出方框内的数组元素。实验(shyn)二 MATLAB数值(shz)及符号运算实验(shyn)目的:1、了解伴随矩阵、稀疏矩阵、魔方矩阵、对角矩阵、范德蒙等矩阵的创建,掌握矩阵的基本运算2、掌握矩阵的数组运算3、掌握多项式的基本运算4、会求解代数方程5、掌握创建符号表达式和矩阵的方法6、掌握符号表达式的微分和积分运算实验基本知识:1、创建矩阵的方法:直接输入法;用matlab函数创建矩阵2、矩阵运算:矩阵加、减(,)运算矩阵乘()运算矩阵乘方inv 矩阵求逆det 行列

14、式的值eig 矩阵的特征值diag 对角(du jio)矩阵 矩阵(j zhn)转置sqrt 矩阵(j zhn)开方3、矩阵的数组运算:数组加减(.+,.-):对应元素相加减数组乘():a,b两数组必须有相同的行和列,两数组相应元素相乘数组除(./,.):a./b=b.a 都是b的元素被a的对应元素除(a除以b)a.b=b./a 都是a的元素被b的对应元素除( 除以a)数组乘方(.):元素对元素的幂数组点积(点乘):维数相同的两个向量的点乘,其结果是一个标量数组叉积:就是一个过两个相交向量的交点且垂直于两个向量所在平面的向量数组混合积:先叉乘后点乘4、多项式运算 poly 产生特征多项式系数向

15、量roots 求多项式的根p=poly2str(c,x)(以习惯方式显示多项式)conv,convs多项式乘运算deconv多项式除运算多项式微分polyder(p): 求p的微分polyder(a,b): 求多项式a,b乘积的微分p,q=polyder(a,b): 求多项式a,b商的微分5、代数方程组求解1).恰定方程组的解方程ax=b(a为非奇异)两种求解方法: x=inv(a)b 采用求逆运算解方程 x=ab 采用左除运算解方程 2)超定方程组的解方程 ax=b ,m-pi ) w0=w0+0.01;endw=w0;% 计算临界开环增益k=sqrt(1+w2);% 绘制系统开环幅相特性图

16、G=tf(k,1,1,inputdelay,0.8);nyquist(G)绘制所给系统的奈奎斯特图并判别稳定的K值范围。6实验报告 1)画出各系统的奈奎斯特图和波特图;2)利用系统波特图和奈奎斯特图对控制系统性能进行分析;实验(shyn)八 Simulink建模与仿真(fn zhn)一 实验(shyn)目的学习SIMULINK 软件工具的使用方法;用SIMULINK 仿真线性系统;二 实验内容1SIMULINK简介 SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是

17、使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取),进而进行仿真与分析。2 SIMULINK的启动进入SIMULINK界面,只要你在MATLAB命令窗口提示符下键入SIMULINK,按回车键即可启动SIMULINK软件。在启动S IMULINK软件之后,SIMULINK的主要方块图库将显示在一个新的Windows中。如图8-1所示: 在

18、MATLAB命令窗口中输入simulink :结果是在桌面上出现一个称为Simulink Library Browser的窗口,在这个窗口中列出了按功能分类的各种模块的名称。图8-1 SIMULINK的主要(zhyo)方块图库3SIMULINK的模块(m kui)库介绍SIMILINK模块(m kui)库按功能进行分为以下8类子库:Continuous(连续模块)Discrete(离散模块)Function&Tables(函数和平台模块)Math(数学模块)Nonlinear(非线性模块)Signals&Systems(信号和系统模块)Sinks(接收器模块)Sources(输入源模块)4SI

19、MULINK简单模型的建立(1)建立模型窗口(2)将功能模块由模块库窗口复制到模型窗口(3)对模块进行连接,从而构成需要的系统模型5SIMULINK功能模块的处理(1)模块库中的模块可以直接用鼠标进行拖曳(选中模块,按住鼠标左键不放)而放到模型窗口(chungku)中进行处理。(2)在模型窗口(chungku)中,选中模块,则其4个角会出现黑色标记。此时可以(ky)对模块进行以下的基本操作:移动:选中模块,按住鼠标左键将其拖曳到所需的位置即可。若要脱离线而移动,可按住shift键,再进行拖曳;复制:选中模块,然后按住鼠标右键进行拖曳即可复制同样的一个功能模块;删除:选中模块,按Delete键即

20、可。若要删除多个模块,可以同时按住Shift键,再用鼠标选中多个模块,按Delete键即可。也可以用鼠标选取某区域,再按Delete键就可以把该区域中的所有模块和线等全部删除;转向:为了能够顺序连接功能模块的输入和输出端,功能模块有时需要转向。在菜单Format中选择Flip Block旋转180度,选择Rotate Block顺时针旋转90度。或者直接按Ctrl+F键执行Flip Block,按Ctrl+R键执行Rotate Block。改变大小:选中模块,对模块出现的4个黑色标记进行拖曳即可。模块命名:先用鼠标在需要更改的名称上单击一下,然后直接更改即可。名称在功能模块上的位置也可以变换1

21、80度,可以用Format菜单中的Flip Name来实现,也可以直接通过鼠标进行拖曳。Hide Name可以隐藏模块名称。颜色设定: Format菜单中的Foreground Color可以改变模块的前景颜色,Background Color可以改变模块的背景颜色;而模型窗口的颜色可以通过Screen Color来改变。参数设定:用鼠标双击模块,就可以进入模块的参数设定窗口,从而对模块进行参数设定。参数设定窗口包含了该模块的基本功能帮助,为获得更详尽的帮助,可以点击其上的help按钮。通过对模块的参数设定,就可以获得需要的功能模块。属性设定:选中模块,打开Edit菜单的Block Prope

22、rties可以对模块进行属性设定。包括Description属性、 Priority优先级属性、Tag属性、Open function属性、Attributes format string属性。其中Open function属性是一个很有用的属性,通过它指定一个函数名,则当该模块被双击之后,Simulink就会调用该函数执行,这种函数在MATLAB中称为回调函数。模块的输入输出信号:模块处理的信号包括标量信号和向量信号;标量信号是一种单一信号,而向量信号为一种复合信号,是多个信号的集合,它对应着系统中几条连线的合成。缺省情况下,大多数模块的输出都为标量信号,对于(duy)输入信号,模块都具有一

23、种“智能”的识别功能,能自动进行匹配。某些(mu xi)模块通过对参数的设定,可以使模块输出向量信号。6SIMULINK应用(yngyng)举例+以具有双积分环节的系统G(S)为例,该系统的开环是不稳定的,为了使系统稳定,使用超前校正环节K(S)进行串联校正,见图8-2。- 图8-2 系统结构框图在建模之前,你需要创建一个工作区域。创建一个工作区域的方法为,选择File 项,然后再选择New ,这将开始一个新的窗口,其窗口名为“Untiledl”,可以在该窗口内构造系统模型,并称这个窗口为工作窗口。为了得到这个系统的阶跃响应,可以由两个传递函数、一个求和点、一个输入源及两个输出观测点等6个部分

24、组成这个系统。 输入源的元件位于Sources 库;传递函数与综合点方块都位于线性部分(Linear)库中。用同样方法,可将该库中的Transfer Fcn与Sum图形拖曳到工作空间,然后关闭Linear库; 如何得到其仿真的输出结果。在Sinks库中有三个功能方块可用于显示或存储输出结果。Scope 功能块可以像一台示波器,实时地显示任何信号的仿真结果。To Workspace功能块可以把输出值以矢量的形式存储在MATLAB工作空间中,这样可以在MATLAB环境下分析与绘制其输出结果。To File功能块可以把数据存储到一个给定名字的文件中。用同样方法,将Scope拖曳到工作空间,并关闭Si

25、nks库窗口。打开(d ki)Sum功能块,在List of Signs处输入(shr)“+”、“”符号。如果综合点超过了两个输入点,只要简单地输入其正、负号(f ho),即可自动地增加其相应地输入点。打开StepFcn功能块,有三个空白框可以填入参数。Steptime是阶跃响应的初始时间。此项可填0,即零时刻开始阶跃响应。另外两项为初始值(Initial value)和终值(Final value)。这两项可分别输入0和1。打开工作空间功能块。输入y作为变量名(Variable name),对应最大行数项(Maximum number of rows),输入100。每一行对应一个时间间隔。在

26、系统仿真过程中,可以输入0到9.9,间隔为0.1,生成100个点。最后,要将这些方块连接起来。除Sources与Sinks功能块外,所有其他方块中至少有一个输出点,即在方块旁有一个符号指向外面,也至少有一个输入点,即在方块旁有一个符号指向里面,Sources功能块没有输入点,只有输出点,而Sinks功能块没有输出点,因此它仅有一个输入点。系统的仿真方块图见图8-3。图8-3 系统(xtng)的仿真方块图7SIMULINK仿真(fn zhn)的运行构建好一个系统的模型之后,接下来的事情就是运行模型,得出仿真(fn zhn)结果。运行一个仿真的完整过程分成三个步骤:设置仿真参数、启动仿真和仿真结果

27、分析。(1)设置仿真参数和选择解法器设置仿真参数和选择解法器,选择Simulation菜单下的Parameters命令,就会弹出一个仿真参数对话框,它主要用三个页面来管理仿真的参数。I Solver页,它允许用户设置仿真的开始和结束时间,选择解法器,说明解法器参数及选择一些输出选项。 仿真时间:注意这里的时间概念与真实的时间并不一样,只是计算机仿真中对时间的一种表示,比如10秒的仿真时间,如果采样步长定为0.1,则需要执行100步,若把步长减小,则采样点数增加,那么实际的执行时间就会增加。一般仿真开始时间设为0,而结束时间视不同的因素而选择。总的说来,执行一次仿真要耗费的时间依赖于很多因素,包

28、括模型的复杂程度、解法器及其步长的选择、计算机时钟的速度等等。 仿真步长模式:用户在Type后面的第一个下拉选项框中指定仿真的步长选取方式,可供选择的有Variable-step(变步长)和Fixed-step(固定步长)方式。变步长模式可以在仿真的过程中改变步长,提供误差控制和过零检测。固定步长模式在仿真过程中提供固定的步长,不提供误差控制和过零检测。用户还可以在第二个下拉选项框中选择对应模式下仿真所采用II. Workspace I/O页,作用(zuyng)是管理模型从MATLAB工作(gngzu)空间的输入和对它的输出。IIIDiagnostics页,允许(ynx)用户选择Simulin

29、k在仿真中显示的警告信息的等级。(2)、启动仿真I设置仿真参数和选择解法器之后,就可以启动仿真而运行。选择Simulink菜单下的start选项来启动仿真,如果模型中有些参数没有定义,则会出现错误信息提示框。如果一切设置无误,则开始仿真运行,结束时系统会发出一鸣叫声。II除了直接在SIMULINK环境下启动仿真外,还可以在MATLAB命令窗口中通过函数进行,格式如下: t,x,y=sim(模型文件名,to tf,simset(参数1,参数值1,参数2,参数值2, ) 其中to为仿真起始时间,tf为仿真终止时间。t,x,y为返回值,t为返回的时间向量值,x为返回的状态值,y为返回的输出向量值。s

30、imset定义了仿真参数,包括以下一些主要参数:AbsTol:默认值为1e-6设定绝对误差范围。Decimation:默认值为1,决定隔多少个点返回状态和输出值。Solver:解法器的选择。最后一步是仿真(Simulation),可以通过选择仿真菜单(Simulation Menu)执行仿真命令。有两个可以供选择的项:Start(开始执行)与Parameters(参数选择)。在参数选择中,可以有几种积分算法供选择。对于线性系统,可以选择Linsim算法。对应项分别输入如下参数:Start Time 0 (开始时间)Stop Time 9.9 (停止时间)Rilative Error 0.001

31、 (积分一步的相对误差)Minimum Step Size 0.1 (最小步长)Maximum Step Size 0.1 (最大步长)在Return Variable方框中,还可以输入要返回的变量参数。如在此方框中填入t, 在仿真之后可以在MATLAB工作空间中得到两个变量, 即t与y。参数选择完毕后,关闭该窗口。此时,你可以(ky)选择Start启动仿真程序,在仿真结束(jish)时,计算机会用声音给予提示。 阶跃响应(xingyng)图如图8-4所示。 图8-4 阶跃响应图实验8-1 在SIMULINK环境下,作T1、T2、T3系统的阶跃响应; 将T1、T2、T3系统的阶跃响应图在同一S

32、cope中显示。实验8-2典型二阶欠阻尼系统的传递函数为: 极点位置:式中:在SIMULINK环境下,作该系统在以下参数时的仿真:设a=1, =0.5,1,5 ,求阶跃响应,(用同一Scope显示);设=1 , a=0.5,1,5 ,求阶跃响应(xingyng)在(用同一Scope显示(xinsh));设:求阶跃响应(xingyng)(用同一Scope显示);设 求阶跃响应,(用同一Scope显示);阶跃响应的时间:0t10,阶跃信号幅值为+2V。分析参数变化(增加、减少与不变)对阶跃响应的影响。实验(shyn)九 基于(jy)传递函数的控制器设计一、实验(shyn)目的1熟练掌握用MATLA

33、B语句绘制频域曲线。2掌握控制系统频域范围内的分析校正方法。3掌握用频率特性法进行串联校正设计的思路和步骤。二、基础知识控制系统设计的思路之一就是在原系统特性的基础上,对原特性加以校正,使之达到要求的性能指标。最常用的经典校正方法有根轨迹法和频域法。而常用的串联校正装置有超前校正、滞后校正和超前滞后校正装置。本实验主要讨论在MATLAB环境下进行串联校正设计。1基于频率法的串联超前校正超前校正装置的主要作用是通过其相位超前效应来改变频率响应曲线的形状,产生足够大的相位超前角,以补偿原来系统中元件造成的过大的相位滞后。因此校正时应使校正装置的最大超前相位角出现在校正后系统的开环截止频率处。例9-

34、1:单位反馈系统的开环传递函数为,试确定串联校正装置的特性,使系统满足在斜坡函数作用下系统的稳态误差小于0.1,相角裕度。解:根据系统静态精度的要求,选择开环增益取,求原系统的相角裕度。num0=12; den0=2,1,0; w=0.1:1000;gm1,pm1,wcg1,wcp1=margin(num0,den0);mag1,phase1=bode(num0,den0,w);gm1,pm1,wcg1,wcp1margin(num0,den0) %计算(j sun)系统的相角(xin jio)裕度和幅值裕度,并绘制(huzh)出Bode图grid;ans = Inf 11.6548 Inf

35、2.4240由结果可知,原系统相角裕度,不满足指标要求,系统的Bode图如图9-1所示。考虑采用串联超前校正装置,以增加系统的相角裕度。确定串联装置所需要增加的超前相位角及求得的校正装置参数。图9-1 原系统的Bode图e=5; r=45; r0=pm1;phic=(r-r0+e)*pi/180;alpha=(1+sin(phic)/(1-sin(phic);将校正装置的最大超前角处的频率作为校正后系统的剪切频率。则有:即原系统幅频特性幅值等于时的频率,选为。根据=,求出校正装置的参数。即。 il,ii=min(abs(mag1-1/sqrt(alpha); wc=w( ii); T=1/(w

36、c*sqrt(alpha); numc=alpha*T,1; denc=T,1; num,den=series(num0,den0,numc,denc); %原系统与校正(jiozhng)装置串联 gm,pm,wcg,wcp=margin(num,den); %返回(fnhu)系统新的相角(xin jio)裕度和幅值裕度 printsys(numc,denc) %显示校正装置的传递函数 disp(校正之后的系统开环传递函数为:); printsys(num,den) %显示系统新的传递函数mag2,phase2=bode(numc,denc,w); %计算指定频率内校正装置的相角范围和幅值范围

37、mag,phase=bode(num,den,w); %计算指定频率内系统新的相角范围和幅值范围 subplot(2,1,1);semilogx(w,20*log10(mag),w,20*log10(mag1),-,w,20*log10(mag2),-.);grid; ylabel(幅值(db); title(-Go,-Gc,GoGc);subplot(2,1,2); semilogx(w,phase,w,phase1,-,w,phase2,-,w,(w-180-w),:);grid; ylabel(相位(0); xlabel(频率(rad/sec);title(校正前:幅值裕量=,num2s

38、tr(20*log10(gm1),db,相位裕量=,num2str(pm1),0;图9-2 系统校正前后的传递函数及Bode图校正后:幅值裕量=,num2str(20*log10(gm),db,相位裕量=,num2str(pm),0);2基于频率(pnl)法的串联滞后校正滞后校正装置将给系统带来滞后相角。引入滞后装置的真正目的不是为了提供(tgng)一个滞后相角,而是要使系统增益适当衰减,以便提高系统的稳态精度。滞后校正的设计主要是利用它的高频衰减作用,降低系统的截止频率,以便能使得(sh de)系统获得充分的相位裕量。例5-2:单位反馈系统的开环传递函数为,试确定串联校正装置的特性,使校正后

39、系统的静态速度误差系数等于30/s,相角裕度,幅值裕量不小于10dB,截止频率不小于2.3rad/s。解:根据系统静态精度的要求,选择开环增益利用MATLAB绘制原系统的bode图和相应的稳定裕度。num0=30; den0=conv(1,0,conv(0.1,1,0.2,1); w=logspace(-1,1.2);图9-3 原系统的Bode图gm1,pm1,wcg1,wcp1=margin(num0,den0);mag1,phase1=bode(num0,den0,w);gm1,pm1,wcg1,wcp1margin(num0,den0) grid;ans = 0.5000 -17.239

40、0 7.0711 9.7714由结果可知,原系统不稳定,且截止频率远大于要求值。系统的Bode图如图5-3所示,考虑采用串联超前校正无法满足要求,故选用滞后校正装置。根据对相位(xingwi)裕量的要求,选择相角为处的频率作为(zuwi)校正后系统的截止频率。确定(qudng)原系统在新处的幅值衰减到0dB时所需的衰减量为。一般取校正装置的转折频率分别为和。e=10; r=40; r0=pm1;phi=(-180+r+e);il,ii=min(abs(phase1-phi); wc=w( ii); beit=mag1(ii); T=10/wc; numc= T,1; denc= beit*T,

41、1; num,den=series(num0,den0,numc,denc); %原系统与校正装置串联 gm,pm,wcg,wcp=margin(num,den); %返回系统新的相角裕度和幅值裕度 printsys(numc,denc) %显示校正装置的传递函数 disp(校正之后的系统开环传递函数为:); printsys(num,den) %显示系统新的传递函数 mag2,phase2=bode(numc,denc,w); %计算指定频率内校正装置的相角范围和幅值范围 mag,phase=bode(num,den,w); %计算指定频率内系统新的相角范围和幅值范围 subplot(2,1

42、,1);semilogx(w,20*log10(mag),w,20*log10(mag1),-,w,20*log10(mag2),-.);grid; ylabel(幅值(db); title(-Go,-Gc,GoGc);subplot(2,1,2); semilogx(w,phase,w,phase1,-,w,phase2,-,w,(w-180-w),:);grid; ylabel(相位(0); xlabel(频率(rad/sec);title(校正前:幅值裕量=,num2str(20*log10(gm1),db,相位裕量=,num2str(pm1),0;校正(jiozhng)后:幅值裕量=,

43、num2str(20*log10(gm),db,相位(xingwi)裕量=,num2str(pm),0);图9-4 系统校正前后的传递函数及Bode图 3基于频率法的串联滞后(zh hu)-超前校正滞后-超前校正装置综合了超前校正和滞后校正的优点,从而改善了系统的性能。例9-3:单位反馈系统的开环传递函数为,若要求相角裕度,幅值裕量大于10dB,试确定串联校正装置的特性。解:根据系统静态精度的要求,选择开环增益利用MATLAB绘制原系统的bode图和相应的稳定裕度,如图5-5所示。num0=10; den0=conv(1,0,conv(1,1,0.4,1); w=logspace(-1,1.2);图9-5 原系统的Bode图gm1,pm1,wcg1,wcp1=margin

温馨提示

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

评论

0/150

提交评论