您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > matlab求解零状态零输入响应
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题程序clearall;closeall;num=[2-10];%系统函数分子的系数den=[2-1-3];%系统函数分母的系数n=0:50;nl=length(n);%求零输入响应y01=[13];%y的初始状态x01=[00];%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('零输入响应');gridon;%求零状态响应y02=[00];x02=[00];x2=0.5.^n;zi2=filtic(num,den,y02,x02);y2=filter(num,den,x2,zi2);subplot(312);stem(n,y2,'r.');title('零状态响应');gridon;%求全响应y03=[13];x03=[00];x3=0.5.^n;zi3=filtic(num,den,y03,x03);y3=filter(num,den,x1,zi3);subplot(313);stem(n,y3,'r.');title('全响应');gridon;运行结果如下:2.已知离散系统的系统函数分别为(1)2321()21zzHzz(2)31()1zHzz(3)2322()2241zHzzzz(4)332()0.20.30.4zHzzzz试用MATLAB实现下列分析过程:①求出系统的零极点位置;②绘出系统的零极点图,根据零极点图判断系统的稳定性;③绘出系统单位响应的时域波形,并分析系统稳定性与系统单位响应时域特性的关系。解:程序代码如下:%%第二章Z变换第2.13题程序clearall;closeall;%题(1)a1=[200-1];%系统函数分母的系数b1=[02-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,'.');%单位响应的时域波形gridon;title('(1)的单位响应的时域波形');%题(2)a2=[300-1];b2=[0011];p2=roots(a2),pa2=abs(p2),q2=roots(b2),h2=impz(b2,a2);subplot(422);zplane(b1,a1);title('(2)的零极点图');subplot(426);stem(h2,'.');gridon;title('(2)的单位响应的时域波形');%题(3)a3=[12-41];b3=[0102];p3=roots(a3),pa3=abs(p3),q3=roots(b1),h3=impz(b3,a3);subplot(423);zplane(b3,a3);title('(3)的零极点图');subplot(427);stem(h3,'.');gridon;title('(3)的单位响应的时域波形');%题(4)a4=[1000];b4=[10.20.30.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,'.');gridon;title('(1)的单位响应的时域波形');运行结果如下:3.已知描述离散系统的差分方程为:y(n)-y(n-1)-y(n-2)=4x(n)-x(n-1)-x(n-2)试用MATLAB绘出系统的零极点分布图,并绘出系统的幅频和相频特性曲线,分析该系统的作用解:程序代码如下:clearall;closeall;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));gridon;title('幅频响应曲线')subplot(313);plot(w/pi,angle(H));title('相频响应曲线');gridon;运行结果如下:4.已知因果(单边)离散序列的Z变换分别如下所示,试用MATLAB求出其Z反变换(1)221()2zzFzzz(2)23221()12zzFzzzz(3)22()21zFzzz(4)3243221()32321zzzFzzzzz解:程序代码如下:clearall;closeall;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注:kroneckerDelta(n,0)=nf2=2*kroneckerDelta(n-1,0)-6*kroneckerDelta(n,0)+3*(-1)^n*2^(1-n)*i*(i+1)^(n-1)-3*(-1)^n*2^(1-n)*i*(1-i)^(n-1)f3=2*(-1)^n*cos(n*acos(sqrtm(2)/2))+((-1)^n*(sqrtm(2)/2+(sqrtm(2)^2/4-1)^(1/2))^(n-1))/(2*(sqrtm(2)^2/4-1)^(1/2))-((-1)^n*(sqrtm(2)/2-(1/4*sqrtm(2)^2-1)^(1/2))^(n-1))/(2*(sqrtm(2)^2/4-1)^(1/2))f4=sum(-(r3*r3^n+r3^n+2*r3^2*r3^n+r3^3*r3^n)/(2*r3^3+6*r3^2+6*r3+4),r3inRootOf(z1^4+(2*z1^3)/3+z1^2+(2*z1)/3+1/3,z1))+kroneckerDelta(n,0)sum(-(r3*r3^n+r3^n+2*r3^2*r3^n+r3^3*r3^n)/(2*r3^3+6*r3^2+6*r3+4),r3inRootOf(z1^4+(2*z1^3)/3+z1^2+(2*z1)/3+1/3,z1))+kroneckerDelta(n,0)注:r3inRootOf(z1^4+(2*z1^3)/3+z1^2+(2*z1)/3+1/3,z1)就是说r3是关于Z1的方程z1^4+(2*z1^3)/3+z1^2+(2*z1)/3+1/3=0的根。sum(-(r3*r3^n+r3^n+2*r3^2*r3^n+r3^3*r3^n)/(2*r3^3+6*r3^2+6*r3+4),r3RootOf(z1^4+(2*z1^3)/3+z1^2+(2*z1)/3+1/3,z1))就是将上面方程的每个根(即r3的值)代入-(r3*r3^n+r3^n+2*r3^2*r3^n+r3^3*r3^n)/(2*r3^3+6*r3^2+6*r3+4),然后相加。
本文标题:matlab求解零状态零输入响应
链接地址:https://www.777doc.com/doc-5830680 .html