实验三 连续时间 LTI系统分析
一、实验目的
(一)掌握使用 Matlab 进行连续系统时域分析的方法 1、学会使用符号法求解连续系统的零输入响应和零状态响应 2、学会使用数值法求解连续系统的零状态响应 3、学会求解连续系统的冲激响应和阶跃响应
(二)掌握使用 Matlab 进行连续时间 LTI系统的频率特性及频域分析方法
1、学会运用 MATLAB分析连续系统的频率特性 2、学会运用 MATLAB进行连续系统的频域分析
(三)掌握使用 Matlab 进行连续时间 LTI系统 s域分析的方法
1、学会运用 MATLAB求拉普拉斯变换( LT) 2、学会运用 MATLAB求拉普拉斯反变换( ILT)
3、学会在 MATLAB环境下进行连续时间 LTI系统 s 域分析
二、实验条件
装有 MATLAB的电脑
三、实验内容
(一)熟悉三部分相关内容原理 (二)完成作业
1、已知某系统的微分方程如下:
r (t) 3r (t) 2r (t) e (t) 3e(t)
其中, e(t ) 为激励, r (t) 为响应。
1
**
***
3t u t
(1) 用 MATLAB命令 求出并画出 e(t ) e
时系统的 r r
( ), (0 ) 1, (0 ) 2
零状态响应和零输入响应( 零状态响应分别使用符号法和数值法求解,零输入 响应只使用符号法求解 );
符号法求解零输入响应: >> eq='D2y+3*Dy+2*y=0';
>> cond='y(0)=1,Dy(0)=2'; >> yzi=dsolve(eq,cond); >> yzi=simplify(yzi) yzi = 符号法求解零状态响应: exp(-2*t)*(4*exp(t) - 3)
eq1='D2y+3*Dy+2*y=Dx+3*x'; eq2='x=exp(-3*t)*heaviside(t)'; cond='y(-0.001)=0,Dy(-0.001)=0'; yzs=dsolve(eq1,eq2,cond); yzs=simplify(yzs) yzs =
(exp(-2*t)*(exp(t) - 1)*(sign(t) + 1))/ 2
图像如下:
代码: subplot(211)
ezplot(yzi,[0,8]); grid title(
on
' á ?ê ?è ??ì ó )|'
subplot(212) ezplot(yzs,[0,8]); grid title(
on
' á ?× ′ì ??ì ó) |'
数值计算法:
t=0:0.01:10; sys=tf([1,3],[1,3,2]); f=exp(-3*t).*uCT(t); y=lsim(sys,f,t); plot(t,y),grid
axis([0 10 -0.001 0.3]); title(
' ê y?μ????· ¨ μ ?á ?× ′ì ??)ì ó |'
on ;
2
**
***
(2) 使用 MATLAB命令 求出并画出 系统的冲激响应和阶跃响应 (数值法);用 卷积积
分法 求系统的零状态响应并与( 1)中结果进行比较;
系统的冲激响应和阶跃响应(数值法) : 代码:
t=0:0.01:10; sys=tf([1,3],[1,3,2]); h=impulse(sys,t); g=step(sys,t); subplot(211) plot(t,h),grid
axis([0 10 -0.01 1.1]); title(
'3?? ¤ ?ì ó |' )
subplot(212) plot(t,g),grid
axis([0 10 -0.01 1.6]); title(
'? × ???ì ó |'
on ; on ;
卷积积分法求系统的零状态响应: Ctsconv函数的定义:
function
[f,t]=ctsconv(f1,f2,t1,t2,dt)
f=conv(f1,f2); f=f*dt;
ts=min(t1)+min(t2); te=max(t1)+max(t2); t=ts:dt:te; subplot(221) plot(t1,f1); grid title( xlabel(
on 'f1(t)' 't'
)
);
axis([min(t1),max(t1),min(f1)-abs(min(f1)*0.2),max(f1)+abs(max(f1)*0.2)])
subplot(222) plot(t2,f2); grid
on
axis([min(t2),max(t2),min(f2)-abs(min(f2)*0.2),max(f2)+abs(max(f2)*0.2)]) title( xlabel(
'f2(t)' 't'
)
3
**
);
***
subplot(212) plot(t,f); grid
on
axis([min(t),max(t),min(f)-abs(min(f)*0.2),max(f)+abs(max(f)*0.2)]) title( xlabel(
'f(t)=f1(t)*f2(t)' 't'
)
);
求系统的零状态响应代码:
dt=0.01;t1=0:dt:10; f1=exp(-3*t1).*uCT(t1); t2=t1;
sys=tf([1,3],[1,3,2]); f2=impulse(sys,t2); [t,f]=ctsconv(f1,f2,t1,t2,dt)
如图,根据两图相比较,两种方法做出的零状态响应大体相同。
(3) 若已知条件同( 1),借助 MATLAB符号数学工具箱实现拉普拉斯正反变换的方
法 求出并画出 e( t) e
3t u t
时系统的零状态响应和 r r
( ), (0 ) 1, (0 ) 2
零输入响应,并与( 1)的结果进行比较。
普拉斯正反变换的方法 求出系统的零状态响应和零输入响应: 代码:
syms t s
Rzis=(s+5)/(s^2+3*s+2); rzi=ilaplace(Rzis) rzi =
4*exp(-t) - 3*exp(-2*t) et=exp(-3*t)*heaviside(t); es=laplace(et);
Rzss=((3+s)*es)/(s^2+3*s+2); rzs=ilaplace(Rzss) rzs =
exp(-t) - exp(-2*t)
根据图像,同样也能看出拉普拉斯变换法得出的结果相同。
4
**
***
2、已知某 RC 网络如下,
R
+
e(t )
-
C
+
r (t)
-
(1) 求出该网络的频域系统函数 H ( j ); H(jw)=a/(a+jw)
其中 a=1/RC
(2) 使用 MATLAB命令 画出 RC 1时系统的幅频特性和相频特性; 代码:
w=-3*pi:0.01:3*pi; b=[0,1];a=[1,1]; h=freqs(b,a,w); subplot(211) plot(w,abs(h)),grid axis([-10 10 0 1.1]); title(
'H(w) μ?· ù ?μì ?D?)'
on on
subplot(212) plot(w,angle(h)),grid title(
'H(W) μ??à ?μì ?D?')
(3) 若 RC 1,且激励信号 e(t) sin t sin(3t ),使用 频域分析法 求解 r (t ),分
e(t ) 和别画出
代码:
t=0:0.1:20; w1=1;w2=3; H1=1/(1+1i*w1); H2=1/(1+1i*w2); f=sin(t)+sin(3*t);
r (t)波形,讨论经传输是否引起失真。
y=abs(H1)*sin(w1*t+angle(H1))+abs(H2)*sin(w2*t+angle(H2)); subplot(2,1,1); plot(t,f);grid ylabel( title(
'f(t)'
on ),xlabel(
'Time(s)'
)
' ê ?è ?D?o?μ?2¨ D?')
subplot(2,1,2); plot(t,y);grid
on
5
**
***
ylabel( title(
'y(t)' ),xlabel( 'Time(sec)' )
'? è ì ??ì ó | μ?2¨D) ?'
如图,两组波形进行比较可以明显看出,二者不成线性关系,所以此传输系统失 。真
3、已知某系统框图如下,
1
V
1
( )
(s)
∑ +
-
(s 2)( s 1)
K
V2 s
(1) 写出下图所示系统的 s域系统函数H (s);
H(s)=1/(S
2+S-2+K)
(2) 使用 MATLAB 命令 分别用两种方式画出
K
9
0,1, 2, ,3
4
时该系统的零极
点分
布图,并由图讨论K 从 0 增长时,该系统的稳定性变化情 。况
代码:
b1=[0 1]; a1=[1 1 -2]; sys1=tf(b1,a1); subplot(321) pzmap(sys1) axis([-2 2 -2 2]) b2=[0 1];
**
***
a2=[1 1 -1]; sys1=tf(b2,a2); subplot(322)
6
**
***
pzmap(sys1) axis([-2 2 -2 2]) b3=[0 1]; a3=[1 1 0]; sys1=tf(b3,a3); subplot(323) pzmap(sys1) axis([-2 2 -2 2]) b4=[0 1]; a4=[1 1 0.25]; sys1=tf(b4,a4); subplot(324) pzmap(sys1) axis([-2 2 -2 2]) b4=[0 1]; a4=[1 1 1]; sys1=tf(b4,a4); subplot(325) pzmap(sys1) axis([-2 2 -2 2])
根据图像,很明显的可以看出,随着 K的逐渐增大,系统逐渐稳定。
(3)对(2)中的稳定系统,使用 MATLAB的 freqs 函数画出它们的线性坐标下的幅频 特性和相频特性图,并画出它们的波特图。
w=-10:0.01:10; b1=[0,1]; a2=[1 1 0.25]; H=freqs(b1,a2,w); subplot(221) plot(w,abs(H)),grid xlabel( title(
'w(rad/s)'
on ),ylabel(
'\\phi(w)'
)
'H1(s) μ?· ù ?μì ?D?)'
subplot(222) plot(w,angle(H)),grid xlabel( title(
'w(rad/s)'
on
),ylabel(
'\\phi(w)'
)
'H1(s) μ??à ?μì ?D?')
w=-10:0.01:10; b2=[0,1]; a2=[1 1 1]; H=freqs(b2,a2,w); subplot(223) plot(w,abs(H)),grid xlabel( title(
'w(rad/s)'
on ),ylabel(
'\\phi(w)'
)
'H2(s) μ?· ù ?μì ?D?)'
7
**
***
subplot(224) plot(w,angle(H)),grid xlabel( title( figure
sys1=tf(b1,a1); sys2=tf(b2,a2); bode(sys1);grid hold hold
on
on
off
'H1(s)' 'H1(s)' 'H2(s)' 'H2(s)'
) ) ) )
bode(sys2);grid
on
'w(rad/s)'
on
),ylabel(
'\\phi(w)'
)
'H2(s) μ??à ?μì ?D?')
text(80,150, text(80,-80, text(30,120, text(30,-160,
四、实验结论和讨论
本次实验总体难度较大,但是数据上基本没有问题,除了在选择坐标长度时有些问题之外,总体没 什么问题。图像清晰完整,结果也比较明显。多种方法比较算出的零状态响应结果都是相同的,没有太 大的误差
五、实验思考
本次实验让我更加熟悉了
MATLAB的基本用法和一些常用的数学计算函数,在此基础上也让我更
加深入的对零输入响应,零状态响应等加深了认识,在一些细节用法的方面加深了印象。本次实验难度 比较大,但是难度大的同时收获也非常丰富。今后,我要更加熟悉常用函数以及基本规则,争取快速又 保质保量完成任务。
8
**
因篇幅问题不能全部显示,请点此查看更多更全内容