实验Z变换、零极点分析
- 格式:doc
- 大小:115.50 KB
- 文档页数:9
(一)离散时间信号的Z 变换1.利用MATLAB 实现z 域的部分分式展开式MATLAB 的信号处理工具箱提供了一个对F(Z)进行部分分式展开的函数residuez(),其调用形式为:[r,p,k]=residuez(num,den)式中,num 和den 分别为F(Z)的分子多项式和分母多项式的系数向量,r 为部分分式的系数向量,p 为极点向量,k 为多项式的系数向量。
【实例1】 利用MATLAB 计算321431818)(-----+zz z z F 的部分分式展开式。
解:利用MATLAB 计算部分分式展开式程序为% 部分分式展开式的实现程序num=[18];den=[18 3 -4 -1];[r,p,k]=residuez(num,den)2.Z 变换和Z 反变换MATLAB 的符号数学工具箱提供了计算Z 变换的函数ztrans()和Z 反变换的函数iztrans (),其调用形式为)()(F iztrans f f ztrans F ==上面两式中,右端的f 和F 分别为时域表示式和z 域表示式的符号表示,可应用函数sym 来实现,其调用格式为()A sym S =式中,A 为待分析的表示式的字符串,S 为符号化的数字或变量。
【实例2】求(1)指数序列()n u a n 的Z 变换;(2)()()2a z az z F -=的Z 反变换。
解 (1)Z 变换的MATLAB 程序% Z 变换的程序实现f=sym('a^n');F=ztrans(f)程序运行结果为:z/a/(z/a-1)可以用simplify( )化简得到 :-z/(-z+a)(2)Z 反变换的MATLAB 程序% Z 反变换实现程序F=sym('a*z/(z-a)^2');f=iztrans(F)程序运行结果为f =a^n*n(二)系统函数的零极点分析1. 系统函数的零极点分布离散时间系统的系统函数定义为系统零状态响应的z 变换与激励的z 变换之比,即)()()(z X z Y z H = (3-1)如果系统函数)(z H 的有理函数表示式为:11211121)(+-+-++++++++=n n n n m m m m a z a z a z a b z b z b z b z H (3-2) 那么,在MATLAB 中系统函数的零极点就可通过函数roots 得到,也可借助函数tf2zp 得到,tf2zp 的语句格式为:[Z,P,K]=tf2zp(B,A)其中,B 与A 分别表示)(z H 的分子与分母多项式的系数向量。
数字信号处理实验报告实验名称:离散系统的Z 域分析学号:姓名: 评语: 成绩: 一、实验目的1、掌握离散序列z 变换的计算方法。
2、掌握离散系统系统函数零极点的计算方法和零极点图的绘制方法,并能根据零极点图分析系统的因果性和稳定性。
3、掌握利用MATLAB 进行z 反变换的计算方法。
二、实验原理与计算方法1、z 变换离散序列x (n )的z 变换定义为:。
∑∞-∞=-=n n z n x Z X )()(在MATLAB 中可以利用符号表达式计算一个因果序列的z 变换。
其命令格式为:syms n; f=(1/2)^n+(1/3)^n;ztrans(f)2、离散系统的系统函数及因果稳定的系统应满足的条件一个线性移不变离散系统可以用它的单位抽样响应h (n )来表示其输入与输出关系,即y (n )= x (n )* h (n )对该式两边取z 变换,得: Y (z )= X (z )· H (z )则: )()()(z X z Y z H =将H (z )定义为系统函数,它是单位抽样响应h (n )的z 变换,即∑∞-∞=-==n n z n h n h Z z H )()]([)(对于线性移不变系统,若n <0时,h (n )=0,则系统为因果系统;若,则系统稳∞<∑∞-∞=n n h |)(|定。
由于h (n )为因果序列,所以H (z )的收敛域为收敛圆外部区域,因此H (z )的收敛域为收敛圆外部区域时,系统为因果系统。
因为,若z =1时H (z )收敛,即∑∞-∞=-=n n z n h z H )()(,则系统稳定,即H(z)的收敛域包括单位圆时,系统稳定。
∞<=∑∞-∞==n z n h z H |)(||)(1因此因果稳定系统应满足的条件为:,即系统函数H (z )的所有极点全部落在1,||<∞≤<ααz z 平面的单位圆之内。
3、MATLAB 中系统函数零极点的求法及零极点图的绘制方法MATLAB 中系统函数的零点和极点可以用多项式求根函数roots ()来实现,调用该函数的命令格式为:p=roots(A)。
南昌大学实验报告(信号与系统)学生姓名:肖江学号:6100210030 专业班级:电子103班实验类型:□验证□综合□设计□创新实验日期:2012/6/1 实验成绩:Z变换、离散时间系统的Z域分析一、实验目的1、学会用matlab求解z变换与逆z变换。
2、学会离散系统零极点分布图的绘制,理解离散系统零极点分布图的含义。
3、求解离散系统的频率响应特性。
二、实验说明1、一离散系统的差分方程为y(n)-by(n-1)=x(n),若激励为x(n)=a n u(n),起始值y(-1)=0,求响应y(n)。
2、当H(s)极点位于z平面中各方框附近的位置,画出对应的h(n)波形填入方框中。
3、求系统差分方程为y(n)-1.1y(n-1)+0.7y(n-2)=x(n-1),的系统的频率响应特性。
三、实验内容1、syms n a b z%定义符号n a b zx=a^n; %定义激励信号X=ztrans(x); %计算激励信号的变换H=1/(1-b*z^(-1)); %写出系统z变换式Y=H*X; %计算输出的变换式y1=iztrans(Y); %计算输出时域表达式y=simplify(y1) %化简表达式2、pos=[26,19,18,17,24,27,13,11,9,23,28,7,4,1,22];figure,id=1; %生成新图框,子图id初始化为1for r=0.8:0.2:1.2 %极点的幅度依次为0.8,1.0,1.2for theta=0:pi/4:pi %极点的弧度依次为0,Π/4,Π/2,3Π/4,Πp=r*exp(j*theta);if theta~=0&theta~=pip=[p;p']; %如果极点不在实轴上添加一个共轭极点end[b a]=zp2tf([],p,1); %由零极点得到传递函数subplot(4,7,pos(id));[h,t]=impz(b,a,20); %计算20个点的单位样值响应stem(t,h,'k-','MarkerSize',5);%绘制单位样值响应id=id+1; %子图序号加1end%退出弧角循环end%退出幅度循环3、a=[1,-1.1,0.7];b=[0,1];subplot(2,1,1),zplane(b,a); %绘制零极点分布图subplot(2,1,2),impz(b,a); %绘制单位样值响应figure,freqz(b,a) %绘制频率特性4、a=[1,-1.1,0.6];b=[0.6,-1.1,1];subplot(2,1,1),zplane(b,a); %绘制零极点分布图subplot(2,1,2),impz(b,a); %绘制单位样值响应figure,freqz(b,a); %绘制频率响应n=[0:40]'; %生成时间点x1=sin(0.1*pi*n); %生成单频信号x2=0*n; %准备方波信号x2(mod(n,10)<5)=1; %生成周期为10的方波信号y1=filter(b,a,x1); %分别对两个信号滤波y2=filter(b,a,x2);figuresubplot(2,1,1),stem(n,x1); %绘制单频信号及其输出波形subplot(2,1,2),stem(n,y1);figuresubplot(2,1,1),stem(n,x2); %绘制方波信号及其输出波形subplot(2,1,2),stem(n,y2);四、实验结果1、y =(a^(1+n)-b^(1+n))/(a-b)2、输出波形如下3、输出波形如下:4、输出波形如下:五、实验总结通过本次实验的学习,对离散系统有了更多的了解,通过用matlab画出离散系统的零极点分布图,使我对离散系统的零极点分布与其对用的频响特性有了深刻的了解;同时对全通网络的相频失真有了进一步了解,幅度没有失真,但对不同的频率信号的相移不同,因此单频信号输入时,其输出信号的波形没有失真,只是整个波形发生了移位,但对于方波信号,由于其中包含了各种频率的信号,因此不同频率的信号相频失真不同,因此输出波形不再是方波。
备注:(1)、按照要求独立完成实验内容。
(2)、实验结束后,把电子版实验报告按要求格式改名(例:09号_张三_实验七.doc)后,实验室统一刻盘留档。
实验三零极点分布对系统频率响应的影响一、实验目的学习用分析零极点分布的几何方法分析研究信号和系统频率响应。
二、实验原理如果知道信号的Z变换以及系统的系统函数H(z),可以得到它们的零极点分布,由零极点分布可以很方便地对它们的频率响应进行定性分析。
信号的幅度特性由零点矢量长度之积除以极点矢量的长度之积,当频率ω从0变化到2π时,观察零点矢量长度和极点矢量长度的变化,重点观察那些矢量长度较短的情况。
另外, 由分析知道, 极点主要影响频率响应的峰值,极点愈靠近单位圆,峰值愈尖锐;零点主要影响频率特性的谷值,零点愈靠近单位圆,谷值愈深,如果零点在单位圆上,那么频率特性为零。
根据这些规律可以定性画出频率响应的幅度特性。
峰值频率和谷值频率可以近似用响应的极点和零点的相角表示,例如极点z1=0.9ejπ/4,峰值频率近似为π/4,极点愈靠近单位圆,估计法结果愈准确。
本实验借助计算机分析信号和系统的频率响应,目的是掌握用极、零点分布的几何分析法分析频率响应,实验时需要将z=ejω代入信号的Z变换和系统函数中,再在0~2π之间,等间隔选择若干点,并计算它的频率响应。
三、实验内容(包括代码与产生的图形)要求:不仅打印幅度特性曲线,而且要有系统频率特性的文字分析。
1. 假设系统用下面差分方程描述:y(n)=x(n)+ay(n-1)假设a=0.7, 0.8, 0.9 ,分别在三种情况下分析系统的频率特性,并打印幅度特性曲线。
a=0.7代码:B=1;a=0.7A=[1,-a];subplot(3,1,3);zplane(B,A);xlabel('ʵ²¿Re');ylabel('Ð鲿Im');title('y(n)=x(n)-ay(n-1)´«Ê亯ÊýÁã¡¢¼«µã·Ö²¼');grid on[H,w]=freqz(B,A,'whole');subplot(3,1,2);plot(w/pi,abs(H),'linewidth',2);grid on;xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('·ùƵÏìÓ¦ÌØÐÔ');axis([0,2,0,6]);subplot(3,1,1);plot(w/pi,angle(H),'linewidth',2);grid on;axis([-0.1,2.1,-3,3]);xlabel('\omega/\pi');ylabel('\phi(\omega)');title('ÏàÆµÏìÓ¦ÌØÐÔ');图像:-505-101实部Re虚部I my(n)=x(n)-ay(n-1)传输函数零、极点分布00.20.40.60.81 1.2 1.4 1.6 1.825ω/π|H (e j ω)|幅频响应特性0.20.40.60.81 1.2 1.41.61.82-22ω/πφ(ω)相频响应特性a=0.8代码:B=1;a=0.8A=[1,-a];subplot(3,1,3);zplane(B,A); xlabel('ʵ²¿Re'); ylabel('Ð鲿Im');title('y(n)=x(n)-ay(n-1)´«Ê亯ÊýÁã¡¢¼«µã·Ö²¼'); grid on[H,w]=freqz(B,A,'whole'); subplot(3,1,2);plot(w/pi,abs(H),'linewidth',2); grid on ;xlabel('\omega/\pi'); ylabel('|H(e^j^\omega)|'); title('·ùƵÏìÓ¦ÌØÐÔ'); axis([0,2,0,6]);subplot(3,1,1);plot(w/pi,angle(H),'linewidth',2); grid on ;axis([-0.1,2.1,-3,3]); xlabel('\omega/\pi');ylabel('\phi(\omega)'); title('ÏàÆµÏìÓ¦ÌØÐÔ');图像:-6-4-20246实部Re虚部I my(n)=x(n)-ay(n-1)传输函数零、极点分布00.20.40.60.81 1.2 1.4 1.61.825ω/π|H (e j ω)|幅频响应特性0.20.40.60.81 1.2 1.41.61.82-202ω/πφ(ω)相频响应特性a=0.9代码:B=1;a=0.9A=[1,-a];subplot(3,1,3);zplane(B,A); xlabel('ʵ²¿Re'); ylabel('Ð鲿Im');title('y(n)=x(n)-ay(n-1)´«Ê亯ÊýÁã¡¢¼«µã·Ö²¼'); grid on[H,w]=freqz(B,A,'whole'); subplot(3,1,2);plot(w/pi,abs(H),'linewidth',2); grid on ;xlabel('\omega/\pi'); ylabel('|H(e^j^\omega)|'); title('·ùƵÏìÓ¦ÌØÐÔ'); axis([0,2,0,6]);subplot(3,1,1);plot(w/pi,angle(H),'linewidth',2); grid on ;axis([-0.1,2.1,-3,3]); xlabel('\omega/\pi'); ylabel('\phi(\omega)'); title('ÏàÆµÏìÓ¦ÌØÐÔ');图像:-505-101实部Re虚部I my(n)=x(n)-ay(n-1)传输函数零、极点分布00.20.40.60.81 1.2 1.4 1.6 1.825ω/π|H (e j ω)|幅频响应特性0.20.40.60.81 1.2 1.41.61.82-22ω/πφ(ω)相频响应特性分析:由y (n )=x (n )+ay (n -1)可知:H[z]=B[z]/A[z]=1/(1-az^(-1))系统极点z=a ,零点z=0,当B 点从w=0逆时针旋转时,在w=0点,由于极点向量长度最短,形成波峰,并且当a 越大,极点越接近单位圆,峰值愈高愈尖锐;在w=pi 点形成波谷;z=0处零点不影响幅频响应。
(一)离散时间信号的Z 变换1.利用MATLAB 实现z 域的部分分式展开式MATLAB 的信号处理工具箱提供了一个对F(Z)进行部分分式展开的函数residuez(),其调用形式为:[r,p,k]=residuez(num,den)式中,num 和den 分别为F(Z)的分子多项式和分母多项式的系数向量,r 为部分分式的系数向量,p 为极点向量,k 为多项式的系数向量。
【实例1】 利用MATLAB 计算321431818)(-----+zz z z F 的部分分式展开式。
解:利用MATLAB 计算部分分式展开式程序为% 部分分式展开式的实现程序num=[18];den=[18 3 -4 -1];[r,p,k]=residuez(num,den)2.Z 变换和Z 反变换MATLAB 的符号数学工具箱提供了计算Z 变换的函数ztrans()和Z 反变换的函数iztrans (),其调用形式为)()(F iztrans f f ztrans F ==上面两式中,右端的f 和F 分别为时域表示式和z 域表示式的符号表示,可应用函数sym 来实现,其调用格式为()A sym S =式中,A 为待分析的表示式的字符串,S 为符号化的数字或变量。
【实例2】求(1)指数序列()n u a n 的Z 变换;(2)()()2a z az z F -=的Z 反变换。
解 (1)Z 变换的MATLAB 程序% Z 变换的程序实现f=sym('a^n');F=ztrans(f)程序运行结果为:z/a/(z/a-1)可以用simplify( )化简得到 :-z/(-z+a)(2)Z 反变换的MATLAB 程序% Z 反变换实现程序F=sym('a*z/(z-a)^2');f=iztrans(F)程序运行结果为f =a^n*n(二)系统函数的零极点分析1. 系统函数的零极点分布离散时间系统的系统函数定义为系统零状态响应的z 变换与激励的z 变换之比,即)()()(z X z Y z H = (3-1)如果系统函数)(z H 的有理函数表示式为:11211121)(+-+-++++++++=n n n n m m m m a z a z a z a b z b z b z b z H ΛΛ (3-2) 那么,在MATLAB 中系统函数的零极点就可通过函数roots 得到,也可借助函数tf2zp 得到,tf2zp 的语句格式为:[Z,P,K]=tf2zp(B,A)其中,B 与A 分别表示)(z H 的分子与分母多项式的系数向量。
实验一基于MATLAB语言的线性离散系统的Z变换分析法一、实验目的1. 学习并掌握 Matlab 语言离散时间系统模型建立方法;2.学习离散传递函数的留数分析与编程实现的方法;3.学习并掌握脉冲和阶跃响应的编程方法;4.理解与分析离散传递函数不同极点的时间响应特点。
二、实验工具1. MATLAB 软件(6.5 以上版本);2. 每人计算机一台。
三、实验内容1. 在Matlab语言平台上,通过给定的离散时间系统差分方程,理解课程中Z变换定义,掌握信号与线性系统模型之间Z传递函数的几种形式表示方法;2. 学习语言编程中的Z变换传递函数如何计算与显示相应的离散点序列的操作与实现的方法,深刻理解课程中Z变换的逆变换;3. 通过编程,掌握传递函数的极点与留数的计算方法,加深理解G(z)/z 的分式方法实现过程;4. 通过系统的脉冲响应编程实现,理解输出响应的离散点序列的本质,即逆变换的实现过程;5. 通过编程分析,理解系统的Z传递函数等于单位脉冲响应的Z变换,并完成响应的脉冲离散序列点的计算;6. 通过程序设计,理解课程中脉冲传递函数极点对系统动态行为的影响,如单独极点、复极点对响应的影响。
四、实验步骤1.创建系统How to create digital system g Four examples are as follows:numg=[0.1 0.03 -0.07];deng=[1 -2.7 2.42 -0.72];g=tf(numg,deng,-1)get(g);[nn dd]=tfdata(g,'v')[zz,pp,kk]=zpkdata(g,'v')Unite circle region with distrbuting zeros points and poles points hold onpzmap(g), hold offaxis equal运行结果:2.转换为零极点标准形式Convert from tf(z-function) to zpk(z-function) Part C exercise form gg=zpk(g)[zz,pp,kk tts]=zpkdata(gg,'v')[z,p k,ts]=zpkdata(g,'v')运行结果:3.四个例子Four examples are as follows:Part A exerciseeg1mun=[1.25 -1.25,0.30];eg1den=[1 -1.05 0.80 -0.10];eg1=tf(eg1mun,eg1den,-1);eg1zpk=zpk(eg1);[zz1,pp1,kk1,tts1]=zpkdata(eg1zpk,'v');Part B exerciseeg2mun=[0.84 -0.062 -0.156 0.058];eg2den=[1 -1.03 0.22 0.094 0.05];eg2=tf(eg2mun,eg2den,-1);eg2zpk=zpk(eg2);[zz2,pp2,kk2,tts2]=zpkdata(eg2zpk,'v');Part C exercisezz3=[-0.2 0.4];pp3=[0.6 0.5+0.75i 0.5-0.75i 0.3];kk3=150;tts3=-1;eg3zpk=zpk(zz3,pp3,kk3,tts3);eg3=tf(eg3zpk);Part D exercisezz4=[-0.3 0.4+0.2i 0.4-0.2i];pp4=[-0.6 -0.3,0.5 0.6];kk4=5;tts4=-1;eg4zpk=zpk(zz4,pp4,kk4,tts4);eg4=tf(eg4zpk);4.留数法Residue method and impluse response numg=[2 -2.2 0.65];deng=[1 -0.6728 0.0463 0.4860]; [rGoz, pGoz,other]=residue(numg,[deng 0]) [mag_pGoz,theta_pGoz] =xy2p(pGoz)[mag-rGoz,theta-rGoz]=xy2p(rGoz)G=tf(numg,deng,-1)impulse(G)[y,k]=impulse(G);stem(k,y,'filled');impulse(G)运行结果:5.复杂极点响应When transfer function is G(Z) with complex ,t=t*ts;pole of z=e^(+-j*30*pi/3) and z=-0.5,as well as its gain value is unit step signal,its collecting cycle is 0.5 second,how to analyze its response.gcfts=0.3;num=[1 0.5];den=conv([1 -exp(i*pi/3)],[1 -exp(-i*pi/3)]);g1=tf(num,den,ts)[y,k]=impulse(g1,20);stem(k,y,'filled'),grid运行结果:6.重极点响应How to analyze response with repeating poles dtime=[0:90];y(k+2)-1.8y(k+1)+0.81y(k)=3u(k+1)-1.2u(k) yi=impulse(gstep,dtime)gcfnum=[3 -1.2];den=[1 -1.8 0.81];[rGoz, pGoz,other]=residue(num,[den 0])t=0:60;y=rGoz(2,1).*(t.*(pGoz(2,1).^(t-1)))+rGoz(1,1).*(pGoz(1,1).^(t)) y1=zeros(1,61);y1(1,1)=rGoz(3,1);y=y+y1;t=ts*t;stem(t,y,'filled'),gridSpecial example about difference real pole tosystem response[rGoz,pGoz,other]=residue(num,[den,0])num1=[rGoz(1) 0];den1=[1 -pGoz(1)]gg1=tf(num1,den1,ts)[y,t]=impulse(gg1,50)stem(t,y,'filled'),grid运行结果:7.阶跃响应numg=[2 -2.2 0.56];deng=[1 -0.6728 0.0463 0.4860];g=tf(numg,deng,1);numgstep=[numg 0];dengstep=conv(deng,[1 -1]);gstep=tf(numgstep,dengstep,1)dtime=[0:90];yi=impulse(gstep,dtime)subplot(2,1,1)stem(dtime,yi,'filled')ys=step(g,dtime);subplot(2,1,2)stem(dtime,ys,'filled')dcgain(g)ys_ss=ys(end)ys_ss=ys(max(dtime))运行结果:Example 1: Analysis of subsection input function subplot(1,1,1)num=[2 -2.2 0.56];den=[1 -0.6728 0.0463 0.4860];ts=0.2;g=tf(num,den,ts);dtime=[0:ts:8]';u=2.0*ones(size(dtime));ii=find(dtime>=2.0); u(ii)=0.5;y=lsim(g,u,dtime);stem(dtime,y,'filled'),gridhold onplot(dtime,u,'o')hold offtext(2.3,-1.8,'output')text(1.6,2.3,'input')运行结果:五、实验思考1、根据实验结果,分析离散传递函数不同极点的时间响应特点。
北京理工大学信号与系统实验报告6-离散时间系统的z域分析————————————————————————————————作者:————————————————————————————————日期:实验6 离散时间系统的z 域分析(综合型实验)一、 实验目的1) 掌握z 变换及其反变换的定义,并掌握MAT LAB实现方法。
2) 学习和掌握离散时间系统系统函数的定义及z 域分析方法。
3) 掌握系统零极点的定义,加深理解系统零极点分布与系统特性的关系。
二、 实验原理与方法 1. z 变换序列(n)x 的z 变换定义为(z)(n)znn X x +∞-=-∞=∑ (1)Z 反变换定义为11(n)(z)z 2n rx X dz jπ-=⎰(2)MA TLA B中可采用符号数学工具箱z trans 函数和iz trans 函数计算z 变换和z 反变换: Z=ztran s(F)求符号表达式F的z 变换。
F=iztra ns(Z)求符号表达式Z 的z 反变换 2. 离散时间系统的系统函数离散时间系统的系统函数H(z)定义为单位抽样响应h(n)的z 变换(z)(n)znn H h +∞-=-∞=∑ (3)此外连续时间系统的系统函数还可由系统输入与输出信号z 变换之比得到(z)(z)/X(z)H Y = (4)由(4)式描述的离散时间系统的系统时间函数可以表示为101101...(z)...MM NN b b z b z H a a z a z----+++=+++ (5) 3. 离散时间系统的零极点分析MATLAB 中可采用roots 来求系统函数分子多项式和分母多项式的根,从而得到系统的零极点。
此外还可采用MATL AB 中zpl ane 函数来求解和绘制离散系统的零极点分布图,zp lane 函数的调用格式为:zplane(b,a) b、a 为系统函数分子分母多项式的系数向量(行向量) zplane (z,p) z 、p为零极点序列(列向量) 系统函数是描述系统的重要物理量,研究系统函数的零极点分布不仅可以了解系统单位抽样响应的变化,还可以了解系统频率特性响应以及判断系统的稳定性; 系统函数的极点位置决定了系统的单位抽样响应的波形,系统函数零点位置只影响冲激响应的幅度和相位,不影响波形。
《数字信号处理》实验报告实验一:Z 变换及离散时间系统分析给定系统)8.0/(2.0)(2+-=z z H ,编程并绘出系统的单位阶跃响应y(n),频率响应)e (jw H 。
给出实验报告。
实验代码clear;x=ones(100); t=1:100;b=[0 0 -0.2 ]; a=[1 0 0.8]; y=filter(b,a,x); (t,x,'r.',t,y,'k-'); grid on ;ylabel('x(n) and y(n)') xlabel('n')单位阶跃响应单位抽样:b=[0 0 -0.2 ]; a=[1 0 0.8];[h,t]=impz(b,a,70);stem(t,h, '.')幅頻,相频b=[0 0 -0.2 ];a=[1 0 0.8];[H,w]=freqz(b,a,256,1);Hr=abs(H);Hphase=angle(H);Hphase=unwrap(Hphase); subplot(211)plot(w,Hr);grid on;ylabel(' 幅频.')subplot(212)plot(w,Hphase);grid on; ylabel(' 相频')零极点图:b=[0 0 -0.2 ];a=[1 0 0.8];subplot(221);zplane(b,a);实验二:快速傅里叶变换设x(n)由三个实正弦组成,频率分别是8Hz,9Hz,10Hz,抽样频率为60 Hz,时域取256点,作FFT变换,观察波形,给出实验报告。
实验代码:clear all;N=256;f1=8;f2=9;f3=10;fs=60;w=2*pi/fs;x=sin(w*f1*(0:N-1))+sin(w*f2*(0:N-1))+sin(w*f3*(0:N-1)); subplot(3,1,1);plot(x(1:N/4));f=-0.5:1/N:0.5-1/N;X=fft(x);=ifft(X);(3,1,2);plot(f,fftshift(abs(X)));subplot(3,1,3);plot(real(y(1:N/4)));实验三:无限冲击响应数字滤波器设计设计一个数字带通滤波器,参数自定。
实验四 Z 变换【实验目的】 通过MATLAB 仿真离散时间系统,研究其时频域特性,加深对离散系统的冲激响应,频率响应分析和零极点分布概念和理解。
【实验原理】1.Z 变换原理(1).Z 变换 在数字信号处理的分析方法中,除时域分析方法外,还有变换域分析方法。
后者通常指Z 变换和傅里叶变换法。
变换域分析的最大优点是将离散系统的差分方程转化为简单的代数方程,使其求解大大简化,也使得对系统的特性分析更为方便。
对于离散时间信号,设序列为x (n ),则其Z 变换定义为: ,其中z 为复变量,是一个以时部为横坐标,虚部为纵坐∑+∞-∞=-=n n z n x z X )()(标构成的平面上的变量。
Z 变换记作,X (z )存在的z 的集合称为收敛域])([ )(n x z X Z =(ROC ),一般为+-<<x x R z R 由于ROC 是由定义的,因此一般为环形区域。
根据ROC 的特点,可以判定序列是右边序z 列、左边序列、双边序列等。
Z 变换具有一些重要的特性,是傅里叶变换的推广,包括线性、时移特性、频移特性、尺度变换、共轭、翻褶、Z 域微分、序列相乘、序列卷积等一系列性质。
(2).系统函数离散线性时不变(LTI )系统的系统函数H (z )定义为:H (z ) = Z[h (n )] = (4.4)∑+∞-∞=-n n z n h )(若用差分方程表示系统,则有 )k -n (b )k -n (a M 0k k N0k x y k ∑∑===如果系统起始状态为零,直接对上式的两边Z 变换,并利用移位特性,有 ∑∑=-=-==N 0M 0)()()(k k k k k k z a z b Z X z Y z H 因此,系统函数H (z )的分子和分母的系数正好等于差分方程的系数。
归一化,即使得0a y (n )前的参数为1,此时可以对上式的分子、分母进行因式分解,可得∏∏=-=-=N k k M m z z z H 1111m )p -(1)c -(1K )(得到系统的增益函数K 、零点、极点。
实验三 Z 变换零极点分布及部分分式展开的MATLAB 实现一、仿真实验目的1、学会运用MATLAB 分析离散时间系统的系统函数的零极点分布与时频特性分析;2、熟悉通过调用residuez()函数用部分展开法将有理分式H(z)展开;3、熟悉通过调用tf2zp()函数计算H(z)的零极点 。
二、实验分析和计算1) 利用residuez 函数计算H(z)分子多项式和分母多项式[r,p,k]=residuez(num,den) num,den 分别为H(z)分子多项式和分母多项式的系数向量。
r 为部分分式的系数,p 为极点,k 为多项式的系数。
若为真分式,则k 为零。
2) 利用tf2zp 函数计算H(z)的零极点,调用形式为[z,p,k]=tf2zp(b,a)b 和a 分别为H(z)分子多项式和分母多项式的系数向量。
返回值z 为零点、p 为极点、 k 为增益常数。
H(z)零极点分布图可用zplane 函数画出,调用形式为:zplane(b,a)[例1] 将F (z )用部分分式展开。
210()32z F z z z -+= 解:由于 21010()32(1)(2)z z F z z z z z =-+--=即 ()10(1)(2)F z zz z --= 为有理真分式,有两个一阶极点121,2z z ==,可展开成12()(1)(2)F z zz z A A +--= 其中111()10[(1)][]102z z F z z z z ==A =-==-- 222()10[(2)][]101z z F z z z z ==A =-==- 所以1010()(1)(2)z z F z z z -+--= 三、应用MATLAB 仿真[例1] 将F (z )用部分分式展开210()32zF z z z -+=。
输入以下MATLAB 命令:num = [0 10];den = [1 -3 2];[r,p,k] = residuez(num,den)运行结果为:r =10,-10p = 2,1k =[]故F (z )可展开为 1010()(1)(2)z z F z z z -+--=。
1. 学会运用MATLAB 求离散时间信号的z 变换和z 反变换;一、 实验原理及实例分析(一)离散时间信号的Z 变换1.利用MATLAB 实现z 域的部分分式展开式MATLAB 的信号处理工具箱提供了一个对F(Z)进行部分分式展开的函数residuez(),其调用形式为:[r,p,k]=residuez(num,den)式中,num 和den 分别为F(Z)的分子多项式和分母多项式的系数向量,r 为部分分式的系数向量,p 为极点向量,k 为多项式的系数向量。
【实例1】 利用MATLAB 计算321431818)(-----+zz z z F 的部分分式展开式。
解:利用MATLAB 计算部分分式展开式程序为% 部分分式展开式的实现程序num=[18];den=[18 3 -4 -1];[r,p,k]=residuez(num,den)2.Z 变换和Z 反变换MATLAB 的符号数学工具箱提供了计算Z 变换的函数ztrans()和Z 反变换的函数iztrans (),其调用形式为)()(F iztrans f f ztrans F ==上面两式中,右端的f 和F 分别为时域表示式和z 域表示式的符号表示,可应用函数sym 来实现,其调用格式为()A sym S =式中,A 为待分析的表示式的字符串,S 为符号化的数字或变量。
【实例2】求(1)指数序列()n u a n 的Z 变换;(2)()()2a z az z F -=的Z 反变换。
解 (1)Z 变换的MATLAB 程序% Z 变换的程序实现f=sym('a^n');F=ztrans(f)程序运行结果为:z/a/(z/a-1)可以用simplify( )化简得到 :-z/(-z+a)(2)Z 反变换的MATLAB 程序% Z 反变换实现程序F=sym('a*z/(z-a)^2');f=iztrans(F)程序运行结果为f =a^n*n(二)系统函数的零极点分析1. 系统函数的零极点分布离散时间系统的系统函数定义为系统零状态响应的z 变换与激励的z 变换之比,即)()()(z X z Y z H = (3-1) 如果系统函数)(z H 的有理函数表示式为:11211121)(+-+-++++++++=n n n n m m m m a z a z a z a b z b z b z b z H (3-2) 那么,在MATLAB 中系统函数的零极点就可通过函数roots 得到,也可借助函数tf2zp 得到,tf2zp 的语句格式为:[Z,P,K]=tf2zp(B,A)其中,B 与A 分别表示)(z H 的分子与分母多项式的系数向量。
z变换零极点与差分方程零极点与差分方程一、引言在信号处理与控制系统中,零极点是一种重要的概念。
它们描述了系统的动态特性,并且在分析和设计系统时起着关键作用。
差分方程是描述离散时间系统行为的重要工具。
本文将探讨零极点与差分方程的基本概念、性质和应用。
二、零极点的概念1. 零点在z变换中,零点是使得系统的传递函数为零的根。
零点可以是实数或复数,反映了系统对输入信号的特定频率成分的响应情况。
零点的位置和数量决定了系统的频率特性。
2. 极点与零点类似,极点是使得系统的传递函数无穷大的根。
极点可以是实数或复数,反映了系统的稳定性和频率响应。
极点的位置和数量决定了系统的动态特性。
三、差分方程的定义与性质1. 差分方程的定义差分方程是描述离散时间系统行为的数学表达式。
它以递推方式表示系统的输入和输出之间的关系。
差分方程可以通过将连续时间系统的微分方程进行离散化得到。
2. 差分方程的性质差分方程具有线性性、时不变性、因果性和稳定性等基本性质。
线性性表明系统对输入信号具有叠加性质;时不变性表示系统的行为与时间无关;因果性要求系统的输出仅依赖于当前和过去的输入;稳定性要求系统的输出有界。
四、零极点与差分方程的关系1. 零极点与系统的传递函数系统的传递函数是描述系统输入和输出之间关系的函数。
它可以通过系统的零极点来表示。
零点对应传递函数的分子部分,极点对应传递函数的分母部分。
传递函数的零极点决定了系统的频率响应和稳定性。
2. 差分方程与系统的传递函数差分方程可以转化为z变换形式,从而得到系统的传递函数。
通过z变换,可以将差分方程中的差分算子转化为复变量z的函数。
这样,差分方程与零极点的关系就能够建立起来。
五、零极点与差分方程的应用1. 系统分析与设计通过分析系统的零极点分布,可以得到系统的频率响应和稳定性。
这对于系统的分析与设计非常重要。
例如,在控制系统设计中,可以通过调整零极点的位置来改变系统的动态特性和稳定性。
2. 信号处理与滤波在信号处理中,滤波是一种常见的应用。
实验Z变换、零极点分析1. 学会运⽤MATLAB 求离散时间信号的z 变换和z 反变换;⼀、实验原理及实例分析(⼀)离散时间信号的Z 变换1.利⽤MATLAB 实现z 域的部分分式展开式MATLAB 的信号处理⼯具箱提供了⼀个对F(Z)进⾏部分分式展开的函数residuez(),其调⽤形式为:[r,p,k]=residuez(num,den)式中,num 和den 分别为F(Z)的分⼦多项式和分母多项式的系数向量,r 为部分分式的系数向量,p 为极点向量,k 为多项式的系数向量。
【实例1】利⽤MATLAB 计算321431818)(-----+zz z z F 的部分分式展开式。
解:利⽤MATLAB 计算部分分式展开式程序为% 部分分式展开式的实现程序num=[18];den=[18 3 -4 -1];[r,p,k]=residuez(num,den)2.Z 变换和Z 反变换MATLAB 的符号数学⼯具箱提供了计算Z 变换的函数ztrans()和Z 反变换的函数iztrans (),其调⽤形式为)()(F iztrans f f ztrans F ==上⾯两式中,右端的f 和F 分别为时域表⽰式和z 域表⽰式的符号表⽰,可应⽤函数sym 来实现,其调⽤格式为()A sym S =的Z 反变换。
解(1)Z 变换的MATLAB 程序% Z 变换的程序实现f=sym('a^n');F=ztrans(f)程序运⾏结果为:z/a/(z/a-1)可以⽤simplify( )化简得到 :-z/(-z+a)(2)Z 反变换的MATLAB 程序% Z 反变换实现程序F=sym('a*z/(z-a)^2');f=iztrans(F)程序运⾏结果为f =a^n*n(⼆)系统函数的零极点分析1. 系统函数的零极点分布离散时间系统的系统函数定义为系统零状态响应的z 变换与激励的z 变换之⽐,即)()()(z X z Y z H = (3-1)如果系统函数)(z H 的有理函数表⽰式为:11211121)(+-+-++++++++=n n n n m m m m a z a z a z a b z b z b z b z H (3-2)那么,在MATLAB 中系统函数的零极点就可通过函数roots 得到,也可借助函数tf2zp 得到,tf2zp 的语句格式为:[Z,P,K]=tf2zp(B,A)其中,B 与A 分别表⽰)(z H 的分⼦与分母多项式的系数向量。
实验三z变换及其应用3.1实验目的1)加深对离散系统变换域分析——z变换的理解;2)掌握进行z变换和z反变换的基本方法,了解部分分式法在z反变换中的应用;3)掌握使用MATLAB语言进行z变换和z反变换的常用函数。
3.2实验涉及的MATLAB函数1)ztrans功能:返回无限长序列函数x(n)的z变换。
调用格式:X=ztrans(x);求无限长序列函数x(n)的z变换X(z),返回z变换的表达式。
2)iztrans功能:求函数X(z)的z反变换x(n)。
调用格式:x=iztrans(X);求函数X(z)的z反变换x(n),返回z反变换的表达式。
3)syms功能:定义多个符号对象。
调用格式:syms a b w0;把字符a,b,w0定义为基本的符号对象。
4)residuez功能:有理多项式的部分分式展开。
调用格式:[r,p,c]=residuez(b,a);把b(z)/a(z)展开成部分分式。
[b,a]=residuez(r, p, c);根据部分分式的r、p、c数组,返回有理多项式。
其中:b,a为按降幂排列的多项式的分子和分母的系数数组;r为余数数组;p为极点数组;c为无穷项多项式系数数组。
3.3实验原理1)用ztrans 子函数求无限长序列的z 变换MATLAB 提供了进行无限长序列的z 变换的子函数ztrans 。
使用时须知,该函数只给出z 变换的表达式,而没有给出收敛域。
另外,由于这一功能还不尽完善,因而有的序列的z 变换还不能求出,z 逆变换也存在同样的问题。
例1 求以下各序列的z 变换。
012345(1)(),(),(),21(),()(1)n jw n n n x n a x n n x n x n e x n n n -=====- syms w0 n z a x1=a^n; X1=ztrans(x1) x2=n; X2=ztrans(x2) x3=(n*(n-1))/2; X3=ztrans(x3) x4=exp(j*w0*n); X4=ztrans(x4) x5=1/(n*(n-1)); X5=ztrans(x5)2)用iztrans 子函数求无限长序列的z 反变换MATLAB 还提供了进行无限长序列的z 反变换的子函数iztrans 。
1. 学会运用MATLAB 求离散时间信号的z 变换和z 反变换;〔一〕离散时间信号的Z 变换1.利用MATLAB 实现z 域的局部分式展开式MATLAB 的信号处理工具箱提供了一个对F(Z)进展局部分式展开的函数residuez(),其调用形式为:[r,p,k]=residuez(num,den)式中,num 和den 分别为F(Z)的分子多项式和分母多项式的系数向量,r 为局部分式的系数向量,p 为极点向量,k 为多项式的系数向量。
【实例1】 利用MATLAB 计算321431818)(-----+zz z z F 的局部分式展开式。
解:利用MATLAB 计算局部分式展开式程序为% 局部分式展开式的实现程序num=[18];den=[18 3 -4 -1];[r,p,k]=residuez(num,den)2.Z 变换和Z 反变换MATLAB 的符号数学工具箱提供了计算Z 变换的函数ztrans()和Z 反变换的函数iztrans 〔〕,其调用形式为)()(F iztrans f f ztrans F ==上面两式中,右端的f 和F 分别为时域表示式和z 域表示式的符号表示,可应用函数sym 来实现,其调用格式为()A sym S =式中,A 为待分析的表示式的字符串,S 为符号化的数字或变量。
【实例2】求〔1〕指数序列()n u a n 的Z 变换;(2)()()2a z az z F -=的Z 反变换。
解〔1〕Z 变换的MATLAB 程序% Z 变换的程序实现f=sym('a^n');F=ztrans(f)程序运行结果为:z/a/(z/a-1)可以用simplify()化简得到 :-z/(-z+a)〔2〕Z 反变换的MATLAB 程序% Z 反变换实现程序F=sym('a*z/(z-a)^2');f=iztrans(F)程序运行结果为f =a^n*n〔二〕系统函数的零极点分析1. 系统函数的零极点分布离散时间系统的系统函数定义为系统零状态响应的z 变换与鼓励的z 变换之比,即)()()(z X z Y z H = 〔3-1〕 如果系统函数)(z H 的有理函数表示式为:11211121)(+-+-++++++++=n n n n m m m m a z a z a z a b z b z b z b z H 〔3-2〕 那么,在MATLAB 中系统函数的零极点就可通过函数roots 得到,也可借助函数tf2zp 得到,tf2zp 的语句格式为:[Z,P,K]=tf2zp(B,A)其中,B 与A 分别表示)(z H 的分子与分母多项式的系数向量。
它的作用是将)(z H 的有理分式表示式转换为零极点增益形式,即:)())(()())(()(2121n m p z p z p z z z z z z z k z H ------= 〔3-3〕 【实例3】 一离散因果LTI 系统的系统函数为16.032.0)(2+++=z z z z H 试用MATLAB 命令求该系统的零极点。
解:用tf2zp 函数求系统的零极点,MATLAB 源程序为B=[1,0.32];A=[1,1,0.16];[R,P,K]=tf2zp(B,A)R=-0.3200P=-0.8000-0.2000K=1因此,零点为32.0=z ,极点为8.01=p 与2.02=p 。
假设要获得系统函数)(z H 的零极点分布图,可直接应用zplane 函数,其语句格式为:zplane(B,A)其中,B 与A 分别表示)(z H 的分子和分母多项式的系数向量。
它的作用是在Z 平面上画出单位圆、零点与极点。
【实例4】 一离散因果LTI 系统的系统函数为68.052.136.0)(22+--=z z z z H ,试用MATLAB 命令绘出该系统的零极点分布图。
解:用zplane 函数求系统的零极点,MATLAB 源程序为B=[1,0,-0.36];A=[1,-1.52,0.68];zplane(B,A),grid onlegend('零点','极点')title('零极点分布图')程序运行结果如图3-1所示。
可见,该因果系统的极点全部在单位圆内,故系统是稳定的。
2、系统函数的零极点分布与其时域特性的关系与拉氏变换在连续系统中的作用类似,在离散系统中,z 变换建立了时域函数)(n h 与z 域函数)(z H 之间的对应关系。
因此,z 变换的函数)(z H 从形式可以反映)(n h 的局部内在性质。
我们仍旧通过讨论)(z H 的一阶极点情况,来说明系统函数的零极点分布与系统时域特性的关系。
【实例5】 试用MATLAB 命令画出现以下系统函数的零极点分布图、以及对应的时域单位取样响应)(n h 的波形,并分析系统函数的极点对时域波形的影响。
〔1〕72.02.1)(23+-=z z z z H 解:MATLAB 源程序为b3=[1,0];a3=[1,-1.2,0.72];图3-1 零极点分布图subplot(1,2,1)zplane(b3,a3)title('极点在单位圆内的共轭复数')subplot(1,2,2)impz(b3,a3,30);grid on;figure程序运行结果分别如图3-2的〔a 〕所示。
(a)当极点位于单位圆内时,)(n h 为衰减序列;当极点位于单位圆上时,)(n h 为等幅序列;当极点位于单位圆外时,)(n h 为增幅序列。
假设)(n h 有一阶实数极点,那么)(n h 为指数序列;假设)(n h 有一阶共轭极点,那么)(n h 为指数振荡序列;假设)(n h 的极点位于虚轴左边,那么)(n h 序列按一正一负的规律交替变化。
〔三〕离散时间LTI 系统的频率特性分析对于因果稳定的离散时间系统,如果鼓励序列为正弦序列)()sin()(n u n A n x ω=,那么系统的稳态响应为)()](sin[|)(|)(n u n e H A n y j ss ωϕωω+=。
其中,()j H e ω通常是复数。
图3-2 系统函数的零极点分布与其时域特性的关系离散时间系统的频率响应定义为)(|)(|)(ωϕωωj j j e e H e H =〔3-4〕其中,|)(|ωj e H 称为离散时间系统的幅频特性;)(ωϕ称为离散时间系统的相频特性;)(ωj e H 是以s ω〔Ts πω2=,假设零1=T ,πω2=s 〕为周期的周期函数。
因此,只要分析)(ωj e H 在πω≤||X 围内的情况,便可分析出系统的整个频率特性。
MATLAB 提供了求离散时间系统频响特性的函数freqz ,调用freqz 的格式主要有两种。
一种形式为[H,w]=freqz(B,A,N)其中,B 与A 分别表示)(z H 的分子和分母多项式的系数向量;N 为正整数,默认值为512;返回值w 包含],0[πX 围内的N 个频率等分点;返回值H 那么是离散时间系统频率响应)(ωj e H 在π~0X 围内N 个频率处的值。
另一种形式为[H,w]=freqz(B,A,N,’whole’)与第一种方式不同之处在于角频率的X 围由],0[π扩展到]2,0[π。
【实例6】 用MATLAB 命令绘制系统8109.056.19028.096.0)(22+-+-=z z z z z H 的频率响应曲线。
解:利用函数freqz 计算出)(ωj e H ,然后利用函数abs 和angle 分别求出幅频特性与相频特性,最后利用plot 命令绘出曲线。
MATLAB 源程序为b=[1 -0.96 0.9028];a=[1 -1.56 0.8109];[H,w]=freqz(b,a,400,'whole');Hm=abs(H);Hp=angle(H);subplot(211)plot(w,Hm),grid onxlabel('\omega(rad/s)'),ylabel('Magnitude')title('离散系统幅频特性曲线')subplot(212)plot(w,Hp),grid onxlabel('\omega(rad/s)'),ylabel('Phase')title('离散系统相频特性曲线')程序运行结果如图3-3所示。
1、计算9.0||,))9.01()9.01(1)(121>+-=--z z z z X 的Z 反变换。
图3-3 离散系统频响特性曲线提示:b=1;a=poly([0.9 0.9 -0.9]);[r,p,k]=residuez(b,a) 因此得到9.0||9.0125.0)9.01(5.09.0125.0)(1211>++-+-=---z zz z z X 相应的 )()9.0(25.0)1()9.0)(1(95)()9.0(25.0)(1n u n u n n u n x n n n -++++=+ 2、某离散系统的系统函数为3.0005.05.012)(232+--++=z z z z z z H 试用MATLAB 求出该系统的零极点,并画出零极点分布图,求系统的单位冲激响应和幅频响应,并判断系统的是否稳定。
1、讨论极点与系统稳定性的关系?根据程序运行结果判断该系统的稳定性。
2、根据实验程序的运行结果写出z 反变换x(n)。