内容发布更新时间 : 2024/12/27 20:58:16星期一 下面是文章的全部内容请认真阅读。
1. 已知离散时间系统的差分方程为: 2y(n) - y(n-1) - 3y(n-2)=2x(n) - x(n-1)
x(n)=0.5nu(n) , y(-1)=1,y(-2)=3 , 试用filter函数求系统的零输入响应、零状态响应和全响应.
%第二章Z变换第2.12题程序 clear all;close all;
num=[2 -1 0]; %系统函数分子的系数 den=[2 -1 -3]; %系统函数分母的系数 n=0:50;
nl=length(n);
%求零输入响应
y01=[1 3]; %y的初始状态 x01=[0 0]; %x 的初始状态 x1=zeros(1,nl);
zi1=filtic(num,den,y01,x01); %为filter函数准备初始值 y1=filter(num,den,x1,zi1); %求零输入响应 subplot(311); stem(n,y1,'r.');
title('零输入响应'); grid on;
%求零状态响应 y02=[0 0]; x02=[0 0]; x2=0.5.^n;
zi2=filtic(num,den,y02,x02); y2=filter(num,den,x2,zi2); subplot(312); stem(n,y2,'r.');
title('零状态响应'); grid on;
%求全响应 y03=[1 3]; x03=[0 0]; x3=0.5.^n;
zi3=filtic(num,den,y03,x03); y3=filter(num,den,x1,zi3); subplot(313); stem(n,y3,'r.'); title('全响应'); grid on;
运行结果如下:
2. 已知离散系统的系统函数分别为
z2?2z?1z?1H(z)? (1) H(z)? (2)
z3?12z3?1z2?2z3 (3) H(z)?3 (4) H(z)?3 22z?2z?4z?1z?0.2z2?0.3z?0.4试用MATLAB实现下列分析过程:
①求出系统的零极点位置;
②绘出系统的零极点图,根据零极点图判断系统的稳定性;
③绘出系统单位响应的时域波形,并分析系统稳定性与系统单位响应时域特性的关系。 解:程序代码如下:
%%第二章Z变换第2.13题程序 clear all;close all; %题(1)
a1=[2 0 0 -1]; %系统函数分母的系数 b1=[0 2 -2 -1]; %系统函数分子的系数 p1=roots(a1), %求极点
pa1=abs(p1), %求极点到坐标原点的距离,看它是否大于1,若有一个大于1, %则系统不稳定;若所有的都小于1,则系统稳定 q1=roots(b1), %求零点 h1=impz(b1,a1); %求单位响应 subplot(421);
zplane(b1,a1);%画零极点图 title('(1)的零极点图');
subplot(425);
stem(h1,'.'); %单位响应的时域波形 grid on;
title('(1)的单位响应的时域波形'); %题(2)
a2=[3 0 0 -1]; b2=[0 0 1 1]; p2=roots(a2), pa2=abs(p2), q2=roots(b2), h2=impz(b2,a2); subplot(422); zplane(b1,a1);
title('(2)的零极点图'); subplot(426); stem(h2,'.'); grid on;
title('(2)的单位响应的时域波形'); %题(3)
a3=[1 2 -4 1]; b3=[0 1 0 2]; p3=roots(a3), pa3=abs(p3), q3=roots(b1), h3=impz(b3,a3); subplot(423); zplane(b3,a3);
title('(3)的零极点图'); subplot(427); stem(h3,'.'); grid on;
title('(3)的单位响应的时域波形'); %题(4)
a4=[1 0 0 0]; b4=[1 0.2 0.3 0.4]; p4=roots(a4), pa4=abs(p4), q4=roots(b4), h4=impz(b4,a4); subplot(424); zplane(b1,a1);
title('(1)的零极点图'); subplot(428); stem(h4,'.'); grid on;
title('(1)的单位响应的时域波形');
运行结果如下:
3. 已知描述离散系统的差分方程为:
y(n) - y(n-1) - y(n-2)=4x(n) - x(n-1) - x(n-2)
试用MATLAB绘出系统的零极点分布图,并绘出系统的幅频和相频特性曲线,分析该系统的作用 解:
程序代码如下: clear all;close all; num=[4,-1,-1]; den=[1 -1 -1];
[H,w]=freqz(num,den); subplot(311); zplane(num,den); subplot(312); plot(w/pi,abs(H)); grid on;
title('幅频响应曲线') subplot(313);
plot(w/pi,angle(H)); title('相频响应曲线'); grid on;
运行结果如下:
4. 已知因果(单边)离散序列的Z变换分别如下所示,试用MATLAB求出其Z反变换
2z2?z?1z2?z?1 (1)F(z)?2 (2) F(z)?
1z?z?2z3?z2?z2z2z3?2z2?z?1 (3) F(z)?2 (4) F(z)?4 323z?2z?3z?2z?1z?2z?1解:
程序代码如下: clear all;close all;
F1=sym('(z^2+z+1)/(z^2+z-2)'); f1=iztrans(F1),
F2=sym('(2*z^2-z+1)/(z^3+z^2+z/2)'); f2=iztrans(F2),
F3=sym('(z^2)/(z^2+sqrtm(2)*z+1)'); f3=iztrans(F3),
F4=sym('(z^3+2*z^2+z+1)/(3*z^4+2*z^3+3*z^2+2*z+1)'); f4=iztrans(F4) 运行结果如下: f1 =
(-2)^n/2 - kroneckerDelta(n, 0)/2 + 1