1. 已知离散时间系统的差分方程为:
2y(n) - y(n-1) - 3y(n-2)=2x(n) - x(n-1)
x(n)= u(n) , y(-1)=1,y(-2)=3 , 试用filter函数求系统的零输入响应、零状态响应和全响应.
解:将差分方程Z变换得:
…………………………………….(1)
依题意有:x(-1)=0,x(-2)=0,y(-1)=1,y(-2)=3 ,X(z)=
将上式变形如下:
………..(2)
…………………………….(3)
易得系统函数为H(z)=
① 零输入时
零输入时,x(n)=0,差分方程右边为0,z变换后应为
=
=
将Y(z)进行Z反变换,得到其零输入响应为:
y(n)=
② 零状态时
零状态时,将y(-1)=0,y(-2)=0代入上面的式(2)中,得
Y(z)= X(z)= =
=
将其Z反变换,得到零状态响应为:
y(n)=
③ 全响应
与上面同理,y(-1)=1,y(-2)=3
将上面式(3)变形得:
Y(z)= =
Z反变换得全响应为
Y(n)=
程序代码:
%第二章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);
yxdzt1=filtic(num,den,y01,x01); %为filter函数准备初始值
y1=filter(num,den,x1,yxdzt1); %求零输入响应
subplot(311);
stem(n,y1,'r.');
title('零输入响应');
grid on;
%求零状态响应
y02=[0 0];
x02=[0 0];
x2=0.5.^n;
yxdzt2=filtic(num,den,y02,x02);
y2=filter(num,den,x2,yxdzt2);
subplot(312);
stem(n,y2,'r.');
title('零状态响应');
grid on;
%求全响应
y03=[1 3];
x03=[0 0];
x3=0.5.^n;
yxdzt3=filtic(num,den,y03,x03);
y3=filter(num,den,x1,yxdzt3);
subplot(313);
stem(n,y3,'r.');
title('全响应');
grid on;
运行结果如下:
2. 已知离散系统的系统函数分别为
(1) (2)
(3) (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)的零极点图'