matlab求解零状态零输入响应 下载本文

内容发布更新时间 : 2024/11/1 13:31:03星期一 下面是文章的全部内容请认真阅读。

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