连续时间LTI系统分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

相关文档
最新文档