实验四 离散时间LTI系统分析
一、实验目的
(一)掌握使用Matlab进行离散系统时域分析的方法
1、学会运用MATLAB求离散时间系统的零状态响应 2、学会运用MATLAB求解离散时间系统的单位样值响应 3、学会运用MATLAB求解离散时间系统的卷积和
(二)掌握使用Matlab进行离散时间LTI系统z域分析的方法
1、学会运用MATLAB求离散时间信号的z变换和z反变换 2、学会运用MATLAB分析离散时间系统的系统函数的零极点
3、学会运用MATLAB分析系统函数的零极点分布与其时域特性的关系 4、学会运用MATLAB进行离散时间系统的频率特性分析
二、实验条件
装有matlab2015a的计算机一台
三、实验内容
(一)熟悉两部分相关内容原理 (二)完成作业
1、表示某离散LTI系统的差分方程如下:
y(n)?0.2y(n?1)?0.24y(n?2)?x(n)?x(n?1)
其中,x(n)为激励,
y(n)为响应。
(1)试用MATLAB命令中的filter函数求出并画出x(n)为单位阶跃序列时系统的零状态响应;
1
程序:
a=[1 0.2 -0.24]; b=[1 1]; n=-5:30; x=uDT(n); y=filter(b,a,x);
stem(n,y,'fill');xlabel('n');
title('x(n)为单位阶跃序列时系统的零状态响应');
运行结果:
(2)试用MATLAB命令求出并画出系统的单位样值响应[注:分别用filter函数和impz函数求解,并比较二者结果是否一致]; 程序:
%filter函数
a=[1 0.2 -0.24]; b=[1 1]; n=0:30; x=impDT(n); y=filter(b,a,x);
subplot(211);stem(n,y,'fill');xlabel('n'); title('filter函数求系统的单位样值响应'); %impz函数
subplot(212);impz(b,a,30);
2
title('impz函数求系统的单位样值响应');
运行结果:
(3)试用MATLAB命令中的conv函数求出并画出x(n)为单位阶跃序列时系统的零状态响应[注:x(n)和h(n)各取前100个样点],并与(1)的结果进行比较; 程序:
a=[1 0.2 -0.24]; b=[1 1]; n=-50:50; x1=impDT(n); y1=filter(b,a,x1);
nx=-50:50; nh=-50:50;
x=double(uDT(nx)); h=double(y1); y=conv(x,h); ny1=nx(1)+nx(1);
ny=ny1+(0:(length(nx)+length(nh)-2)); stem(ny,y,'fill');
3