控制工程基础(基于MATLAB的系统分析校正)
第6章 基于MATLAB的控制系统校正 [基于MATLAB的控制系统仿真及应用]
![第6章 基于MATLAB的控制系统校正 [基于MATLAB的控制系统仿真及应用]](https://img.taocdn.com/s3/m/06b2839d2cc58bd63086bd31.png)
打开SISO设计工具窗口
• SISO设计工具的打开方式有很多,主要有以 下两种方法:
(1)在MATLAB命令窗口中输入:
>> sisotool 运行后打开SISO设计工具。 (2)在MATLAB命令窗口中输入:
>> G=tf([1],[1 1 0]);
>> sisotool(G)
运行后,即导入函数
10
传递函数为 ,要 G0(s)
s(s
K 1)(0.5s
1)
求: Kv 5 ;y 40o ;Kg 10dB ,试确定滞
后校正参数a,T
5
6.4 SISO设计工具
• SISO设计工具(SISO Design Tool)是MATLAB提供的能够分析及调 整单输入单输出反馈控制系统的图形用户界面。使用SISO设计工具可 以设计四种类型的反馈系统,如图6.4.1所示。图中C(s)为校正装置的 数学模型;G(s)为被控对象的数学模型;H(s)为传感器(反馈环节)的 数学模型;F(s)为滤波器的数学模型。
,其中a、t可调节
r (t )
Gc (s)
G(s) u (t )
H (s)
图6.3.1 滞后校正示意图
4
【例6.3.1】设单位负反馈系统的开
环传递函数为
G(s)
s(s
10 1)( s
2) ,试设
计一滞后校正系统,使得校正后的
系统相位裕度不小于40°,幅值裕
பைடு நூலகம்
度不低于10 dB。
【例6.3.2】控制系统不可变部分的
G(s)
1 s2
s
的数据
8
系统数据的导入
MATLAB的控制系统校正实验

实验四基于MATLAB的控制系统校正实验一、实验目的1.熟悉并掌握MATLAB的使用2.掌握用MATLAB实现频率法的串联校正验证3.用MATLAB程序解决一般性设计问题二、实验内容1.录入并执行教材6.7三个程序并得出结果并比较2.通过6.7程序,完成6-3,6-4,6-5习题仿真三、实验过程1.录入程序,并完成教材6.7三个程序的仿真2.验证其结果3.绘制三个程序的流程图4.设计6-3,6-4,6-5,习题仿真程序5.验证仿真结果四、实施过程及结果1.录入书中程序并执行得出结果:(1)串联超前校正实验Mum/den=0.22541s+1--------------0.053537+1校正后:幅值穿越频率=8.8802rad/s,相角穿越频率=Inf rad/s。
校正后:幅值裕量=Inf dB,相角裕量=50.7196°Bode图:(2)串联滞后校正实验校正后:幅值穿越频率=0.60508rad/sec相角穿越频率=1.8675rad/sec校正后:幅值裕量=15.8574dB,相角裕量=40.6552゜Bode图:(3)串联滞后—超前校正实验校正后:幅值穿越频率=1.3175rad/sec相角穿越频率=3.6027rad/sec校正后:幅值裕量=13.7848dB,相角裕量=52.4219゜Bode图验证成功2.设计6-3,6-4,6-5,程序如下6-3:numo=[200];deno=conv([1,0],[0.1,1]);[Gm,Pm,Wcg,Wcp]=margin(numo,deno);numo=200;deno=conv([1,0],[0.1,1]);[Gm1,Pm1,Wcg1,Wcp1]=margin(numo,deno);r0 = 45;r=Pm;w = logspace(-1,3);[mag1,phase1]=bode(numo,deno,w);for epsilon = 5:15phic=(r0-r+epsilon)*pi/180;alpha=(1-sin(phic))/(1+sin(phic));[i1,ii] = min(abs(mag1-sqrt(alpha)));wc=w(ii);T=1/(wc*sqrt(alpha));numc=[T,1];denc=[alpha*T,1];[num,den]=series(numo,deno,numc,denc);[Gm,Pm,Wcg,Wcp]=margin(num,den);if(Pm>=r0);break;endendprintsys(numc,denc);[mag2,phase2]=bode(numc,denc,w);[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('相角(度)');xlabel('频率(red/sec)');disp(['校正后:幅值穿越频率=',num2str(Wcp),'rad/sec','相角穿越频率=',num2str(Wcg),'rad/sec']);disp(['校正后:幅值裕量=',num2str(20*log10(Gm)),'dB,','相角裕量=',num2str(Pm),'゜']);结果:校正后:幅值穿越频率=64.7053rad/sec相角穿越频率=Infrad/sec校正后:幅值裕量=InfdB,相角裕量=45.9356゜验证结果即正确6-4numo=4;deno=conv([1,0],[2,1]);[Gm,Pm,Wcg,Wcp]=margin(numo,deno);numo=4;deno=conv([1,0],[2,1]);[Gm1,Pm1,Wcg1,Wcp1]=margin(numo,den o);r0=40;w=logspace(-3,1);[mag1,phase1]=bode(numo,deno,w);for epsilon=5:15r=(-180+r0+epsilon);[i1,ii]=min(abs(phase1-r));wc=w(ii);beta=mag1(ii);T=5/wc;numc=[T,1];denc=[beta*T,1];[num,den]=series(numo,deno,numc,denc);[Gm,Pm,Wcg,Wcp]=margin(num,den);if(Pm>=r0);break;endendprintsys(numc,denc);[mag2,phase2]=bode(numc,denc,w);[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('相角(度)');xlabel('频率(red/sec)');disp(['校正后:幅值穿越频率=',num2str(Wcp),'rad/sec','相角穿越频率=',num2str(Wcg),'rad/sec']);disp(['校正后:幅值裕量=',num2str(20*log10(Gm)),'dB,','相角裕量=',num2str(Pm),'゜']);结果:校正后:幅值穿越频率=0.415rad/sec相角穿越频率=Infrad/sec校正后:幅值裕量=InfdB,相角裕量=40.6397゜验证结果:6-5:numo=5;deno=conv([1,0],conv([0.1,1],[0.25,1]));[Gm,Pm,Wcg,Wcp]=ma rgin(numo,deno);numo=5;deno=conv([1,0],conv([0.1,1],[0.25,1]));[Gm1,Pm1,Wcg1,Wcp1 ]=margin(numo,deno);w=logspace(-2,2);[mag1,phase1]=bode(numo,deno,w);ii=find(abs(w-Wcg1)==min(abs(w-Wcg1)));wc=Wcg1;w1=wc/5;beta=5;numc1=[1,w1];denc1=[1,w1/beta];w2=w1;mag(ii)=2;while(mag(ii)>1)numc2=[1,w2];denc2=[1,(w2*beta)];w2=w2+0.01;[numc,denc]=series(numc1,denc1,numc2,denc2);[num,den]=series(numo,deno,numc,denc);[mag,phase]=bode(num,den,w);endprintsys(numc1,denc1);printsys(numc2,denc2);[Gm,Pm,Wcg,Wcp]=margin(num,den);[mag2,phase2]=bode(numc,denc,w);[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('相角(度)');xlabel('频率(red/sec)');disp(['校正后:幅值穿越频率=',num2str(Wcp),'rad/sec','相角穿越频率=',num2str(Wcg),'rad/sec']);disp(['校正后:幅值裕量=',num2str(20*log10(Gm)),'dB,','相角裕量=',num2str(Pm),'゜']);结果:校正后:幅值穿越频率=1.8187rad/sec相角穿越频率=9.3957rad/sec校正后:幅值裕量=17.8382dB,相角裕量=67.4806゜五、实验总结1.由于对于MATLAB不熟悉造成很多不必要的损失,对于MATLAB的使用掌握也要认真学习。
控制工程基础(基于MATLAB的系统分析校正)

实验一典型环节的MATLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。
利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。
1.运行MATLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。
2.选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。
3.在simulink仿真环境下,创建所需要的系统。
图1-1 SIMULINK仿真界面图1-2 系统方框图以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。
点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。
2)改变模块参数。
在simulink仿真环境“untitled”窗口中双击该图标,即可改变传递函数。
其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK,即完成该模块的设置。
3)建立其它传递函数模块。
按照上述方法,在不同的simulink的模块库中,建立系统所需的传递函数模块。
例:比例环节用“Math”右边窗口“Gain”的图标。
4)选取阶跃信号输入函数。
用鼠标点击simulink下的“Source”,将右边窗口中“Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。
5)选择输出方式。
用鼠标点击simulink下的“Sinks”,就进入输出方式模块库,通常选用“Scope”的示波器图标,将其用左键拖至新建的“untitled”窗口。
基于MATLAB的控制系统校正设计

······························装·················订·················线······························摘要控制系统校正属于系统设计环节,通过校正可以使系统的性能得到改善,从而使系统满足期望的性能指标。
本文主要研究线性定常系统的串联校正方法,包括串联超前校正、串联滞后校正和串联滞后超前校正。
本文首先回顾了系统的时域性能指标和频域性能指标以及系统的校正方式,然后分别讨论了系统校正的根轨迹法和频率特性法。
针对两种方法,分别给出了控制系统超前校正、滞后校正,滞后超前校正的理论依据、适用范围、校正步骤和相应的算法流程图,并针对各个校正方法编写了相应的MATLAB仿真程序,同时利用MATLAB的图形用户界面设计功能对控制系统校正进行了可视化界面设计,为每种校正方法设计了对应的GUI界面。
控制工程基础第七章基于MATLAB语言的控制系统分析

5.应用广泛的模块集合工具箱 MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱 (Toolbox)。目前,MATLAB已经把工具箱延伸到科学研究和工程 应用的诸多领域,如数据采集、数据库接口、概率统计、样条拟合、 优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像 处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、 模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及 半物理仿真、嵌入式系统开发、定点仿真、DSP与通信、电力系统仿 真等,都在工具箱家族中有了自己的一席之地。
第七章 基于MATLAB语言 的控制系统分析
内容
7.1 MATLAB语言简介 7.2 数学模型的MATLAB描述 7.3 用MATLAB对线性系统进行时域响应分析 7.4 用MATLAB进行控制系统频域分析 7.5 基于MATLAB的根轨迹绘制与性能分析 7.6 系统设计校正的MATLAB实现
7.1MATLAB语言简介
在MATLAB中,规定了系统建立/转换传递函数模型的函数(tf),
其格式为
sys=tf(num,den)
【例7-1】试应用MATLAB语言建立如下传递函数模型:
s s s s G(s)
5
2s 8 4 3 4 2 2s 12
MATLAB的控制系统工具箱(Control System Toolbox)提供了 丰富的建立和转换线性定常系统数学模型的方法。
7.2.1传递函数模型
设系统的传递函数为
b s b s b b G(s) C(s) a s a s a a a R(s)
m
m
n
n
m1 s
m1
1
n1 s
n1
表7-1 MATLAB版本历史
基于MATLAB的系统分析

图3-66 二阶系统的单位阶跃响应曲线
基于MATLAB的系统分析
1.2 基于MATLAB的根轨迹分析
使用 rlocus 命令可以得到连续单输入单输出系统的根轨迹图,此命令有两种基本形式: rlocus(num,den) 或 rlocus(num,den,k) 用 MATLAB 绘制根轨迹图时,具有 x,y 坐标轴自动定标功能。如果希望自行设置显示 图形的坐标范围,可以用 axis 命令定义绘制图形的轴线区域。例如, axis([-2.5,1 -3,3]); 表示 x 轴的显示范围是 2.5~1,y 轴的显示范围是 3~3 。
其中,z 为系统的零点;p 为系统的极点;k 为增益;num 为分子多项式降幂排列的系数向
量;den 为分母多项式降幂排列的系数向量。
基于MATLAB的系统分析
1.1 基于MATLAB的时域分析
2. 用MATLAB求取连续系统的输出响应
MATLAB提供了多种求取连续系统输出响应的函数,它们在MATLAB中的调用格 式分别为
1.1 基于MATLAB的时域分析
2. 用MATLAB求取连续系统的输出响应
【例 3-13】
已知典型二阶系统的传递函数为
G(s)
s2
n2 2n s
n2
其中 n 6 ,试绘制系统在 0.1,0.3,0.5,0.7,1.0 时的单位阶跃响应曲线。
【解】 输入以下MATLAB程序,运行结果如图3-66所示 wn=6; num=[wn^2] t=[0:0.1:10]; zeta1=0.1;den1=[1,2*zeta1*wn,wn^2]; zeta2=0.3;den2=[1,2*zeta2*wn,wn^2];
图3-68 连续系统的伯德图
基于MATLAB的系统分析
控制工程基础实验报告讲解

控制工程基础实验报告北京工业大学机电学院指导教师:初红艳学号:姓名:一.实验目的本实验中,学生使用MATLAB 语言进行控制系统的分析,可以达到以下目的: (1)通过MATLAB 的分析,掌握控制系统的时域瞬态响应、频率特性,根据时域性能指标、频域性能指标评价控制系统的性能,根据系统频率特性进行稳定性分析,了解对系统进行校正的方法,从而进一步巩固、加深对课堂内容的掌握,加强对控制工程基础知识的掌握。
(2)熟悉MATLAB 的控制系统图形输入与仿真工具SIMULINK ,能够对一些框图进行仿真或线性分析,使一个复杂系统的输入变得相当容易且直观。
(3)通过本实验,使学生掌握进行控制系统计算机辅助分析的方法,学会利用MATLAB 语言进行复杂的实际系统的分析、校正与设计,具备解决工程实际问题的能力。
二.实验内容控制系统方块图如图1所式。
这是一个电压—转角位置随动系统,系统的功能是用电压量去控制一个设备的转角,给定值大,输出转角也就成比例地增大。
图1 系统方块图 图中,)(1s G 为前置放大及校正网络传递函数K 2为功率放大器放大倍数,102=K K 3为电动机传递系数,s V rad K ⋅=/83.23 T M 为电动机机电时间常数,s T M 1.0= T a 为电动机电磁时间常数,ms T a 4= K c 为测速传递系数,rad s V K c /15.1⋅=β 为测速反馈分压系数,1=βK a 为主反馈电位计传递系数,rad V K a /7.4= U i 为输入电压U b 为反馈电压 U i 2为速度环输入电压 U c 为测速机电压 U D 为电动机电压n 为电动机转速取1=β三、实验报告1.对于二阶系统:1)(23++=s s G Ts T T KMaM,a M MaM T T T T T 21n ==ζω其阶跃响应和单位脉冲响应分别如图1-1、1-2所示:MATLAB 语言为: >>num=[2.83]num =2.8300>> den=[0.0004,0.1,1]den =0.0004 0.1000 1.0000>> sys=tf(num,den) sys =2.83 ---------------------- 0.0004 s^2 + 0.1 s + 1Continuous -time transfer function.>> step(sys)>> impulse(sys)图1-1图1-2此时阻尼比为2.5,由其阶跃响应可知其稳态值为2.83,为过阻尼状态,瞬态响应指标如上图所示;在无阻尼自振角频率不变时,通过简单计算得出如下的结论:M a M n T T T 25===ζω,0004.0,50调整TM=0.01,Ta=0.04,使得系统处于欠阻尼状态,0.25=ξ,其阶跃响应与单位脉冲响应1-3、1-4;MATLAB 语言如下:>>num=[2.83]num =2.8300>> den=[0.0004,0.01,1]den =0.0004 0.0100 1.0000>> sys=tf(num,den) sys =2.83 -----------------------0.0004 s^2 + 0.01 s + 1Continuous -time transfer function.>> step(sys) >> impulse(sys)其瞬态响应指标在下图中标出;图1-3图1-4调整TM=0.04,Ta=0.01,使得系统处于临界阻尼状态,其阶跃响应与单位脉冲响应如图1-5、1-6所示;MATLAB语言如下:>>num=[2.83]num =2.8300>> den=[0.0004,0.04,1]den =0.0004 0.0400 1.0000>> sys=tf(num,den)sys =2.83-----------------------0.0004 s^2 + 0.04 s + 1Continuous-time transfer function.>> step(sys)>> impulse(sys图1-5图1-6由以上当TM=0.1,Ta=0.0004,系统处于过阻尼状态,其阶跃响应与单位脉冲响应见图1-1、1-2所示:分析:由以上响应曲线和响应指标可知,过阻尼与临界阻尼无超调、无振荡,而欠阻尼有超调和振荡,过阻尼达到平衡状态所需的时间比临界阻尼和过阻尼都要长。
控制工程基础matlab实验

《控制工程基础》学号:姓名:机械工程系系统时间响应分析实验课时数:2学时实验性质:设计性实验实验室名称:数字化实验室(机械工程系)一、实验项目设计内容及要求1.实验目的本实验的内容牵涉到教材的第3、4、5章的内容。
本实验的主要目的是通过试验,能够使学生进一步理解和掌握系统时间响应分析的相关知识,同时也了解频率响应的特点及系统稳定性的充要条件。
2.实验内容完成一阶、二阶和三阶系统在单位脉冲和单位阶跃输入信号以及正弦信号作用下的响应,求取二阶系统的性能指标,记录试验结果并对此进行分析。
3.实验要求系统时间响应分析试验要求学生用MATLAB软件的相应功能,编程实现一阶、二阶和三阶系统在几种典型输入信号(包括单位脉冲信号、单位阶跃信号、单位斜坡信号和正弦信号)作用下的响应,记录结果并进行分析处理:对一阶和二阶系统,要求用试验结果来分析系统特征参数对系统时间响应的影响;对二阶系统和三阶系统的相同输入信号对应的响应进行比较,得出结论。
4.实验条件利用数字化实验室的计算机,根据MATLAB软件的功能进行简单的编程来进行试验。
二、具体要求及实验过程1.系统的传递函数及其MATLAB 表达 (1)一阶系统 传递函数为:1)(+=Ts Ks G 传递函数的MATLAB 表达: num=[k];den=[T,1];G(s)=tf(num,den) (2)二阶系统 传递函数为:2222)(nn nw s w s w s G ++=ξ传递函数的MATLAB 表达: num=[2n w ];den=[1,n w ξ2,2n w ];G(s)=tf(num,den)(3)任意的高阶系统传递函数为:n n n n mm m m a s a s a s a b s b s b s b s G ++++++++=----11101110)( 传递函数的MATLAB 表达:num=[m m b b b b ,,,110- ];den=[n n a a a a ,,,110- ];G(s)=tf(num,den) 若传递函数表示为:)())(()())(()(1010n m p s p s p s z s z s z s Ks G ------=则传递函数的MATLAB 表达:z=[m z z z ,,,10 ];p=[n p p p ,,,10 ];K=[K];G(s)=zpk(z,p,k) 2.各种时间输入信号响应的表达(1)单位脉冲信号响应:[y,x]=impulse[sys,t] (2)单位阶跃信号响应:[y,x]=step[sys,t] (3)任意输入信号响应:[y,x]=lsim[sys,u,t]其中,y 为输出响应,x 为状态响应(可选);sys 为建立的模型;t 为仿真时间区段(可选)实验方案设计可参考教材相关内容,相应的M程序可参考教材(杨叔子主编的《机械工程控制基础》第五版)提供的程序,在试验指导教师的辅导下掌握M 程序的内容和格式要求,并了解M程序在MATLAB软件中的加载和执行过程。
控制工程基础 Matlab实验报告

《控制工程基础》课程实验报告学院:机械与车辆学院专业班级:姓名:学号:指导教师:时间:实验一MATLAB应用基础实验二控制系统的数学模型建立实验三控制系统的分析与校正中国·珠海实验一MATLAB在控制系统中的应用一、实验目的1、掌握Matlab软件使用的基本方法2、熟悉Matlab的数据表示、基本运算3、熟悉Matlab绘图命令及基本绘图控制二、实验内容:1、帮助命令使用help命令,查找函数名的使用方法。
如sqrt(开方)函数,roots,bode,step,tf函数等2、矩阵运算(1)矩阵的乘法A=[1 2 3;3 4 5 ]; B=[7 3 6;4 3 8]A.*Bans =7 6 1812 12 40(2)矩阵的转置及共轭转置A=[3-i,8+i,2;4,5*i,5+i]A =ans =3.0000 - 1.0000i 8.0000 + 1.0000i 2.00004.0000 0 +5.0000i 5.0000 + 1.0000i>> A'ans =3.0000 + 1.0000i4.00008.0000 - 1.0000i 0 - 5.0000i2.0000 5.0000 - 1.0000i(4)使用冒号选出指定元素已知:A=[4 2 3 4;7 5 6 7;7 8 9 2];求A中第4列前2个元素;A中所有列第1,2行的元素;方括号[]用magic函数生成一个5阶魔术矩阵,删除该矩阵的第五列解:>> A=[4 2 3 4;7 5 6 7;7 8 9 2]A =4 2 3 47 5 6 77 8 9 2A(1:2,4)ans =47A(1:2,:)ans =4 2 3 47 5 6 7M=magic(5)M =17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9>> sum(M)ans =65 65 65 65 65>> M(:,1:4)ans =17 24 1 823 5 7 144 6 13 2010 12 19 2111 18 25 23、多项式(1)求多项式p (x ) = x ^4−3x^2 +x+1的根解:>> p=[1 0 -2 -4]p =1 0 -2 -4>> roots(p)ans =2.0000-1.0000 + 1.0000i-1.0000 - 1.0000i4.已知A=[0.2 7 3 1.9;5 1.7 5 6;4 9 0 9;3 2 7 3] ,求矩阵A的特征多项式;求特征多项式中未知数为20时的值;把矩阵A作为未知数代入到多项式中;解:>> A=[0.2 7 3 1.9;5 1.7 5 6;4 9 0 9;3 2 7 3]A =0.2000 7.0000 3.0000 1.90005.0000 1.7000 5.00006.00004.0000 9.0000 0 9.00003.0000 2.0000 7.0000 3.0000 >> poly(A)ans =1.0000 -4.9000 -166.6600 -586.0300 91.1200>> polyval(ans,10)ans =-1.7335e+0044、基本绘图命令(1)绘制余弦曲线y=sin(t)’,t∈[0,2π]解:>> t=0:pi/100:2*pi;>> y=sin(t)’>> plot(t,y)在同一坐标系中绘制余弦曲线y=cos(t-1.5)和正弦曲线y=sin(t-0.5),t∈[0,2π]解:t=0:pi/100:2*pi;>> y1=sin(t-1.5);y2=cos(t-0.5);>> plot(t,y1,t,y2)实验二控制系统的数学模型建立一、实验目的1、掌握建立控制系统模型的函数及方法;2、掌握控制系统模型间的转换方法及相关函数;3、掌握典型系统模型的生成方法。
基于MATLAB的离散系统分析与校正

2. 离散设计法
(1)根据期望性能指标要求,在z平面中确定校正后闭环系统φ(z)的零、极点期望 区域。
(2)在z平面中绘出原系统的开环零、极点分布图,根据其与期望区域的相对位置 选择合适的校正环节。
(3)通过MATLAB反复试探,确定合适的校正参数,将φ(z)的零、极点调整至期 望区域内。
自动控制工程基础与应用
基于MATLAB的离散系统分析与校正
1.1 离散系统的性能分析
在MATLAB中,可利用c2d函数将连续信号离散化处理,其调用格式为 sysd=c2d(sys,Ts,method)
利用feedback函数可根据离散系统的开环脉冲传递函数建立闭环离散系统的数学模 型,调用格式为
sysCLz=feedback(Dz,1)
(4)用离散系统的分析方法,通过仿真或实验来验证所设计的离散系统的基本性 能。
自Hale Waihona Puke 控制工程基础与应用基于MATLAB的离散系统分析与校正
1.2 离散系统的校正设计
1. 仿真设计法
仿真设计法的基本思路是:首先设计连续控制器;然后根据设计要求确定合适的采 样周期,将所设计的连续控制器离散化处理;最后用离散系统的分析方法,通过仿真或 实验来验证所设计的离散系统的基本性能。
基于MATLAB的离散系统分析与校正
自动控制原理实验七 基于MATLAB控制系统频域法串联校正设计

实验七基于MATLAB控制系统频域法串联校正设计一、实验目的(1)对给定系统设计满足频域或时域指标的串联校正装置;(2)掌握频域法设计串联校正的方法;(3)掌握串联校正环节对系统稳定性及过渡过程的影响。
二、实验原理及内容利用MATLAB可以方便的画出Bode图并求出幅值裕量和相角裕量。
将MATLAB应用到经典理论的校正方法中,可以方便的校验系统校正前后的性能指标。
通过反复试探不同校正参数对应的不同性能指标,能够设计出最佳的校正装置。
1、串联超前校正用频域法对系统进行超前校正的基本原理,是利用超前校正网络的相位超前特性来增大系统的相位裕量,以达到改善系统瞬态响应的目标。
为此,要求校正网络最大的相位超前角出现在系统的截止频率(剪切频率)处。
串联超前校正的特点:主要对未校正系统中频段进行校正,使校正后中频段幅值的斜率为-20dB/dec,且有足够大的相位裕度;超前校正会使系统瞬态响应的速度变快,校正后系统的截止频率增大。
这表明校正后,系统的频带变宽,瞬态响应速度变快,相当于微分效应;但系统抗高频噪声的能力变差。
用频率法对系统进行串联超前校正的一般步骤为:1)根据稳态误差的要求,确定开环增益K。
2)根据所确定的开环增益K,画出未校正系统的波特图,计算未校正系统的相位裕度。
3)计算超前网络参数a和T。
4)确定校正网络的转折频率。
5)画出校正后系统的波特图,验证已校正系统的相位裕度。
【7-1】给定系统如图7-1所示,试设计一个串联校正装置,使系统满足幅值裕量大于10分贝,相位裕量≥45o为了满足上述要求,试探地采用超前校正装置G c(s),使系统变为图7-2的结构。
图7-1 校正前系统用下面地MATLAB语句得出原系统的幅值裕量与相位裕量。
>> G=tf(100, [0.04, 1, 0]);[Gw, Pw, Wcg, Wcp]=margin(G);Gw =InfPw =28.0243Wcg=InfWcp=46.9701可以看出,这个系统有无穷大的幅值裕量,并且其相位裕量γ=28o,幅值穿越频率Wcp=47rad/sec。
基于Matlab的自动控制系统设计与校正课程设计

基于Matlab的自动控制系统设计与校正课程设计自动控制原理课程设计设计题目:基于Matlab的自动控制系统设计与校正目录第一章课程设计内容与要求分析 (1)1.1设计内容 (1)1.2 设计要求 (1)1.3 Matlab软件 (2)1.3.1基本功能 (2)1.3.2应用 (3)第二章控制系统程序设计 (4)2.1 校正装置计算方法 (4)2.2 课程设计要求计算 (4)第三章利用Matlab仿真软件进行辅助分析 (6)3.1校正系统的传递函数 (6)3.2用Matlab仿真 (6)3.3利用Matlab/Simulink求系统单位阶跃响应 (10)3.2.1原系统单位阶跃响应 (10)3.2.2校正后系统单位阶跃响应.. 113.2.3校正前、后系统单位阶跃响应比较 (12)3.4硬件设计 (13)3.4.1在计算机上运行出硬件仿真波形图 (14)课程设计心得体会 (16)参考文献 (18)3第一章 课程设计内容与要求分析1.1设计内容针对二阶系统)1()(+=s s Ks W ,利用有源串联超前校正网络(如图所示)进行系统校正。
当开关S 接通时为超前校正装置,其传递函数11)(++-=Ts Ts K s W c c α,其中132R R R K c +=,1)(132432>++=αR R R R R ,C R T 4=,“-”号表示反向输入端。
若Kc=1,且开关S 断开,该装置相当于一个放大系数为1的放大器(对原系统没有校正作用)。
cR 2 R 331.2 设计要求1)引入该校正装置后,单位斜坡输入信号作用时稳态误差1.0)(≤∞e ,开环截止频率ωc’≥4.4弧度/秒,相位裕量γ’≥45°;2)根据性能指标要求,确定串联超前校正装置传递函数;3)利用对数坐标纸手工绘制校正前、后及校正装置对数频率特性曲线;4)设校正装置R1=100K ,R2=R3=50K ,根据计算结果确定有源超前校正网络元件参数R4、C 值;5)绘制引入校正装置后系统电路图(设给定的电阻和电容:R=100K ,C=1μF 、10μF 若干个);6)利用Matlab 仿真软件辅助分析,绘制校正前、后及校正装置对数频率特性曲线,并验算设计结果;7)在Matlab-Simulink 下建立系统仿真模型,求校正前、后系统单位阶跃响应特性,并进行系统性能比较;8)利用自动控制原理实验箱完成硬件设计过程,包括:搭建校正前后系统电路、输入阶跃信号并通过示波器观察校正前后系统输出响应曲线。
基于MATLAB的教学改革研究——以“控制工程基础”课程为例

50
2019年8月刊
1 教学内容
“控制工程基础”课程教学内容包括自动控 制系统的组成、结构,以及对控制系统性能进行 分析[3]。“控制工程基础”课程主要由控制系统 的组成、控制系统的数学模型、系统时域分析、 频域分析、根轨迹分析,以及系统的校正方案等 组成,涉及较多的抽象数学计算,如微分方程、 传递函数、系统输出响应等。“控制工程基础” 课程主要内容如图1所示。
51
工业和信息化教育
Industry and Information Technology Education
由图2果可知,两个子系统串联后的等效传递
函数为
G
(s)
=
s6
+
15s2 + 28s +12 5s5 + 6s4 + 3s3 + 8s2
+
2
综上,采用MATLAB软件计算系统的数学问 题时,只需要输入计算程序,就可以快速地计算 出系统的数学模型,计算结果准确、高效,学生 可以快速入门,减少计算压力,进一步提高学习兴 趣,为更好地学习机电专业其他课程打好基础。
工业和信息化教育
Industry and Information Technology Education
2019年8月刊
基于MATLAB的教学改革研究
——以“控制工程基础”课程为例
单陇红526100)
【摘要】 “控制工程基础”课程作为一门专业基础课,可为学生掌握自动控制系统特性打下良好的基础。“控制工程 基础”课程传统教学方式为理论教学方式,涉及较多的数学公式计算,如微积分、拉普拉斯变换、傅里叶 变换等。授课教师通过理论讲解,传授知识给学生,然而人工计算效率较低,学生学习积极性差。本文将 MATLAB数据处理软件与课堂讲授相结合,将MATLAB软件的计算功能穿插在教学过程的数据计算中,提高 了教学质量和学生学习效率,锻炼了学生的动手能力和自学能力,为适应“新工科”培养要求和日后的教学 工作提供了良好的范例。
控制工程基础(经典控制部分)MATLAB分析报告

《控制工程基础(经典控制部分)》的MATLAB分析第一章MATLAB的基本使用§1-1 MATLAB语言简介MATLAB是一种高级矩阵语言,它由Math Works公司于1984年正式推出,它的基本处理对象是矩阵,即使是一个标量纯数,MATLAB也认为它是只有一个元素的矩阵。
随着MATLAB的发展,特别是它所包含的大量工具箱(应用程序集)的集结,使MATLAB已经成为带有独特数据结构、输入输出、流程控制语句和函数、并且面向对象的高级语言。
MATLAB语言被称为一种“演算纸式的科学计算语言”,它在数值计算、符号运算、数据处理、自动控制、信号处理、神经网络、优化计算、模糊逻辑、系统辨识、小波分析、图象处理、统计分析、甚至于金融财会等广大领域有着十分广泛的用途。
MATLAB语言在工程计算与分析方面具有无可比拟的优异性能。
它集计算、数据可视化和程序设计于一体,并能将问题和解决方案以使用者所熟悉的数学符号或图形表示出来。
MATLAB语言和C语言的关系与C语言和汇编语言的关系类似。
例如当我们需要求一个矩阵的特征值时,在MATLAB下只需由几个字符组成的一条指令即可得出结果,而不必去考虑用什么算法以及如何实现这些算法等低级问题,也不必深入了解相应算法的具体内容。
就象在C语言下不必象汇编语言中去探究乘法是怎样实现的,而只需要采用乘积的结果就可以了。
MATLAB语言还有一个巨大的优点是其高度的可靠性。
例如对于一个病态矩阵的处理,MATLAB不会得出错误的结果,而用C或其它高级语言编写出来的程序可能会得出错误的结果。
这是因为MATLAB函数集及其工具箱都是由一些在该领域卓有研究成果,造诣很深的权威学者经过反复比较所得出来的最优方法,而且经过多年的实践检验被证明是正确可靠的。
§1-2 MATLAB的工作窗口下面以MATLAB6.1为例介绍。
从实用的角度MATLAB的工作窗口包括命令窗口、M文件编辑器窗口、图形编辑窗口、数学函数庫、应用程序接口及在线窗口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一典型环节的MATLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。
利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。
1.运行MATLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。
2.选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。
3.在simulink仿真环境下,创建所需要的系统。
图1-1 SIMULINK仿真界面图1-2 系统方框图以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。
点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。
2)改变模块参数。
在simulink仿真环境“untitled”窗口中双击该图标,即可改变传递函数。
其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK,即完成该模块的设置。
3)建立其它传递函数模块。
按照上述方法,在不同的simulink的模块库中,建立系统所需的传递函数模块。
例:比例环节用“Math”右边窗口“Gain”的图标。
4)选取阶跃信号输入函数。
用鼠标点击simulink下的“Source”,将右边窗口中“Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。
5)选择输出方式。
用鼠标点击simulink下的“Sinks”,就进入输出方式模块库,通常选用“Scope”的示波器图标,将其用左键拖至新建的“untitled”窗口。
6)选择反馈形式。
为了形成闭环反馈系统,需选择“Math”模块库右边窗口“Sum”图标,并用鼠标双击,将其设置为需要的反馈形式(改变正负号)。
7)连接各元件,用鼠标划线,构成闭环传递函数。
8)运行并观察响应曲线。
用鼠标单击工具栏中的“”按钮,便能自动运行仿真环境下的系统框图模型。
运行完之后用鼠标双击“Scope”元件,即可看到响应曲线。
实验二 线性系统串联校正一、实验目的1.熟练掌握用MATLAB 语句绘制频域曲线。
2.掌握控制系统频域范围内的分析校正方法。
3.掌握用频率特性法进行串联校正设计的思路和步骤。
二、基础知识控制系统设计的思路之一就是在原系统特性的基础上,对原特性加以校正,使之达到要求的性能指标。
最常用的经典校正方法有根轨迹法和频域法。
而常用的串联校正装置有超前校正、滞后校正和超前滞后校正装置。
本实验主要讨论在MATLAB 环境下进行串联校正设计。
1.基于频率法的串联超前校正超前校正装置的主要作用是通过其相位超前效应来改变频率响应曲线的形状,产生足够大的相位超前角,以补偿原来系统中元件造成的过大的相位滞后。
因此校正时应使校正装置的最大超前相位角出现在校正后系统的开环截止频率c ω处。
例5-1:单位反馈系统的开环传递函数为)1()(+=s s K s G ,试确定串联校正装置的特性,使系统满足在斜坡函数作用下系统的稳态误差小于0.1,相角裕度045≥r 。
解:根据系统静态精度的要求,选择开环增益101.0)1(11)(200>⇒<++⨯==→→K s s k s s Lim s sE Lim e s s ss取12=K ,求原系统的相角裕度。
>>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,wcp1]margin(num0,den0) %计算系统的相角裕度和幅值裕度,并绘制出Bode 图grid;ans =Inf 11.6548 Inf 2.4240由结果可知,原系统相角裕度06.11=r ,s rad c /4.2=ω,不满足指标要求,系统的Bode图如图5-1所示。
考虑采用串联超前校正装置,以增加系统的相角裕度。
确定串联装置所需要增加的超前相位角及求得的校正装置参数。
),5,,45(0000c m c Φ=Φ=+-=Φ令取为原系统的相角裕度εγγεγγm m ϕϕαsin 1sin 1-+= e=5; r=45; r0=pm1;phic=(r-r0+e)*pi/180;alpha=(1+sin(phic))/(1-sin(phic));将校正装置的最大超前角处的频率m ω作为校正后系统的剪切频率c ω。
则有:αωωω1)(0)()(lg 2000=⇒=c c c c j G j G j G即原系统幅频特性幅值等于αlg 20-时的频率,选为c ω。
根据m ω=c ω,求出校正装置的参数T 。
即αωc T 1=。
[il,ii]=min(abs(mag1-1/sqrt(alpha)));wc=w( ii); T=1/(wc*sqrt(alpha));numc=[alpha*T,1]; denc=[T,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); %计算指定频率内系统新的相角范围和幅值范围 图5-1 原系统的Bode 图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(['校正前:幅值裕量=',num2str(20*log10(gm1)),'db','相位裕量=',num2str(pm1),'0';'校正后:幅值裕量=',num2str(20*log10(gm)),'db','相位裕量=',num2str(pm),'0']);2.基于频率法的串联滞后校正滞后校正装置将给系统带来滞后相角。
引入滞后装置的真正目的不是为了提供一个滞后相角,而是要使系统增益适当衰减,以便提高系统的稳态精度。
滞后校正的设计主要是利用它的高频衰减作用,降低系统的截止频率,以便能使得系统获得充分的相位裕量。
例5-2:单位反馈系统的开环传递函数为)12.0)(11.0()(++=s s s K s G ,试确定串联校正装置的特性,使校正后系统的静态速度误差系数等于30/s ,相角裕度040=r ,幅值裕量不小于10dB ,截止频率不小于2.3rad/s 。
解:根据系统静态精度的要求,选择开环增益3030)12.0)(11.0()(00=⇒=++⨯==→→K s s s K s Lim s sG Lim K s s v 图5-2 系统校正前后的传递函数及Bode 图利用MATLAB 绘制原系统的bode 图和相应的稳定裕度。
>>num0=30; den0=conv([1,0],conv([0.1,1],[0.2,1])); w=logspace(-1,1.2);[gm1,pm1,wcg1,wcp1]=margin(num0,den0);[mag1,phase1]=bode(num0,den0,w);[gm1,pm1,wcg1,wcp1]margin(num0,den0)grid;ans =0.5000 -17.2390 7.0711 9.7714由结果可知,原系统不稳定,且截止频率远大于要求值。
系统的Bode 图如图5-3所示,考虑采用串联超前校正无法满足要求,故选用滞后校正装置。
根据对相位裕量的要求,选择相角为)40,10~5(1800000==++-=γεεγφ处的频率作为校正后系统的截止频率c ω。
确定原系统在新c ω处的幅值衰减到0dB 时所需的衰减量为βlg 20-。
一般取校正装置的转折频率分别为c T ω)101~51(1=和T β1。
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,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,1);semilogx(w,20*log10(mag),w,20*log10(mag1),'--',w,20*log10(mag2),'-.');grid; ylabel('幅值(db)'); title('--Go,-Gc,GoGc');图5-3 原系统的Bode 图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';'校正后:幅值裕量=',num2str(20*log10(gm)),'db','相位裕量=',num2str(pm),'0']);3.基于频率法的串联滞后-超前校正滞后-超前校正装置综合了超前校正和滞后校正的优点,从而改善了系统的性能。