首页 > 编程知识 正文

matlab求零输入响应和零状态响应,零输入响应用matlab怎么求

时间:2023-05-06 07:26:10 阅读:235103 作者:1935

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)的零极点图'

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。