1、湖南大学信号与系统实验八报告一实验目的:(1)、学习和掌握用MATLAB 的符号运算法求z 变换及z 反变换的方法,以及z 变换的部分分式展开法,加深对z 变换的理解;(2)、理解和掌握离散时间系统的系统函数的概念,掌握用z 变换求解差分方程的方法,加深对零输入响应和零状态响应的理解;(3)、学习并掌握用MATLAB 绘制离散时间系统零极点分布图的方法,加深系统零极点分布对时域响应影响的理解,建立系统稳定性的概念;(4)、掌握用MATLAB 计算离散系统响应的方法,包括单位样值响应,零输入响应、零状态响应和全响应;(5)、掌握系统零极点分布与频率响应的关系,掌握用MATLAB 研究系统频率响应
2、的方法。二实验内容:1 syms k;ztrans(k-3).*heaviside(k) ans = z/(z-1)2-3*z/(z-1)2syms k;ztrans(k-3).*heaviside(k-3)ans = 1/z2*(3*z-2)/(z-1)2-3*z/(z-1)+3+3/z+3/z24syms k ;syms b;ztrans(exp(b*k).*heaviside(k)ans = z/exp(b)/(z/exp(b)-1)55.syms k ;syms a;ztrans(exp(-j*a*k).*heaviside(k)ans = z/exp(-i*a)/(z/exp(-i*
3、a)-1)6.syms k ;ztrans(heaviside(k)ans = z/(z-1)7.syms k ;syms a;ztrans(a.k).*heaviside(k)ans = z/a/(z/a-1)8.syms k ;syms a;ztrans(k.*(a.k).*heaviside(k)ans = z*a/(-z+a)29.syms k ;syms a;ztrans(cos(a*k).*heaviside(k)ans = (z-cos(a)*z/(z2-2*z*cos(a)+1)syms a z;F1=1./(z+1).2;f1=iztrans(F1)F2=z./(z-1).2
4、;f2=iztrans(F2)F3=z./(z-a);f3=iztrans(F3)F4=(a*z)./(z-a).2;f4=iztrans(F4)F5=(a*z*(z+a)./(z-a).3f5=iztrans(F5);F6=(z.*(z.2+4*z+1)./(z-1).4;f6=iztrans(F6)f1 = charfcn0(n)-(-1)n+(-1)n*n f2 = n f3 = an f4 = an*n F5 = a*z*(z+a)/(z-a)3 f6 = n3(1)syms z reala=1 3 2; b=1 0 0; F=z/(z-2); y0=0 0.5; Zn=1 1/z z
5、-2; An=a*Zn; B=b*Zn; H=B/An; Yzs=H.*F; yzs=iztrans(Yzs); disp( 零状态响应) pretty(yzs)A=a(3)/z+a(2) a(3);Bf=b(3)/z+b(2) b(3);Y0s=-A*y0; Yzi=Y0s/An; yzi=iztrans(Yzi); disp( 零输入响应)pretty(yzi)y=yzs+yzi; disp( 全响应)pretty(y)零状态响应 n n n (-1) 2 (-2) - - + - 3 3零输入响应 n n (-1) - 2 (-2)全响应 n n 2 (-1) n 2 - - (-2)
6、+ - 3 3(2)syms z reala=1 5 6; b=1 0 0; F=z/(z-3); y0=1 2; Zn=1 1/z z-2; An=a*Zn; B=b*Zn; H=B/An; Yzs=H.*F; yzs=iztrans(Yzs); disp( 零状态响应) pretty(yzs)A=a(3)/z+a(2) a(3);Bf=b(3)/z+b(2) b(3);Y0s=-A*y0; Yzi=Y0s/An; yzi=iztrans(Yzi); disp( 零输入响应)pretty(yzi)y=yzs+yzi; disp( 全响应)pretty(y)零状态响应 n n n 3 (-3)
7、 4 (-2) 3 3 - - - + - 2 5 10零输入响应 n n 28 (-2) - 45 (-3)全响应 n n n 136 (-2) 87 (-3) 3 3 - - - + - 5 2 10function ljdt(A,B)% The function to draw the pole-zero diagram for discrete systemp=roots(A); %求系统极点q=roots(B); %求系统零点p=p; %将极点列向量转置为行向量q=q; %将零点列向量转置为行向量x=max(abs(p q 1); %确定纵坐标范围x=x+0.1;y=x; %确定横坐
8、标范围clfhold onaxis(-x x -y y) %确定坐标轴显示范围w=0:pi/300:2*pi;t=exp(i*w);plot(t) %画单位园axis(square)plot(-x x,0 0) %画横坐标轴plot(0 0,-y y) %画纵坐标轴text(0.1,x,jImz)text(y,1/10,Rez)plot(real(p),imag(p),x) %画极点plot(real(q),imag(q),o) %画零点title(pole-zero diagram for discrete system) %标注标题hold off调用函数:(1)零极点图a=1 3 2 2
9、 1;b=1 0 2;ljdt(a,b);p=roots(a)q=roots(b)pa=abs(p)由程序运行结果和绘制的系统零极点图我们可以看出,该系统的所有极点不均位于Z 平面的单位圆内,故为不稳定系统。(2)零极点图a=1 1 0;b=1 1/2 1/4;ljdt(a,b);p=roots(a)q=roots(b)pa=abs(p)由程序运行结果和绘制的系统零极点图我们可以看出,该系统的某极点位于圆周上,所以为临界稳定系统(3)零极点图a=3 -5 10 0;b=1 -3 7 -5;ljdt(a,b);p=roots(a)q=roots(b)pa=abs(p)由程序运行结果和绘制的系统零
10、极点图我们可以看出,该系统的所有极点不均位于Z 平面的单位圆内,故为不稳定系统。(4)零极点图a=3 -1 0 0 0 1;b=1 1;ljdt(a,b);p=roots(a)q=roots(b)pa=abs(p)由程序运行结果和绘制的系统零极点图我们可以看出,该系统的所有极点均位于Z 平面的单位圆内,故为稳定系统。function ljdt(A,B)% The function to draw the pole-zero diagram for discrete systemp=roots(A); %求系统极点q=roots(B); %求系统零点p=p; %将极点列向量转置为行向量q=q;
11、%将零点列向量转置为行向量x=max(abs(p q 1); %确定纵坐标范围x=x+0.1;y=x; %确定横坐标范围clfhold onaxis(-x x -y y) %确定坐标轴显示范围w=0:pi/300:2*pi;t=exp(i*w);plot(t) %画单位园axis(square)plot(-x x,0 0) %画横坐标轴plot(0 0,-y y) %画纵坐标轴text(0.1,x,jImz)text(y,1/10,Rez)plot(real(p),imag(p),x) %画极点plot(real(q),imag(q),o) %画零点title(pole-zero diagra
12、m for discrete system) %标注标题hold off调用函数(1)零极点分布a=1 2 1;b=1 -0.5 -0.005 0.3;ljdt(a,b);p=roots(a)q=roots(b)pa=abs(p) 由程序运行结果和绘制的系统零极点图我们可以看出,该系统的某极点位于圆周上,所以为临界稳定系统(2) 单位样值响应a=1 2 1;b=1 -0.5 -0.005 0.3;impz(b,a,20);(3)频率响应A=1 2 1;B=1 -0.5 -0.005 0.3;impz(b,a,20);H,w=freqz(B,A,400,whole);Hf=abs(H);Hx=angle(H);clffigure(1)plot(w,Hf)title(离散系统幅频特性曲线)figure(2)plot(w,Hx)title(离散系统相位特性曲线)