(完整版)基于matlab的Z变换与反Z变换
(完整版)实验二z变换及其应用

实验三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 。
matlab 时域信号z变换

Matlab 时域信号Z变换1. 介绍时域信号是指信号随时间变化的过程,而Z变换是一种用来分析时域信号的工具。
Matlab作为一种强大的科学计算软件,提供了丰富的函数和工具,可以对时域信号进行Z变换分析。
2. Z变换概述Z变换是一种将离散时间信号转换为Z域频率域的方法。
通过Z变换,可以将差分方程转换为传输函数,进而分析控制系统的稳定性和性能。
Z变换在数字信号处理、控制系统设计等领域有着广泛的应用。
3. Matlab中的Z变换函数在Matlab中,可以使用ztrans函数对离散时间信号进行Z变换。
该函数的语法如下:[H,p,k] = ztrans(h)其中,h为输入的差分方程,H为Z变换后的传输函数,p为极点,k 为常数项。
4. 示例以下是一个使用Matlab进行Z变换的示例:假设有一个差分方程:y[n] = 0.5*y[n-1] + x[n]使用Matlab进行Z变换,可以得到传输函数H:syms z;h = 0.5*z^(-1)/(1 - 0.5*z^(-1));[H,p,k] = ztrans(h)通过上述示例可以看出,Matlab提供了简洁方便的函数,可以快速计算得到Z变换后的传输函数。
5. Z变换的应用Z变换在数字信号处理、控制系统设计、滤波器设计等领域有着广泛的应用。
通过Z变换,可以分析系统的频率响应、稳定性、传输函数等重要特性。
在数字滤波器设计中,Z变换可以将滤波器的差分方程转换为传输函数,从而分析滤波器的频率响应和稳定性。
在控制系统设计中,Z变换可以将差分方程转换为传输函数,从而分析系统的稳定性和性能。
6. 结论Matlab提供了丰富的函数和工具,可以方便快速地进行时域信号的Z 变换分析。
Z变换在数字信号处理、控制系统设计等领域有着广泛的应用,对于工程领域的研究和应用具有重要意义。
通过学习和掌握Matlab中的Z变换函数,可以更好地应用Z变换分析信号与系统的特性,促进科学研究和工程应用的发展。
matlab z变换

八、部分和
若 f(k) ←→F(z) , <z<,则
i
f (i) z 1 F ( z )
f (k ) * (k )
k
z
, max(,1)<z<
k
证明
i
f (i ) (k i )
k i
i
f (i )
z
对因果序列f(k),
f (0) lim F ( z )
z
▲
■
第 21 页
证明
F ( z)
k
f (k ) z
k
k
k M
f (k ) z
f (M ) z
M
f ( M 1) z
( M 1)
f ( M 2) z
( M 2 )
k
k 0 k 0
的z变换
lim
N
(az ) lim
1 k k 0
N
1 (az ) 1 az
1
N 1
N
1
可见,仅当az-1<1,即 z >a 时,其z变换存在。
Fy ( z ) z za
jIm[ z]
收敛域为|z|>|a|
o
|a|
Re[z]
▲
■
第 6页
例3 求反因果序列 的z变换
解
F f ( z)
b k , f f (k ) 0,
k 0 k 0
b (k 1)
k
k
(bz
1
1 k
实验-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 的分子与分母多项式的系数向量。
matlab坐标系变换

matlab坐标系变换在MATLAB中,可以使用一些函数和操作实现坐标系的变换。
常见的一些方法有以下几种:1. 平移变换(Translation):通过对坐标系所有点的位置进行加减偏移来实现平移变换。
可以使用矩阵加法或点运算函数来实现。
例如,将坐标系中的点(x, y)平移一定偏移量(dx, dy),可以使用如下代码:```matlabx = x + dx;y = y + dy;```2. 旋转变换(Rotation):通过旋转坐标系中的点来实现旋转变换。
可以使用旋转矩阵或旋转函数来实现。
例如,将坐标系中的点(x, y)按逆时针方向旋转一个角度theta,可以使用如下代码:```matlabtheta_rad = deg2rad(theta); % 将角度转换为弧度x_rot = x*cos(theta_rad) - y*sin(theta_rad);y_rot = x*sin(theta_rad) + y*cos(theta_rad);```3. 缩放变换(Scale):通过缩放坐标系中的点的坐标值来实现缩放变换。
可以使用缩放矩阵或缩放函数来实现。
例如,将坐标系中的点(x, y)在x轴和y轴上分别缩放为原来的两倍,可以使用如下代码:```matlabscale_x = 2; % x轴缩放倍数scale_y = 2; % y轴缩放倍数x_scaled = x * scale_x;y_scaled = y * scale_y;```以上仅是坐标系变换的一些基本操作,实际应用中可能还会涉及更复杂的变换,如剪切、投影等。
MATLAB还提供了一些专门用于处理坐标系变换的函数和工具箱,例如`affine2d`类和`imwarp`函数,可以更方便地进行坐标系变换操作。
基于Matlab语言的线性离散系统的Z变换分析法

基于Matlab语言的线性离散系统的Z变换分析法实验一基于Matlab语言的线性离散系统的Z变换分析法班级: 姓名: 学号: 日期:一、实验目的:1、学习并掌握Matlab语言离散时间系统模型建立方法;2.学习离散传递函数的留数分析与编程实现的方法;3.学习并掌握脉冲与阶跃的编程方法;4.理解与分析离散传递函数不同极点的时间响应特点。
二、实验工具:1MATLAB软件(6、5以上版本);2每人计算机一台。
三、实验内容:1在Matlab语言平台上,通过给定的离散时间系统差分方程,理解课程中Z变换定义,掌握信号与线性系统模型之间Z传递函数的几种形式表示方法;2学习语言编程中的Z变换传递函数如何计算与显示相应的离散点序列的操作与实现的方法,深刻理解课程中Z变换的逆变换;3通过编程,掌握传递函数的极点与留数的计算方法,加深理解G(z)/z的分式方法实现过程;4通过系统的脉冲响应编程实现,理解输出响应的离散点序列的本质,即逆变换的实现过程;5通过编程分析,理解系统单位阶跃响应的Z变换就是系统的传递函数与单位阶跃函数Z变换,并完成响应的脉冲离散序列点的计算;6通过程序设计,理解课程中的不同的传递函数极点对系统动态行为的影响,如单独极点、复极点对响应的影响。
四、实验步骤:(一)传递函数的零极点程序: 结果: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')hold onpzmap(g), hold offaxis equal(二)留数法程序:numg=[2 -2、2 0、65];deng=[1 -0、6728 0、0463 0、4860];[rGoz, pGoz,other]=residue(numg,[deng 0])G=tf(numg,deng,-1)impulse(G)[y,k]=impulse(G);stem(k,y,'filled');impulse(G)结果:rGoz = 0、4905 + 0、0122i0、4905 - 0、0122i-2、31851、3374pGoz = 0、6364 + 0、6364i0、6364 - 0、6364i-0、6000other = []Transfer function:2 z^2 - 2、2 z + 0、65-----------------------------------z^3 - 0、6728 z^2 + 0、0463 z + 0、486Sampling time: unspecified(三)不同位置的根对系统的影响1)2个共轭极点(左圆内)+1实极点(圆内)P1 =0、6364 + 0、6364iP2=0、6364 - 0、6364iP3=-0、6000程序: 结果:zz3=[-0、2 0、4];pp3=[-0、6 0、6364+0、6364i 0、6364-0、6364i];kk3=2;tts3=-1;eg3zpk=zpk(zz3,pp3,kk3,tts3);eg3=tf(eg3zpk);[y,k]=impulse(eg3,50);stem(k,y,'filled'),grid2)2个共轭极点(右圆内)+1实极点(圆内)P1= -0、8592 P2= -0、0932 + 0、4558i P3= -0、0932 - 0、4558i 程序: 结果:zz3=[-0、2 0、4];pp3=[-0、8592 -0、0932+0、4558i -0、0932-0、4558i]; kk3=2;tts3=-1;eg3zpk=zpk(zz3,pp3,kk3,tts3);eg3=tf(eg3zpk);[y,k]=impulse(eg3,50);stem(k,y,'filled'),grid3)2个共轭极点(圆上)+1实极点(圆内)p1=0、6+0、8i p2=0、6-0、8i p3=-0、6程序: 结果:zz3=[-0、2 0、4];pp3=[-0、8592 -0、6+0、8i -0、6-0、8i];kk3=2;tts3=-1;eg3zpk=zpk(zz3,pp3,kk3,tts3);eg3=tf(eg3zpk);[y,k]=impulse(eg3,100);stem(k,y,'filled'),grid4、2个共轭极点(虚轴上)+1实极点(圆内)p1=i p2= -i p3= -0、6程序: 结果:zz3=[-0、2 0、4];pp3=[-0、6 i -i];kk3=2;tts3=-1;eg3zpk=zpk(zz3,pp3,kk3,tts3);eg3=tf(eg3zpk);[y,k]=impulse(eg3,100);stem(k,y,'filled'),grid5、2个实极点(圆内)+1个实极点(圆外)p1=2 p2=0、8 p3=-0、6程序: 结果:zz3=[-0、2 0、4];pp3=[2 0、8 -0、6];kk3=2;tts3=-1;eg3zpk=zpk(zz3,pp3,kk3,tts3);eg3=tf(eg3zpk);[y,k]=impulse(eg3,100);stem(k,y,'filled'),grid6、2个实极点(圆内)+1个实极点(圆上)p1=1 p2=0、8 p3=-0、6程序: 结果:zz3=[-0、2 0、4];pp3=[1 0、8 -0、6];kk3=2;tts3=-1;eg3zpk=zpk(zz3,pp3,kk3,tts3);eg3=tf(eg3zpk);[y,k]=impulse(eg3,100);stem(k,y,'filled'),gridp1=1 p2=-0、8 p3=-0、6程序: 结果:zz3=[-0、2 0、4];pp3=[1 0、8 -0、6];kk3=2;tts3=-1;eg3zpk=zpk(zz3,pp3,kk3,tts3);eg3=tf(eg3zpk);[y,k]=impulse(eg3,100);stem(k,y,'filled'),grid五、实验报告要求1、根据实验结果,分析离散传递函数不同极点的时间响应特点2、通过程序设计,分析不同的传递函数极点如:单极点、复极点、重根极点对系统动态行为的影响3、分析留数法的意义,根据系统的阶跃响应判别系统的稳定性4、对Z变换的进一步思考六、实验结果:1、根据实验结果,分析离散传递函数不同极点的时间响应特点。
《自动控制原理》z变换与z反变换

7-3 z 变换与z 反变换引言:● 连续系统的分析:拉氏变换 传递函数 ● 用拉氏变换的优点: ……● 离散系统:能否拉氏变换?有什么问题?如何改进? ● 新理论/方法 如何产生?一、离散信号的拉氏变换及其问题设连续信号)(t e 是可拉氏变换的,则拉氏变换定义为⎰∞-=0)()(dt e t e s E st由于0<t 时,有0)(=t e ,故上式亦可写为⎰∞∞--=dt e t e s E st)()(对于采样信号)(*t e ,其表达式为∑∞=-=0*)()()(n nT t nT e t e δ故采样信号)(*t e 的拉氏变换])([)()]()([)()(0**⎰∑⎰∑⎰∞∞--∞=∞∞--∞=∞∞---=-==dt e nT t nT e dt e nT t nT e dt e t e s E stn stn stδδ(7-20)由广义脉冲函数的筛选性质⎰∞∞-=-)()()(nT f dt t f nT t δ故有snTst edt e nT t -∞∞--⎰=-)(δ于是,采样信号)(*t e 的拉氏变换可以写为nsTn enT e s E -∞=∑=0*)()( (7-21)和连续信号比较: ⎰∞-=0)()(dt e t e s E st)(1)(t t e =时: s dt e s E st1*1)(0==⎰∞-例7-3 设)(1)(t t e =,试求)(*t e 的拉氏变换。
解 由式(7-26),有...1)()(20*+++==--∞=-∑TsTsn nsTeeenT e s E一个无穷等比级数,公比为Tse-,求和后得闭合形式1,111)(*<-=-=TsTsTsTs e e e e s E 比较: s dt e s E st1*1)(0==⎰∞-显然,)(*s E 是Tse 的有理函数。
但是s 的超越函数例7-4[没有] 设,0,)(≥=-t e t e at为常数,试求t e *的拉氏变换。
matlab 一阶系统 z 变换

一阶系统的z变换在matlab中的应用1. 概述z变换是数字信号处理中常用的一种数学工具,用于将连续时间信号转换为离散时间信号。
在matlab中,z变换可以通过一些函数和工具实现,特别是在一阶系统中,z变换可以起到非常重要的作用。
2. 一阶系统的传递函数一阶系统是指系统的阶数为1的系统,在控制系统和信号处理中有着广泛的应用。
一阶系统的传递函数一般可以表示为:H(z) = (b0 + b1 * z^-1) / (1 + a1 * z^-1)其中,b0、b1、a1为系统的系数,z^-1表示z的倒数。
一阶系统的传递函数可以通过z变换来进行仿真和分析。
3. Matlab中的z变换在matlab中,可以使用zpk、tf和c2d等函数来进行z变换的操作。
其中,zpk函数用于创建或转换零极点模型,tf函数用于创建传递函数模型,c2d函数用于进行连续时间到离散时间的转换。
4. 一阶系统的z变换示例接下来,我们通过一个具体的示例来介绍一阶系统在matlab中的z变换操作。
假设我们有一个一阶系统的传递函数为:H(s) = 1 / (s + 1)我们首先可以使用tf函数来创建传递函数模型:Hs = tf([1], [1, 1])接下来,我们可以使用c2d函数将连续时间系统转换为离散时间系统:Ts = 0.1 离散化时间间隔Hz = c2d(Hs, Ts, 'tustin') 使用tustin方法进行离散化通过以上操作,我们就可以得到一阶系统在离散时间下的传递函数Hz。
5. 仿真分析在得到离散时间下的传递函数后,我们可以使用zpk函数来创建或转换零极点模型,并进行进一步的仿真分析。
我们可以使用zpk函数来获得离散时间下的零极点模型:[z, p, k] = zpkdata(Hz, 'v') 获取零点、极点和增益disp('离散时间下的零点:')disp(z)disp('离散时间下的极点:')disp(p)通过分析离散时间下的零极点,我们可以对系统的稳定性和动态特性进行评估和分析。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字信号处理》
一、课程设计的目的及基本要求:
1. 巩固所学的理论知识。
2.提高综合运用所学理论知识独立分析和解决问题的能力。
3. 更好地将理论与实践相结合。
4.掌握信号分析与处理的基本方法与实现。
5.学习并使用Matlab 语言进行编程实现课题要求。
二、课程设计内容
1、 学习Matlab 软件及应用
2、 学习并研究信号分析与处理课题有关理论
3、利用Matlab 编程,完成相应的信号分析与处理课题
4、写出课程设计报告,打印程序,给出运行结果
(一) 实验目的
(二)
使用ztrans,iztrans 函数分别求出离散时间信号的Z 变换和逆Z 变换的结果,并用pretty 函数进行结果美化。
编写函数时养成良好的注释习惯,有利于对函数的理解。
复习MATLAB 的基本应用,如:help,可以帮助查询相关的函数的使用方法,巩固理论知识中的离散时间信号的传递函数与二次项式之间的转换。
实验项目一Z 变换
(1)求)(])31()21[()(n u n x n
n += Z 变换
clear
syms n
f=0.5^n+(1/3)^n; %定义离散信号
F=ztrans(f) %z 变换
pretty(F); 运算结果
F
(2)4
)(n n x = Z 变换
clear
syms n
f=n^4; %定义离散信号
F=ztrans(f) %Z 变换
pretty(F) 运算结果
(3))sin()(b an n x += Z 变换
clear
syms a b n
f = sin(a*n+b) %定义离散信号
F=ztrans(f) %Z 变换
pretty(F)
运算结果
实验项目二Z 反变换
(1)2)2(2)(-=z z z X Z 反变换 clear
syms k z
Fz=2*z/(z-2)^2; %定义逆Z 变换表达式
fk=iztrans(Fz,k) %逆Z 变换
pretty(fk);
运算结果
(2)1
2)1()(2++-=z z z z z X Z 反变换 clear
syms k z
Fz=z*(z-1)/(z^2+2*z+1); %定义Z 反变换表达式
fk=iztrans(Fz,k) %Z 反变换
pretty(fk);
运算结果
f
(3) 211
cos 211)(---+-+=z
z z z X ω Z 反变换 clear
syms k z w
Fz=(1+z^(-1))/(1-2*z^-1*cos(w)+z^-2); %定义Z 反变换表达式 fk=iztrans(Fz,k) %Z 反变换
pretty(fk); 运算结果。