连续时间LTI系统分析报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三 连续时间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、已知某系统的微分方程如下:
)(3)()(2)(3)(t e t e t r t r t r +'=+'+''
其中,)(t e 为激励,)(t r 为响应。
(1) 用MATLAB 命令求出并画出2)0(,1)0(),()(3='==---r r t u e
t e t
时系统的零
状态响应和零输入响应(零状态响应分别使用符号法和数值法求解,零输入响应只使用符号法求解);
符号法求解零输入响应: >> 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 on
title('ÁãÊäÈëÏìÓ¦') subplot(212) ezplot(yzs,[0,8]); grid on
title('Áã״̬ÏìÓ¦')
数值计算法: 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 on ; axis([0 10 -0.001 0.3]);
title('ÊýÖµ¼ÆËã·¨µÄÁã״̬ÏìÓ¦')
(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 on;
axis([0 10 -0.01 1.1]);
title('³å¼¤ÏìÓ¦')
subplot(212)
plot(t,g),grid on;
axis([0 10 -0.01 1.6]);
title('½×Ô¾ÏìÓ¦'
卷积积分法求系统的零状态响应:
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 on
axis([min(t1),max(t1),min(f1)-abs(min(f1)*0.2),max(f1)+abs(max(f1)*0.2)])
title('f1(t)');
xlabel('t')
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('f2(t)');
xlabel('t')
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('f(t)=f1(t)*f2(t)'); xlabel('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 符号数学工具箱实现拉普拉斯正反变换的方法
求出并画出2)0(,1)0(),()(3='==---r r t u e
t e t
时系统的零状态响应和零
输入响应,并与(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)
根据图像,同样也能看出拉普拉斯变换法得出的结果相同。