1、实验二 线性系统时域分析实验二 线性系统时域分析一、实验目的1熟练掌握step( )函数和impulse( )函数的使用方法,研究线性系统在单位阶跃、单位脉冲及单位斜坡函数作用下的响应。2通过响应曲线观测特征参量和对二阶系统性能的影响。3熟练掌握系统的稳定性的判断方法。二、基础知识及MATLAB函数(一)基础知识时域分析法直接在时间域中对系统进行分析,可以提供系统时间响应的全部信息,具有直观、准确的特点。为了研究控制系统的时域特性,经常采用瞬态响应(如阶跃响应、脉冲响应和斜坡响应)。本次实验从分析系统的性能指标出发,给出了在MATLAB环境下获取系统时域响应和分析系统的动态性能和稳态性能的方法
2、。用MATLAB求系统的瞬态响应时,将传递函数的分子、分母多项式的系数分别以s的降幂排列写为两个数组num、den。由于控制系统分子的阶次m一般小于其分母的阶次n,所以num中的数组元素与分子多项式系数之间自右向左逐次对齐,不足部分用零补齐,缺项系数也用零补上。1 用MATLAB求控制系统的瞬态响应1) 阶跃响应求系统阶跃响应的指令有: step(num,den) 时间向量t的范围由软件自动设定,阶跃响应曲线随即绘出step(num,den,t) 时间向量t的范围可以由人工给定(例如t=0:0.1:10)y,x=step(num,den) 返回变量y为输出向量,x为状态向量在MATLAB程序中
3、,先定义num,den数组,并调用上述指令,即可生成单位阶跃输入信号下的阶跃响应曲线图。考虑下列系统:该系统可以表示为两个数组,每一个数组由相应的多项式系数组成,并且以s的降幂排列。则matlab的调用语句: num=0 0 25; %定义分子多项式 den=1 4 25; %定义分母多项式 step(num,den) %调用阶跃响应函数求取单位阶跃响应曲线 grid %画网格标度线 xlabel(t/s),ylabel(c(t) %给坐标轴加上说明 title(Unit-step Respinse of G(s)=25/(s2+4s+25) %给图形加上标题名则该单位阶跃响应曲线如图2-1所
4、示:为了在图形屏幕上书写文本,可以用text命令在图上的任何位置加标注。例如: text(3.4,-0.06,Y1) 和 text(3.4,1.4,Y2)第一个语句告诉计算机,在坐标点x=3.4,y=-0.06上书写出Y1。类似地,第二个语句告诉计算机,在坐标点x=3.4,y=1.4上书写出Y2。若要绘制系统t在指定时间(0-10s)内的响应曲线,则用以下语句:num=0 0 25; den=1 4 25; t=0:0.1:10; step(num,den,t) 即可得到系统的单位阶跃响应曲线在0-10s间的部分,如图2-2所示。 2) 脉冲响应 求系统脉冲响应的指令有: impulse (n
5、um,den) 时间向量t的范围由软件自动设定,阶跃响应曲线随即绘出 impulse (num,den,t) 时间向量t的范围可以由人工给定(例如t=0:0.1:10)y,x=impulse(num,den) 返回变量y为输出向量,x为状态向量y,x,t=impulse(num,den,t) 向量t 表示脉冲响应进行计算的时间例:试求下列系统的单位脉冲响应: 在matlab中可表示为 num=0 0 1; den=1 0.2 1; impulse(num,den) grid title(Unit-impulse Response of G(s)=1/(s2+0.2s+1)由此得到的单位脉冲响应
6、曲线如图2-3所示: 求脉冲响应的另一种方法应当指出,当初始条件为零时,G (s)的单位脉冲响应与sG(s)的单位阶跃响应相同。考虑在上例题中求系统的单位脉冲响应,因为对于单位脉冲输入量,R(s)=1所以因此,可以将G(s)的单位脉冲响应变换成sG(s)的单位阶跃响应。向MATLAB输入下列num和den,给出阶跃响应命令,可以得到系统的单位脉冲响应曲线如图2-4所示。 num=0 1 0; den=1 0.2 1; step(num,den) grid title(Unit-step Response of sG(s)=s/(s2+0.2s+1)3) 斜坡响应MATLAB没有直接调用求系统斜
7、坡响应的功能指令。在求取斜坡响应时,通常利用阶跃响应的指令。基于单位阶跃信号的拉氏变换为1/s,而单位斜坡信号的拉氏变换为1/s2。因此,当求系统G(s)的单位斜坡响应时,可以先用s除G(s),再利用阶跃响应命令,就能求出系统的斜坡响应。例如,试求下列闭环系统的单位斜坡响应。 对于单位斜坡输入量,R(s)=1/s2 ,因此 在MATLAB中输入以下命令,得到如图2-5所示的响应曲线: num=0 0 0 1; den=1 1 1 0;step(num,den)title(Unit-Ramp Response Cuve for System G(s)=1/(s2+s+1)2. 特征参量和对二阶系
8、统性能的影响标准二阶系统的闭环传递函数为: 二阶系统的单位阶跃响应在不同的特征参量下有不同的响应曲线。1) 对二阶系统性能的影响设定无阻尼自然振荡频率,考虑5种不同的值: =0,0.25,0.5,1.0和2.0,利用MATLAB对每一种求取单位阶跃响应曲线,分析参数对系统的影响。为便于观测和比较,在一幅图上绘出5条响应曲线(采用“hold”命令实现)。 num=0 0 1; den1=1 0 1; den2=1 0.5 1; den3=1 1 1; den4=1 2 1; den5=1 4 1;t=0:0.1:10; step(num,den1,t) grid text(4,1.7,Zeta=
9、0); hold step(num,den2,t) text (3.3,1.5,0.25) step(num,den3,t) text (3.5,1.2,0.5) step(num,den4,t) text (3.3,0.9,1.0) step(num,den5,t) text (3.3,0.6,2.0) title(Step-Response Curves for G(s)=1/s2+2(zeta)s+1)由此得到的响应曲线如图2-6所示:2) 对二阶系统性能的影响同理,设定阻尼比时,当分别取1,2,3时,利用MATLAB求取单位阶跃响应曲线,分析参数对系统的影响。num1=0 0 1; d
10、en1=1 0.5 1; t=0:0.1:10; step(num1,den1,t); grid; hold ontext(3.1,1.4,wn=1)num2=0 0 4; den2=1 1 4;step(num2,den2,t); hold ontext(1.7,1.4,wn=2)num3=0 0 9; den3=1 1.5 9;step(num3,den3,t); hold ontext(0.5,1.4,wn=3)由此得到的响应曲线如图2-7所示:3 系统稳定性判断直接求根判稳roots()控制系统稳定的充要条件是其特征方程的根均具有负实部。因此,为了判别系统的稳定性,就要求出系统特征方程
11、的根,并检验它们是否都具有负实部。MATLAB中对多项式求根的函数为roots()函数。 若求以下多项式的根,则所用的MATLAB指令为: roots(1,10,35,50,24)ans =-4.0000-3.0000-2.0000-1.0000特征方程的根都具有负实部,因而系统为稳定的。三、实验内容1观察函数step( )和impulse( )的调用格式,假设系统的传递函数模型为 可以用几种方法绘制出系统的阶跃响应曲线?试分别绘制。num=1 3 7;den=1 4 6 4 1;step(num,den);grid;xlabel(t/s),ylabel(c(t)title(Unit-step
12、 Respinse of G(s)=(s2+3s+7)/(s4+4s3+6s2+4s+1)num=1 3 7;den=1 4 6 4 1;t=0:0.1:10;step(num,den,t);Grid;xlabel(t/s),ylabel(c(t)title(Unit-step Respinse of G(s)=(s2+3s+7)/(s4+4s3+6s2+4s+1)方法一num=1 3 7; %定义分子多项式den=1 4 6 4 1; %定义分母多项式impulse (num,den)grid %画网格标度线xlabel(t/s),ylabel(c(t) %给坐标轴加上说明title(Uni
13、t-step Respinse of G(s)=(s2+3s+7)/(s4+4s3+6s2+4s+1) %给图形加上标题名方法二num=1 3 7 0; %定义分子多项式den=1 4 6 4 1; %定义分母多项式step (num,den)grid %画网格标度线xlabel(t/s),ylabel(c(t) %给坐标轴加上说明title(Unit-step Respinse of G(s)=(s2+3s+7)/(s4+4s3+6s2+4s+1) %给图形加上标题名2对典型二阶系统1)分别绘出,分别取0,0.25,0.5,1.0和2.0时的单位阶跃响应曲线,分析参数对系统的影响,并计算=0
14、.25时的时域性能指标。 2)绘制出当=0.25,分别取1,2,4,6时单位阶跃响应曲线,分析参数对系统的影响。3系统的特征方程式为,判别该系统的稳定性。roots(2 1 3 5 10)ans = 0.7555 + 1.4444i 0.7555 - 1.4444i -1.0055 + 0.9331i -1.0055 - 0.9331i方程存在正实部,该系统不稳定。四、实验报告1根据内容要求,写出调试好的MATLAB语言程序,及对应的MATLAB运算结果。2. 记录各种输出波形,根据实验结果分析参数变化对系统的影响。3总结判断闭环系统稳定的方法,说明增益K对系统稳定性的影响。4写出实验的心得与
15、体会。五、预习要求1. 预习实验中基础知识,运行编制好的MATLAB语句,熟悉MATLAB指令及step( )和impulse( )函数。2. 结合实验内容,提前编制相应的程序。3思考特征参量和对二阶系统性能的影响。4熟悉闭环系统稳定的充要条件及学过的稳定判据。注:实验报告要求1写明实验目的和实验原理。实验原理中简要说明得到系统暂态响应的方法和采用的语句或函数,说明求取给定稳态误差的方法及采用的语句或函数,说明判断系统稳定性方法。2在实验过程和结果中,要列项目反映各自的实验内容,编写的程序,运行结果,按实验内容对结果的分析与判断。程序和运行结果(图)可以从屏幕上复制,打印报告或打印粘贴在报告上。不方便打印的同学,要求手动从屏幕上抄写和绘制。3简要写出实验心得和问题或建议