山科大信号与系统实验二LTI系统的响应.docx
《山科大信号与系统实验二LTI系统的响应.docx》由会员分享,可在线阅读,更多相关《山科大信号与系统实验二LTI系统的响应.docx(13页珍藏版)》请在冰点文库上搜索。
山科大信号与系统实验二LTI系统的响应
实验二 LTI系统的响应
一、 实验目的
1. 熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法
2. 熟悉连续(离散)时间系统在任意信号激励下响应的求解方法
3. 熟悉应用MATLAB实现求解系统响应的方法
二、 实验原理
1.连续时间系统
在MATLAB中有专门用于求解连续系统冲激响应和阶跃响应,并绘制其时域波形的函数impulse()和step()。
如果系统输入为f(t),冲激响应为h(t),系统的零状态响应为y(t),则有:
。
若已知系统的输入信号及初始状态,我们便可以用微分方程的经典时域求解方法,求出系统的响应。
但是对于高阶系统,手工计算这一问题的过程非常困难和繁琐。
在MATLAB中,应用lsim()函数很容易就能对上述微分方程所描述的系统的响应进行仿真,求出系统在任意激励信号作用下的响应。
lsim()函数不仅能够求出连续系统在指定的任意时间范围内系统响应的数值解,而且还能同时绘制出系统响应的时域波形图。
说明:
(1)当系统有初始状态时,若使用lsim()函数求系统的全响应,就要使用系统的状态空间描述法,即首先要根据系统给定的方式,写出描述系统的状态方程和输出方程。
假如系统原来给定的是微分方程或系统函数,则可用相变量法或对角线变量等方法写出系统的状态方程和输出方程。
其转换原理如前面实验四所述。
(2)显然利用lsim()函数不仅可以分析单输入单输出系统,还可以分析复杂的多输入多输出系统。
例题1:
若某连续系统的输入为e(t),输出为r(t),系统的微分方程为:
1求该系统的单位冲激响应h(t)及其单位阶跃响应g(t)。
a=[156];b=[32];
subplot(2,1,1),impulse(b,a,0:
0.01:
5);
subplot(2,1,2),step(b,a,0:
0.01:
5);
2若
求出系统的零状态响应y(t)
a=[156];b=[32];
t=0:
0.01:
5;
f=exp(-2*t);
lsim(b,a,f,t);
例题2 已知一个过阻尼二阶系统的状态方程和输出方程分别为:
, r(t)=[0 1]X(t) 。
若系统初始状态为X(0)=[4 -5]T ,求系统在
作用下的全响应。
A=[01;-2-3];
B=[02]';C=[01];D=[0];
x0=[4-5]';
t=0:
0.01:
10;
f=[3*exp(-4*t)]';
lsim(A,B,C,D,f,t,x0);
2.离散时间系统
MATLAB中为用户提供了专门用于求解离散系统单位函数响应,并绘制其时域波形的函数impz()。
同样也提供了求离散系统响应的专用函数filter(),该函数能求出由差分方程所描述的离散系统在指定时间范围内的输入序列作用时,产生的响应序列的数值解。
当系统初值不为零时,可以使用dlsim()函数求出离散系统的全响应,其调用方法与前面连续系统的lsim()函数相似。
另外,求解离散系统阶跃响应可以通过如下两种方法实现:
一种是直接调用专用函数dstep(),其调用方法与求解连续系统阶跃响应的专用函数step()的调用方法相似;另一种方法是利用求解离散系统零状态响应的专用函数filter(),只要将其中的激励信号看成是单位阶跃信号ε(k)即可。
例题:
已知描述离散系统的差分方程为:
,且已知系统输入序列为
,
1求出系统的单位函数响应h(k)在-3~10离散时间范围内响应波形。
a=[1-0.250.5];b=[110];
impz(b,a,-3:
10);
2求出系统零状态响应在0~15区间上的样值;并画出输入序列的时域波形以及系统零状态响应的波形
a=[1-0.250.5];b=[110];
k=0:
15;
f=(1/2).^k;
y=filter(b,a,f);
subplot(2,1,1),stem(k,f,'filled');
title('输入序列')
subplot(2,1,2),stem(k,y,'filled');
title('输出序列')
三、 实验内容
1.已知描述系统的微分方程和激励信号e(t)分别如下,试用解析方法求系统的单位冲激响应h(t)和零状态响应r(t),并用MATLAB绘出系统单位冲激响应和系统零状态响应的波形,验证结果是否相同。
①
;
a=[144];b=[13];
t=0:
0.01:
5;
f=exp(-t);
subplot(2,1,1),impulse(b,a,t);
title('单位冲激响应');
subplot(2,1,2),lsim(b,a,f,t);
title('零状态响应');
②
;
a=[1226];b=[1];
t=0:
0.01:
5;
f=stepfun(t,0);
subplot(2,1,1),impulse(b,a,t);
subplot(2,1,2),lsim(b,a,f,t);
③
;
a=[143];b=[1];
t=0:
0.01:
5;
f=exp(-2*t);
subplot(2,1,1),impulse(b,a,t);
subplot(2,1,2),lsim(b,a,f,t);
④如下图所示的电路中,已知
,
,且两电感上初始电流分别为
,如果以电阻
上电压
作为系统输出,请求出系统在激励
(v)作用下的全响应。
A=[-84;4-8];B=[10]';C=[4-4];D=[0];
X=[20];
t=0:
0.01:
2;
f=12*stepfun(t,0);
lsim(A,B,C,D,f,t,X);
2.请用MATLAB分别求出下列差分方程所描述的离散系统,在0~20时间范围内的单位函数响应、阶跃响应和系统零状态响应的数值解,并绘出其波形。
另外,请将理论值与MATLAB仿真结果在对应点上的值作比较,并说出两者的区别和产生误差的原因。
①
;
a=[121];b=[100];
k=0:
20;
f=(1/4)*stepfun(k,0);
y=filter(b,a,f);
subplot(3,1,1),impz(b,a,k);
title('单位函数响应')
subplot(3,1,2),dstep(b,a,k);
title('单位阶跃响应')
subplot(3,1,3),stem(k,y,'filleed');
title('零输入响应')
②
;
a=[1-0.70.1];b=[7-20];
k=0:
20;
f=stepfun(k,0);
y=filter(b,a,f);
subplot(3,1,1),impz(b,a,k);
title('单位函数响应')
subplot(3,1,2),dstep(b,a,k);
title('单位阶跃响应')
subplot(3,1,3),stem(k,y,'filled');
title('零输入响应')
③
;
a=[1-5/61/6];b=[10-1];
k=0:
20;
f=stepfun(k,0);
y=filter(b,a,f);
subplot(3,1,1),impz(b,a,k);
title('单位函数响应')
subplot(3,1,2),dstep(b,a,k);
title('单位阶跃响应')
subplot(3,1,3),stem(k,y,'filleed');
title('零输入响应')
④一带通滤波器可由下列差分方程描述:
, 其中
为系统输入,
为系统输出。
请求出当激励为
(选取适当的n值)时滤波器的稳态输出。
a=[100.81];b=[10-1];
k=0:
20;n=2;
f=10+10*cos(k*n/2)+10*cos(k*n).*stepfun(k,0);
y=filter(b,a,f);
subplot(3,1,1),impz(b,a,k);
subplot(3,1,2),dstep(b,a,k);
subplot(3,1,3),stem(k,f,'filled');
(注:
文档可能无法思考全面,请浏览后下载,供参考。
可复制、编制,期待你的好评与关注)