实验三 线性系统时域响应分析
- 格式:doc
- 大小:102.50 KB
- 文档页数:8
1 注意:作本实验前必须将本文件夹中的routh.m文件放到C:\MATLAB6p5\work目录中。
实验三 线性系统时域响应分析
一、实验目的
1.熟练掌握step( )函数和impulse( )函数的使用方法。
2.研究线性系统在单位阶跃函数及单位脉冲函数作用下的响应。
3.熟练掌握利用劳思判据判别系统的稳定性。
二、基础知识及MATLAB函数(注意:本部分内容如果已经熟悉,可以不用阅读,直接看第三部分内容)
(一)基础知识
学习自动控制理论时已经知道,为了研究控制系统的时域特性,经常采用瞬态响应(如阶跃响应、脉冲响应和斜坡响应)。系统的传递函数用两个数组来表示。
1.阶跃响应
考虑下列系统:25425)()(2sssRsC
该系统可以表示为两个数组,每一个数组由相应的多项式系数组成,并且以s的降幂排列如下:
>> num=[25]
>> den=[1 4 25]
num和den(即闭环传递函数的分子和分母),则命令
>> step(num,den) 或
>> step(num,den,t)
将会产生出单位阶跃响应图(在阶跃命令中,t为用户指定时间)。
由方程25425)()(2sssRsC描述的系统的单位阶跃响应在MATLAB中表示 2 如下:
>> num=[25];
>> den=[1 4 25];
>> step(num,den)
>> grid
>> title('Unit-step Respinse of G(S)=25/(s^2+4s+25) ')
该单位阶跃响应曲线如下图2-1所示:
图2-1 二阶系统的单位阶跃响应
2.单位脉冲响应
利用下列MATLAB命令中的一种命令,可以得到控制系统的单位脉冲响应:
>> impulse(num,den)
例:试求下列系统的单位脉冲响应:
12.01)()()(2sssGsRsC
在MATLAB中可表示为
由此得到的单位脉冲响应曲线如下图2-2所示: >>num=[0 0 1];
>>den=[1 0.2 1];
>>impulse(num,den);
>>grid
>>title('Unit-impulse Response of G(S)=1/(S^2+0.2s+1)') 3
图2-2 二阶系统的单位脉冲相应
3.单位斜坡响应
在MATLAB中没有斜坡响应命令,对于已经定义了的函数g,可以通过下面的语句求函数g的单位斜坡响应。
>> t=0:0.02:5;
>> r=t;
>> lsim(g,r,t)
例如,考虑下列闭环系统:
11)()(2sssRsC
为了得到系统的单位斜坡响应,可列写如下程序:
>>num=[1];
>>den=[1 1 1];
>>g=tf(num,den)
>> t=0:0.02:5;
>> r=t;
>> lsim(g,r,t)
利用此程序获得的响应曲线如图2-3所示:
4
图2-3 单位斜坡响应
3、单位加速度响应
在MATLAB中没有加速度响应命令,对于已经定义了的函数g,可以通过下面的语句求函数g的单位斜坡响应。
>> r=1/2*t.^2;
>> lsim(g,r,t)
例如,考虑下列闭环系统:
2()1()241CsRsss
为了得到系统的单位斜坡响应,可列写如下程序:
>>num=[1];
>>den=[2 4 1 ];
>>g=tf(num,den)
>> t=0:0.02:5;
>> r=1/2*t.^2;
>> lsim(g,r,t)
利用此程序获得的响应曲线如图2-4所示:
012345012345Linear Simulation ResultsTime (sec)Amplitude 5 01234502468101214Linear Simulation ResultsTime (sec)Amplitude
图2-4 单位加速度响应
4.劳斯稳定判据
(1)对于已知传递函数的特征方程,使用下面的MATLAB命令可以由routh判据判定出系统的稳定性。
>>syms EPS
>>ra=routh(den,EPS)
例子:已知系统的特征方程为s4+10s3+35s2+50s+24=0,使用routh判据判定出系统的稳定性。
den=[1,10,35,50,24];
syms EPS
ra=routh(den,EPS)
ra =
[ 1, 35, 24]
[ 10, 50, 0]
[ 30, 24, 0]
[ 42, 0, 0] 6 [ 24, 0, 0]
由劳思表可知系统稳定。
(2)用solve指令解方程求根验证:
>>solve('s^4+10*s^3+35*s^2+50*s+24=0')
ans =
[ -4]
[ -3]
[ -2]
[ -1]
(3)用root指令求根验证
>> roots([1 10 35 50 24])
ans =
-4.0000
-3.0000
-2.0000
-1.0000
(二)常用MATLAB函数
1.step
功能:求取线性系统单位的阶跃响应。
格式:step(g,t)
其中G为给定系统的LTI对象模型,变量t为由要计算的点所在时刻的值组成的向量,一般地可以由t=0:dt:t_end等步长地产生出来,其中t_end为终值时间,而dt为计算步长。这样得出的系统输出在y向量中返回。值得指出的是,在step( )函数的调用还可以使用不均匀生成的时间向量t。
还可以由其它的格式来调用step( )函数。
2.impulse 7 功能:求取线性系统的脉冲响应。
格式:
impulse(g):自动绘制系统的脉冲响应曲线。
3.routh
功能:构造系统的劳斯表。
格式:>>syms EPS
>>ra=routh(den,EPS)
其中,用户可以给出系统的分母多项式系数向量den,这样这个函数将返回routh表矩阵ra。
三、实验内容
1.对典型二阶系统
222()2nnnHsss
绘制出当ξ=0.7, n=6时单位阶跃响应、单位脉冲响应、单位斜坡响应和单位加速度响应曲线。
2.系统的特征方程式为
(1)5432614171020sssss
ra =
[ 1, 14, 10]
[ 6, 17, 2]
[ 67/6, 29/3, 0]
[ 791/67, 2, 0]
[ 6150/791, 0, 0]
[ 2, 0, 0]
(2)4322250ssss 8 Special Case: First element is zero.
ra =
[ 1, 2, 2]
[ 1, 2, 0]
[ EPS, 2, 0]
[ (-2+2*EPS)/EPS, 0, 0]
[ 2, 0, 0]
(3)6543228122016160ssssss
ra =
[ 1, 8, 20, 16]
[ 2, 12, 16, 0]
[ 2, 12, 16, 0]
[ 8, 24, 0, 0]
[ 6, 16, 0, 0]
[ 8/3, 0, 0, 0]
[ 16, 0, 0, 0]
试用劳斯判据判别系统的稳定性。
四、实验报告要求
写出实验内容、经调试好的MATLAB语言程序和对应的MATLAB运算结果和结论。