信号与系统matlab实验3连续时间LTI分析

更新时间:2023-09-18 01:45:01 阅读量: 幼儿教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验三 连续时间LTI系统分析

姓名 学号 班级 通信一班

一、实验目的

(一)掌握使用Matlab进行连续系统时域分析的方法

1、学会使用符号法求解连续系统的零输入响应和零状态响应 2、学会使用数值法求解连续系统的零状态响应 3、学会求解连续系统的冲激响应和阶跃响应

(二)掌握使用Matlab进行连续时间LTI系统的频率特性及频域分析方法 1、学会运用MATLAB分析连续系统地频率特性

2、学会运用MATLAB进行连续系统的频域分析

(三)掌握使用Matlab进行连续时间LTI系统s域分析的方法

1、学会运用MATLAB求拉普拉斯变换(LT) 2、学会运用MATLAB求拉普拉斯反变换(ILT)

3、学会在MATLAB环境下进行连续时间LTI系统s域分析

二、实验原理及实例分析 (一)连续系统时域分析

(详细请参见实验指导第二部分的第5章相关部分) (二)连续时间LTI系统的频率特性及频域分析

(详细请参见实验指导第二部分的第8章相关部分) (三)拉普拉斯变换及连续时间系统的s域分析

(详细请参见实验指导第二部分的第10、11章相关部分)

1

三、实验过程

(一)熟悉三部分相关内容原理

(二)完成作业

已知某系统的微分方程如下:

r??(t)?3r?(t)?2r(t)?e?(t)?3e(t)

其中,e(t)为激励,r(t)为响应。 1、用MATLAB命令求出并画出e(t)?e?3tu(t),r(0?)?1,r?(0?)?2时系统的零状

态响应和零输入响应(零状态响应分别使用符号法和数值法求解,零输入响应只使用符号法求解);

>> eq='D2y+3*Dy+2*y=0'; >> cond='y(0)=1,Dy(0)=2';

>> yzi = dsolve(eq,cond);yzi = simplify(yzi); >> eq1 = 'D2y+3*Dy+2*y=Dx+3*x'; eq2 = 'x= exp(-3*t)*Heaviside(t)'; cond = 'y(-0.01)=0,Dy(-0.001)=0';

yzs = dsolve(eq1,eq2,cond);yzs = simplify(yzs.y) yzs =

heaviside(t)*(-exp(-2*t)+exp(-t))

>> yt = simplify(yzi+yzs) yt =

-3*exp(-2*t)+4*exp(-t)-exp(-2*t)*heaviside(t)+exp(-t)*heaviside(t)

2

>> subplot(3,1,1); >> ezplot(yzi,[0,8]);grid on; >> title ('rzi'); >> subplot(3,1,2); >> ezplot(yzs,[0,8]); >> grid on; >> title('rzs'); >> subplot(3,1,3); >> ezplot(yt,[0,8]);grid on; >> title('完全响应')

sys = tf([1,3],[1,3,2]); t = ts:dt:te; f = exp(-3*t).*uCT(t); y = lsim(sys,f,t); plot(t,y),grid on; axis([0,8,-0.02,0.27]);

3

xlable('Time(sec)'),ylable('y(t)'); title('零状态响应')

2、r??(t)?3r?(t)?2r(t)?e?(t)?3e(t)

e(t)?e?3tu(t),r(0?)?1,r?(0?)?2

使用MATLAB命令求出并画出系统的冲激响应和阶跃响应(数值法);用卷积积分法求系统的零状态响应并与(1)中结果进行比较;

t = 0:0.001:4; sys = tf([1,3],[1,3,2]); h = impulse(sys,t); g = step(sys,t); subplot(2,1,1); plot(t,h),grid on;

xlable('Time(sec)'),ylable('h(t)'); title('冲激响应'); subplot(2,1,2);

4

plot(t,g),grid on;

xlable('Time(sec)'),ylable('g(t)'); title ('阶跃响应')_

dt = 0.01; t1 = 0:dt:8; f1=exp(-3*t1); t2 = t1;

sys = tf([1,3],[1,3,2]); f2 = impulse(sys,t2); [t,f]= ctsconv(f1,f2,t1,t2,dt)

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(1,1,1) plot(t,f);grid on;

axis([min(t),max(t),min(f)-abs(min(f)*0.2),max(f)+abs(max(f)*0.2)]);

5

本文来源:https://www.bwwdw.com/article/vvbh.html

Top