MATLAB线性系统时域响应分析实验
实验报告
实验名称 线性系统时域响应分析
一、 实验目的
1.熟练掌握step( )函数与impulse( )函数的使用方法,研究线性系统在单位阶跃、单位脉冲及单位斜坡函数作用下的响应。
2.通过响应曲线观测特征参量ζ与n ω对二阶系统性能的影响。
3.熟练掌握系统的稳定性的判断方法。
二、 实验内容
1.观察函数step( )与impulse( )的调用格式,假设系统的传递函数模型为
1
4647
3)(2342++++++=s s s s s s s G
可以用几种方法绘制出系统的阶跃响应曲线?试分别绘制。
2.对典型二阶系统
2
2
2
2)(n
n n s s s G ωζωω++= 1)分别绘出)/(2s rad n =ω,ζ分别取0,0、25,0、5,1、0与2、0时的单位阶跃响应曲线,分析参数ζ对系统的影响,并计算ζ=0、25时的时域性能指标
ss s p r p e t t t ,,,,σ。
2)绘制出当ζ=0、25, n ω分别取1,2,4,6时单位阶跃响应曲线,分析参数n
ω对系统的影响。
3.系统的特征方程式为010532234=++++s s s s ,试用两种判稳方式判别该系统的稳定性。
4.单位负反馈系统的开环模型为
)
256)(4)(2()(2++++=
s s s s K
s G
试用劳斯稳定判据判断系统的稳定性,并求出使得闭环系统稳定的K 值范围。
三、 实验结果及分析
1、观察函数step( )与impulse( )的调用格式,假设系统的传递函数模型为
1
4647
3)(2
342++++++=s s s s s s s G 可以用几种方法绘制出系统的阶跃响应曲线?试分别绘制。
方法一:
num=[1 3 7]; den=[1 4 6 4 1]; step(num,den) grid
xlabel('t/s'),ylabel('c(t)')
title('Unit-step Respinse of G(s)=(s^2+3s+7)/(s^4+4s^3+6s^2+4s+1)')
方法二:
num=[1 3 7]; den=[1 4 6 4 1 0]; impulse(num,den) grid
xlabel('t/s'),ylabel('c(t)')
title('Unit-impulse Respinse of G(s)/s=(s^2+3s+7)/(s^5+4s^4+6s^3+4s^2+s)')
2.对典型二阶系统
2
22
2)(n
n n s s s G ωζωω++= 1)分别绘出)/(2s rad n =ω,ζ分别取0,0、25,0、5,1、0与2、0时的单位阶跃响应曲线,分析参数ζ对系统的影响,并计算ζ=0、25时的时域性能指标
ss s p r p e t t t ,,,,σ。
2)绘制出当ζ=0、25, n ω分别取1,2,4,6时单位阶跃响应曲线,分析参数n ω对系统的影响。
(1)
num=[0 0 1]; den1=[1 0 4]; den2=[1 1 4]; den3=[1 2 4]; den4=[1 4 4]; den5=[1 8 4]; t=0:0、1:10;step(num,den1,t) >> grid
>> text(1、65,0、5,'Zeta=0'); hold Current plot held >> step(num,den2,t)
>> text(1、65,0、36,'0、25');
>> step(num,den3,t)
>> text(1、65,0、3,'0、5');
>> step(num,den4,t)
>> text(1、65,0、21,'1、0');
>> step(num,den5,t)
>> text(1、65,0、15,'2、0');
ω不变,依次取值ζ=0,0、25,0、5,1、0与2、0影响:从上图可以瞧出,保持
n
时, 系统逐渐从欠阻尼系统过渡到临界阻尼系统再到过阻尼系统,系统的超调量随ζ的增大而减小,上升时间随的增大而变长,系统的响应速度随ζ的增大而变慢,系统的稳定性随ζ的增大而增强。
由图可得出:当ζ=0、25时,p σ=44、4%,r t =0、944s,p t =1、64s,s t =5、4s,ss e =0
(2) num1=[0 0 1];den1=[1 0、5 1]; t=0:0、1:10;
step(num1,den1,t); grid;
text(3、0,1、4,'wn=1'); hold
Current plot held
>> num2=[0 0 4];den2=[1 1 4]; step(num2,den2,t);
text(1、57,1、44,'wn=2');
>> num3=[0 0 16];den3=[1 2 16]; step(num3,den3,t);
text(0、77,1、43,'wn=4');
>> num4=[0 0 36];den4=[1 3 36]; step(num4,den4,t);
text(0、41,1、33,'wn=6');
影响:n ω越大,系统到达峰值时间越短,上升时间越短,系统响应时间越快,调节时间也变短,但就是超调量没有变化。
3.系统的特征方程式为010532234=++++s s s s ,试用两种判稳方式判别该系统的稳定性。
方法一:
roots([2,1,3,5,10]) ans =
0、7555 + 1、4444i 0、7555 - 1、4444i -1、0055 + 0、9331i -1、0055 - 0、9331i 系统不稳定 方法二:
den=[2,1,3,5,10]; [r,info]=routh(den) r =
2、0000
3、0000 10、0000 1、0000 5、0000 0 -7、0000 10、0000 0 6、4286 0 0
10、0000 0 0 info =
所判定系统有 2 个不稳定根!
4.单位负反馈系统的开环模型为
)
256)(4)(2()(2++++=
s s s s K
s G
试用劳斯稳定判据判断系统的稳定性,并求出使得闭环系统稳定的K 值范围。
den=[1,12,69,198,866、5]; >> [r,info]=routh(den) r =
1、0000 69、0000 866、5000 1
2、0000 198、0000 0 52、5000 866、5000 0 -0、0571 0 0 866、5000 0 0 info =
所判定系统有 2 个不稳定根! >> den=[1,12,69,198,866]; >> [r,info]=routh(den) r =
1、0000 69、0000 866、0000 1
2、0000 198、0000 0 52、5000 866、0000 0 0、0571 0 0 866、0000 0 0 info =
所要判定系统稳定!
>> den=[1,12,69,198,0]; >> [r,info]=routh(den) r =
1、0000 69、0000 0 1
2、0000 198、0000 0 52、5000 0 0 198、0000 0 0 198、0000 0 0 info =
所要判定系统稳定!
>> den=[1,12,69,198,-0、001]; >> [r,info]=routh(den) r =
1、0000 69、0000 -0、0010 1
2、0000 198、0000 0 52、5000 -0、0010 0
198、0002 0 0
-0、0010 0 0
info =
所判定系统有 1 个不稳定根!
分析知:闭环系统稳定的K值范围为(0,666)
总结判断闭环系统稳定的方法,说明增益K对系统稳定性的影响。
通过根轨迹来判断,或用劳斯表判断。
K值越大,稳定性越低。
四、实验心得与体会
熟练掌握了step( )函数与impulse( )函数的使用方法,研究线性系统在单位阶跃、单位脉冲及单位斜坡函数作用下的响应。
通过响应曲线观测特征参量与对二阶系统性能的影响。
熟练掌握系统的稳定性的判断方法。
实验二 利用MATLAB进行时域分析
实验二利用MATLAB进行时域分析本实验内容包含以下三个部分:基于MATLAB得线性系统稳定性分析、基于MATLAB得线性系统动态性能分析、与MATALB进行控制系统时域分析得一些其它实例。
一、基于MATLAB得线性系统稳定性分析线性系统稳定得充要条件就是系统得特征根均位于S平面得左半部分。
系统得零极点模型可以直接被用来判断系统得稳定性。
另外,MATLAB语言中提供了有关多项式得操作函数,也可以用于系统得分析与计算。
(1)直接求特征多项式得根设p为特征多项式得系数向量,则MATLAB函数roots()可以直接求出方程p=0在复数范围内得解v,该函数得调用格式为:v=roots(p) 例3、1 已知系统得特征多项式为:特征方程得解可由下面得MATLAB命令得出。
>> p=[1,0,3,2,1,1];v=roots(p)结果显示:v =0、3202 + 1、7042i0、3202 - 1、7042i-0、72090、0402 + 0、6780i0、0402 - 0、6780i利用多项式求根函数roots(),可以很方便得求出系统得零点与极点,然后根据零极点分析系统稳定性与其它性能。
(2)由根创建多项式如果已知多项式得因式分解式或特征根,可由MATLAB函数poly()直接得出特征多项式系数向量,其调用格式为:p=poly(v) 如上例中:v=[0、3202+1、7042i;0、3202-1、7042i;-0、7209;0、0402+0、6780i; 0、0402-0、6780i];>> p=poly(v)结果显示p =1、0000 0、0001 3、00002、0001 0、9998 0、9999由此可见,函数roots()与函数poly()就是互为逆运算得。
(3)多项式求值在MATLAB 中通过函数polyval()可以求得多项式在给定点得值,该函数得调用格式为: polyval(p,v)对于上例中得p值,求取多项式在x点得值,可输入如下命令:>> p=[1,0,3,2,1,1];x=1polyval(p,x)结果显示x =1ans =8(4)部分分式展开考虑下列传递函数:式中,但就是与中某些量可能为零。
《自动控制原理》实验2(线性系统时域响应分析)
实验二 线性系统时域响应分析一、实验目的1.熟练掌握step( )函数和impulse( )函数的使用方法,研究线性系统在单位阶跃、单位脉冲及单位斜坡函数作用下的响应。
2.通过响应曲线观测特征参量ζ和n ω对二阶系统性能的影响。
二、基础知识及MATLAB 函数(一)基础知识时域分析法直接在时间域中对系统进行分析,可以提供系统时间响应的全部信息,具有直观、准确的特点。
为了研究控制系统的时域特性,经常采用瞬态响应(如阶跃响应、脉冲响应和斜坡响应)。
本次实验从分析系统的性能指标出发,给出了在MATLAB 环境下获取系统时域响应和分析系统的动态性能和稳态性能的方法。
用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 程序中,先定义num,den 数组,并调用上述指令,即可生成单位阶跃输入信号下的阶跃响应曲线图。
考虑下列系统:25425)()(2++=s s s R s C 该系统可以表示为两个数组,每一个数组由相应的多项式系数组成,并且以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/(s^2+4s+25)’) %给图形加上标题名 则该单位阶跃响应曲线如图2-1所示:为了在图形屏幕上书写文本,可以用text 命令在图上的任何位置加标注。
实验1 利用matlab进行系统的时域分析
实验1 利用matlab进行系统的时域分析一.实验目的:1.了解离散时间序列卷积与的matlab实现;2.利用卷积与求解系统的零状态响应;二.实验原理:1.连续时间系统零状态响应的求解连续时间LTI系统以常系数微分方程描述,系统的零状态响应可通过求解初始状态为零的微分方程得到。
在MATLAB中,控制系统工具箱提供了一个用于求解零初始状态微分方程数值解的函数lsim。
其调用方式为y= lsim( sys,x,t)式中t表示计算系统响应的抽样点向量,x就是系统输入信号向量,sys就是连续时间LTI系统模型,用来表示微分方程、差分方程、状态方程。
在求解微分方程时,微分方程的连续时间LTI系统模型sys要借助tf函数获得,其调用方式为sys= tf(b,a)式中b与a分别为微分方程右端与左端各项的系数向量。
例如对3阶微分方程+++=+++可用a=[ a3, a2, a1, a0];b=[b3 ,b2, b1,b0]; sys=tf( b,a)获得连续时间LTI模型。
注意微分方程中为零的系数一定要写入向量a与b中。
【例2-1】描述某力学系统中物体位移y(t)与外力f(t)的关系为++y(t)=x(t)物体质量m=l kg,弹簧的弹性系数ks= 100 N/m,物体与地面的摩擦系数fd=2 N·s/m,系统的初始储能为零,若外力x(t)就是振幅为10、周期为1的正弦信号,求物体的位移y(t)。
解:由已知条件,系统的输入信号为x(t)=10sin(2πt),系统的微分方程为++100y(t)=x(t)计算物体位移y(t)的MATLAB程序如下:%program2_1微分方程求解ts=0;te=5;dt=0、01;sys=tf([1],[1 2 100]);t=ts:dt:te;x=10*sin(2*pi*t);y=lsim(sys,x,t);plot(t,y);xlabel('Time(sec)')ylabel('y(t)')-0.25-0.2-0.15-0.1-0.0500.050.10.150.2Time(sec)y (t )图2-1系统的零状态响应2、连续时间系统冲激响应与阶跃响应的求解在MATLAB 中,求解系统冲激响应可应用控制系统工具箱提供的函数impulse,求解阶跃响应可利用函数step 。
MATLAB与信号实验——连续LTI系统的时域分析
MATLAB与信号实验——连续LTI系统的时域分析连续LTI系统的时域分析是信号与系统学中的重要课题。
MATLAB作为一种强大的科学计算软件,提供了丰富的工具和函数来进行信号与系统的分析。
下面将介绍MATLAB在连续LTI系统时域分析中的应用。
首先,我们需要了解连续LTI系统的基本概念。
一个连续域线性时不变系统(LTI系统)可以由它的冲激响应完全描述。
冲激响应是系统对单位冲激信号的响应。
在MATLAB中,可以使用impulse函数来生成单位冲激信号。
假设我们有一个连续LTI系统的冲激响应h(t),我们可以使用conv 函数来计算系统对任意输入信号x(t)的响应y(t)。
conv函数实现了卷积运算,可以将输入信号与冲激响应进行卷积运算得到输出信号。
例如,我们假设一个连续LTI系统的冲激响应为h(t) = exp(-t)u(t),其中u(t)是单位阶跃函数。
我们可以使用以下代码生成输入信号x(t)和计算输出信号y(t):```matlabt=-10:0.1:10;%时间范围x = sin(t); % 输入信号h = exp(-t).*heaviside(t); % 冲激响应y = conv(x, h, 'same'); % 计算输出信号```这段代码首先定义了时间范围t,然后定义了输入信号x(t)和冲激响应h(t)。
接下来,使用conv函数计算输入信号和冲激响应的卷积,设置参数’same’表示输出信号与输入信号长度相同。
最后,得到了输出信号y(t)。
在得到输出信号后,我们可以使用MATLAB的绘图功能来可视化结果。
例如,使用以下代码可以绘制输入信号和输出信号的图像:```matlabfigure;plot(t, x, 'b', 'LineWidth', 2); % 绘制输入信号hold on;plot(t, y, 'r', 'LineWidth', 2); % 绘制输出信号xlabel('时间');ylabel('幅度');legend('输入信号', '输出信号');```除了卷积运算外,MATLAB还提供了许多其他函数来进行连续LTI系统的时域分析。
基于MATLAB的线性时域分析
实践环节:
• (1)二阶系统分析 • 试验1 • 程序: • den=[1 2 10]; %系统旳分母多项式 • num=10; %系统旳分子多项式 • r=roots(den) %计算分母多项式旳根 • [w,z]=damp(den)%计算系统旳自然振荡频率w和阻尼比z • [y,x,t]=step(num,den); %阶跃响应 • finalvalue=dcgain(num,den) • [yss,n]=max(y)%计算峰值大小 • percentovershoot=100*(yss-finalvalue)/finalvalue% 计算超
间ts,并与理论值相比较。 • 2.试作出下列系统旳阶跃响应,并比较与原系统响应曲线旳差
别与特点,作出相应旳试验分析成果。 • (a)G1(s)=(2s+1)/(s2+2s+10),有系统零点情况。 • (b)G2(s)=(s2+0.5)/(s2+2s+10),分子、分母多项式
阶数相等。 • (c)G3(s)=s/(s2+2s+10),分子多项式零次项系数为零。 • 3、已知单位反馈开环系统传递函数。
• 3、已知单位反G(S )
100
(0.1S 1)(S 5)
•
(b)G(S )
50
S (0.1S 1)(S 5)
10(2S 1)
• (c)G(S ) S 2 (S 2 6S 100)
• 输入分别为r(t)=2t和时, 系统旳响应曲线,分析 稳态值与系统输入函数 旳关系
• (3)已知单位反馈开环系统传递函数。 • a=[0.1,1.5,5]; • b=100; • sys=tf(b,a); • b1=50; • a1=[0.1,1.5,5,0]; • sys1=tf(b1,a1); • b2=[0 0 0 20 10]; • a2=[1 6 100 0 0]; • sys2=tf(b2,a2); • t=0:1:100; • e1=2*t; • e2=2+2*t+t.*t; • subplot(2,3,1); • lsim(sys,e1,t); • subplot(2,3,2); • lsim(sys1,e1,t); • subplot(2,3,3); • lsim(sys2,e1,t); • subplot(2,3,4); • lsim(sys,e2,t); • subplot(2,3,5); • lsim(sys1,e2,t); • subplot(2,3,6); • lsim(sys2,e2,t); •
实验二-MATLAB用于时域分析
实验二 MATLAB用于时域分析一、实验目的通过使用MATLAB完成系统的输出响应分析、稳定性分析、求动态性能指标以及稳态误差分析等工作。
二、实验原理在MATLAB中,可以通过单输入单输出系统的传递函数,进行系统的脉冲响应,阶跃响应以及一般输入响应等时域分析。
用到以下函数:单位阶跃响应 step(num,den,t)单位脉冲响应impluse(num,den,t)一般输入响应 y=Isim(num,den,u,t)时间t是事先定义的矢量,u为输入信号。
此外,还可以求出系统的超调量,调节时间以及稳态误差。
SIMULINK是MATLAB的一个附加组件,用来提供一个系统的建模、动态仿真及综合分析的工作平台。
SIMULINK模型可以用来模拟线性或非线性、连续或离散,或者两者混合的系统,即可用它来模拟几乎所有的动态系统。
三、实验内容通过MATLAB以及其中的SIMULINK完成系统的输出响应分析、稳定性分析、求动态性能指标以及稳态误差分析等工作。
四、实验代码1、一阶系统响应sys1=tf([100],[1 0]);sys2=tf([0.1],[1]);sys=feedback(sys1,sys2);step(sys)2、二阶系统响应wn=1t=0:0.1:12;num=[1];zeta1=0;den1=[1 2*zeta1 1];zeta3=0.3;den3=[1 2*zeta3 1];zeta5=0.5;den5=[1 2*zeta5 1];zeta7=0.7;den7=[1 2*zeta7 1];zeta9=1.0;den9=[1 2*zeta9 1];[y1,x,t]=step(num,den1,t);[y3,x,t]=step(num,den3,t);[y5,x,t]=step(num,den5,t);[y7,x,t]=step(num,den7,t);[y9,x,t]=step(num,den9,t);plot(t,y1,t,y3,t,y5,t,y7,t,y9)grid on;3、稳定性分析den=[1 1 2 24];roots(den)4、求动态性能指标t=0:0.01:2;num=[1000]';den=[1 34.5 1000];[y,x,t]=step(num,den,t);plot(t,y);maxy=max(y);yes=y(length(t));pos=100*(maxy-yes)/yesfor i=1:1:201if y(i)==maxy,n=i;endendtp=(n-1)*0.01for i=1:1:201if(y(i)<1.05&y(i)>0.95),n=i;endbreak;endts=(n-1)*0.015、稳态误差分析t=0:0.1:15;[num1,den1]=cloop([1],[1 1]);[num2,den2]=cloop([1],[1 1 0]);[num3,den3]=cloop([4 1],[1 1 0 0]);y1=impulse(num1,den1,t);y2=impulse(num2,den2,t);y3=impulse(num3,den3,t);subplot(311);plot(t,y1);subplot(312);plot(t,y2);subplot(313);plot(t,y3);er1=0-y1(length(t))er2=0-y2(length(t))er3=0-y3(length(t))6、求单位阶跃响应及其稳态误差t=0:0.1:20[num1,den1]=cloop([1],[1 1]);[num2,den2]=cloop([1],[1 1 0]);[num3,den3]=cloop([4 1],[1 1 0 0]);y1=step(num1,den1,t);y2=step(num2,den2,t);y3=step(num3,den3,t);subplot(311);plot(t,y1);subplot(312);plot(t,y2);subplot(313);plot(t,y3);er1=1-y1(length(t));er2=1-y2(length(t));er3=1-y3(length(t));7、求单位斜坡响应及其稳态误差t=0:0.1:20;t1=0:0.1:100;[num1,den1]=cloop([1],[1 1]);[num2,den2]=cloop([1],[1 1 0]);[num3,den3]=cloop([4 1],[1 1 0 0]);y1=step(num1,[den1 0],t1);y2=step(num2,[den2 0],t);y3=step(num3,[den3 0],t);subplot(311);plot(t1,y1,t1,t1);subplot(312);plot(t,y2,t,t);subplot(313);plot(t,y3,t,t);er1=t1(length(t1))-y1(length(t1))er2=t(length(t))-y2(length(t))er3=t(length(t))-y3(length(t))8、实例分析kp=[0.11 6];t=[0:0.01:1];num1=303.03*kp(1);den1=[0.00001 0.00633 0.20167 21.21*kp(1)+1];y1=step(num1,den1,t);num2=303.03*kp(2);den2=[0.00001 0.00633 0.20167 21.21*kp(2)+1];y2=step(num2,den2,t);subplot(211);plot(t,y1);subplot(212);plot(t,y2);gtext('kp=0.11');gtext('kp=6');9、SIMULINK用于系统仿真五、实验结果1、一阶系统响应2、二阶系统响应3、稳定性分析4、求动态性能指标5、稳态误差分析6、求单位阶跃响应及其稳态误差7、求单位斜坡响应及其稳态误差8、实例分析9、SIMULINK用于系统仿真六、实验总结通过本次实验实现了用MATLAB完成系统的输出响应分析、稳定性分析、求动态性能指标以及稳态误差分析等工作。
MATLAB与信号实验——连续LTI系统的时域分析
MATLAB与信号实验-——-连续LTI系统的时域分析在信号处理中,MATLAB是一个强大的工具,它提供了许多功能,使我们能够模拟和分析各种信号系统。
对于连续LTI系统,时域分析是一个重要的方法,它允许我们直接观察系统的输入和输出信号之间的关系。
下面是一个关于连续LTI系统的时域分析的实验。
一、实验目的本实验的目的是验证连续LTI系统的时域响应,通过使用MATLAB模拟系统,我们可以观察到不同的输入信号产生的输出信号,从而了解系统的特性。
二、实验步骤1.定义系统:首先,我们需要定义我们的连续LTI系统。
这可以通过使用MATLAB中的lti函数来完成。
我们需要提供系统的传递函数,它描述了系统的输入和输出之间的关系。
2.设置输入信号:为了观察系统的行为,我们需要设置一个合适的输入信号。
在MATLAB中,我们可以使用square函数来生成一个方波信号,该信号具有固定的频率和幅度。
3.模拟系统:使用MATLAB的lsim函数,我们可以模拟我们的连续LTI系统。
这个函数将输入信号和系统的传递函数作为参数,然后计算出系统的输出信号。
4.分析结果:我们可以使用MATLAB的图形功能来观察输入和输出信号。
这可以帮助我们理解系统的行为,并验证我们的模型是否正确。
三、实验结果与分析在实验中,我们使用了不同的输入信号(如方波、正弦波等)来测试我们的连续LTI系统。
对于每种输入信号,我们都观察了系统的输出信号,并记录了结果。
通过对比不同的输入和输出信号,我们可以得出以下结论:1.对于方波输入,系统的输出信号是带有延迟的方波,这表明系统对突变信号的响应是瞬时的。
2.对于正弦波输入,系统的输出信号是与输入信号同频同相位的正弦波,这表明系统对正弦波的响应是具有稳定性的。
这些结果验证了连续LTI系统的基本特性:即对于单位阶跃函数(突变信号)的输入,系统的响应是瞬时的;而对于周期性输入(如正弦波),系统的响应具有稳定性。
这些结果与我们在理论上学到的知识相符,从而验证了我们的模型是正确的。
自动控制理论实验报告
实验五线性系统的时域分析一、实验目的1、学会使用MATLAB绘制控制系统的单位阶跃响应曲线;2、研究二阶控制系统中、对系统阶跃响应的影响3、掌握系统动态性能指标的获得方法及参数对系统动态性能的影响。
二、实验设备Pc机一台,MATLAB软件。
三、实验举例已知二阶控制系统:C(s)/R(s)=10/[s2+2s+10]求:系统的特征根 、wn 系统的单位阶跃响应曲线解:1、求该系统的特征根若已知系统的特征多项式D(),利用roots()函数可以求其特征根。
若已知系统的传递函数,可以利用eig()函数直接求出系统的特征根。
在MATLAB命令窗口提示符下键入:(符号表示回车)num=[10] 分子多项式系数den=[1 2 10] 分母多项式系数sys=tf(num,den);建立控制系统的传递函数模型eig(sys)求出系统的特征根屏幕显示得到系统的特征根为:ans = -1.0000 + 3.0000i ; -1.0000 - 3.0000i2、求系统的闭环根、和函数damp()可以直接计算出闭环根、和den=[1 2 10]damp(den) 计算出闭环根屏幕显示得到系统的闭环根、和Eigenvalue Damping Freq. (rad/s)-1.00e+000 + 3.00e+000i 3.16e-001 3.16e+000-1.00e+000 - 3.00e+000i 3.16e-001 3.16e+000 既系统闭环跟为一对共轭复根 -1+j3与-1-j3,阻尼比,无阻尼振荡频率 rad/s.3、求系统的单位阶跃响应曲线函数step()可以直接计算连续系统单位阶跃响应,其调用格式为:step(sys):对象sys可以是tf(),zpk()函数中任何一个建立的系统模型。
step(sys,t):t可以指定一个仿真终止时间。
在MATLAB命令窗口提示符下键入:(符号表示回车)num=[10] den=[1 2 10]step ( num , den ) 计算连续系统单位阶跃响应 grid 绘制坐标的网络屏幕显示系统的单位阶跃响应曲线: 从图中获得动态性能指标的值为:上升时间: 0.42 (s ) 峰值时间: 1.05 (s ) 超调量: 35% 调整时间: 3.54 (s )Step ResponseTim e (sec)A m p l i t u d e01234560.20.40.60.811.21.4System : sysSettling Tim e (sec): 3.54System : sysP eak am plitude: 1.35Overshoot (%): 35.1At tim e (sec): 1.05System : sysRise Tim e (sec): 0.427动态性能指标的获取方法:方法一:用鼠标点击响应曲线上相应的点,读出该点的坐标值,然后根据二阶系统动态性能指标的含义计算出动态性能指标的值。
数字信号《系统响应及系统稳定性》实验完整模板
实验一计算机科学与工程学院《数字信号处理》实验报告[1]title('(c) 系统对u(n)的响应y2(n)');box on(3)给定系统的单位脉冲响应为 )()(101n R n h =)3()2(5.2)1(5.2)()(2-+-+-+=n n n n n h δδδδ用线性卷积法分别求系统h1(n)和h2(n)对 的输出响应, 并画出波形。
%内容2: 调用conv 函数计算卷积 %========================x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=R8(n) h1n=[ones(1,10) zeros(1,10)]; h2n=[1 2.5 2.5 1 zeros(1,10)]; y21n=conv(h1n,x1n); y22n=conv(h2n,x1n); figure(2)subplot(2,2,1);y='h1(n)';tstem(h1n,y); %调用函数tstem 绘图 title('(d) 系统单位脉冲响应h1(n)');box on subplot(2,2,2);y='y21(n)';tstem(y21n,y);title('(e) h1(n)与R8(n)的卷积y21(n)');box onsubplot(2,2,3);y='h2(n)';tstem(h2n,y); %调用函数tstem 绘图 title('(f) 系统单位脉冲响应h2(n)');box ontitle('(g) h2(n)与R8(n)的卷积y22(n)');box on(4)给定一谐振器的差分方程为)2()()2(9801.0)1(8237.1)(00--+---=n x b n x b n y n y n y 令 , 谐振器的谐振频率为0.4rad 。
实验二 测试系统的时域响应和频域响应
实验一测试系统的时域响应【实验目的】1.了解MATLAB软件的基本特点和功能,熟悉其界面、菜单和工具条,熟悉MATLAB程序设计结构及M文件的编制;2.掌握线性系统模型的计算机表示方法;3.掌握求线性定常连续系统时域输出响应的方法,求得系统的时域响应曲线;4. 了解Simulink 的使用。
【实验指导】一、模型的建立:在线性系统理论中,一般常用的数学模型形式有:(1)传递函数模型;(2)状态空间模型;(3)零极点增益模型这些模型之间都有着内在的联系,可以相互进行转换.1、传递函数模型若已知系统的传递函数为:对线性定常系统,式中s的系数均为常数,且an不等于零,这时系统在MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别用num和den表示.num=[cm,c,m-1,…,c1,c0]den=[an,an-1,…,a1,a0]注意:它们都是按s的降幂进行排列的.则传递函数模型建立函数为:sys=tf(num,den).2、零极点增益模型(略)3、状态空间模型(略)二、模型的转换在一些场合下需要用到某种模型,而在另外一些场合下可能需要另外的模型,这就需要进行模型的转换.三、模型的连接1、并联:parallel[num,den]=parallel(num1,den1,num2,den2)%将并联连接的传递函数进行相加.2、串联:series[num,den]=series(num1,den1,num2,den2)%将串联连接的传递函数进行相乘.3、反馈:feedback[num,den]=feedback(num1,den1,num2,den2,sign)%可以得到类似的连接,只是子系统和闭环系统均以传递函数的形式表示.当sign=1时采用正反馈;当sign= -1时采用负反馈;sign缺省时,默认为负反馈.4、闭环:cloop(单位反馈)[numc,denc]=cloop(num,den,sign)%表示由传递函数表示的开环系统构成闭环系统,sign意义与上述相同.四、线性连续系统的时域响应1 求取线性连续系统的阶跃响应函数为(step) 基本格式为:step(sys) step(num,den)【实验内容】1. 典型一阶系统的传递函数为 11)(+=s s G τ;τ为时间常数,试绘出当τ=0.5、1、 2、4、6、8、时该系统的单位阶跃响应曲线。
