实验二-离散时间信号与系统的Z变换分析
- 格式:docx
- 大小:174.73 KB
- 文档页数:8
(一)离散时间信号的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 的分子与分母多项式的系数向量。
南昌大学实验报告(信号与系统)学生姓名:肖江学号: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画出离散系统的零极点分布图,使我对离散系统的零极点分布与其对用的频响特性有了深刻的了解;同时对全通网络的相频失真有了进一步了解,幅度没有失真,但对不同的频率信号的相移不同,因此单频信号输入时,其输出信号的波形没有失真,只是整个波形发生了移位,但对于方波信号,由于其中包含了各种频率的信号,因此不同频率的信号相频失真不同,因此输出波形不再是方波。
南京邮电大学实验报告实验名称:离散时间信号与系统的时、频域表示离散傅立叶变换和z变换数字滤波器的频域分析和实现数字滤波器的设计课程名称数字信号处理A(双语) 班级学号B13011025姓名陈志豪开课时间2015/2016学年,第1学期实验名称:离散时间信号与系统的时、频域表示实验目的和任务:熟悉Matlab基本命令,理解和掌握离散时间信号与系统的时、频域表示及简单应用。
在Matlab环境中,按照要求产生序列,对序列进行基本运算;对简单离散时间系统进行仿真,计算线性时不变(LTI)系统的冲激响应和卷积输出;计算和观察序列的离散时间傅立叶变换(DTFT)幅度谱和相位谱。
实验内容:基本序列产生和运算:Q1.1~1.3,Q1.23,Q1.30~1.33离散时间系统仿真:Q2.1~2.3LTI系统:Q2.19,Q2.21,Q2.28DTFT:Q3.1,Q3.2,Q3.4实验过程与结果分析:Q1.1运行程序P1.1,以产生单位样本序列u[n]并显示它。
clf;n = -10:20;u = [zeros(1,10) 1 zeros(1,20)];stem(n,u);xlabel('Time index n');ylabel('Amplitude');title('Unit Sample Sequence');axis([-10 20 0 1.2]);Q1.2 命令clf,axis,title,xlabel和ylabel命令的作用是什么?答:clf命令的作用:清除图形窗口上的图形;axis命令的作用:设置坐标轴的范围和显示方式;title命令的作用:给当前图片命名;xlabel命令的作用:添加x坐标标注;ylabel c命令的作用:添加y坐标标注;Q1.3修改程序P1.1,以产生带有延时11个样本的延迟单位样本序列ud[n]。
运行修改的程序并显示产生的序列。
clf;n = -10:20;u = [zeros(1,21) 1 zeros(1,9)];stem(n,u);xlabel('Time index n');ylabel('Amplitude');title('Unit Sample Sequence');axis([-10 20 0 1.2]);Q1.23修改上述程序,以产生长度为50、频率为0.08、振幅为2.5、相移为90度的一个正弦序列并显示它。
《数字信号处理》—实验指导数字信号处理课程组电子与信息工程学院班级:姓名:学号:综合评定:成绩:指导教师签字:实验一 典型离散信号及其MATLAB 实现一、实验目的1. 掌握MATLAB 语言的基本操作,学习基本的编程功能。
2. 掌握MATLAB 产生常用离散时间信号的编程方法。
3. 掌握MATLAB 计算卷积的方法。
二、实验原理(一)MATLAB 常用离散时间信号1. 单位抽样序列:⎩⎨⎧=01)(n δ 00≠=n n在MATLAB 中可以利用zeros()函数实现。
;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ 0≠=n kn2.单位阶跃序列:⎩⎨⎧01)(n u<≥n n 在MATLAB 中可以利用ones()函数实现。
);,1(N ones x =3.正弦序列:)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中:)/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复正弦序列:n j e n x ϖ=)(在MATLAB 中:)**ex p(1:0n w j x N n =-=5.指数序列:na n x =)(在MATLAB 中:na x N n .^1:0=-=6.y=fliplr(x)——信号的翻转; y=square(x)——产生方波信号y=sawtooth(x)——产生锯齿波信号; y=sinc(x)——产生sinc 函数信号。
(二)离散时间信号的卷积由于系统的零状态响应是激励与系统的单位取样响应的卷积,因此卷积运算在离散时间信号处理领域被广泛应用。
离散时间信号的卷积定义为∑∞-∞=-==m m n h m x n h n x n y )()()(*)()(可见,离散时间信号的卷积运算是求和运算,因而常称为“卷积和”。
MATLAB 求离散时间信号卷积和的命令为conv ,其语句格式为y=conv(x,h)其中,x 与h 表示离散时间信号值的向量;y 为卷积结果。
Z变换及离散时间系统分析Z变换是一种用于描述离散时间系统的重要数学工具。
离散时间系统是指信号的取样点在时间上离散的系统。
而Z变换可以将离散时间信号从时域(时间域)转换到频域(复频域),并在频域进行分析和处理。
Z变换在数字信号处理、控制系统和通信系统等领域有着广泛的应用。
Z变换的定义为:\[ X(z) = \sum_{n=0}^{+\infty} x(n)z^{-n} \]其中,\(x(n)\)表示离散时间信号,\(X(z)\)表示该信号的Z变换,\(z\)表示复变量。
通过对离散时间系统的输入信号进行Z变换后,可以得到系统的传递函数。
系统的传递函数是指系统的输出与输入之间的关系。
在离散时间系统中,传递函数可以表示为:\[ H(z) = \frac{Y(z)}{X(z)} \]其中,\(Y(z)\)表示系统的输出信号,\(X(z)\)表示系统的输入信号。
通过Z变换可以对离散时间系统进行频域分析。
频域分析可以用来研究离散时间系统的频率特性,比如系统的频率响应、幅频特性、相频特性等。
频域分析可以揭示系统在不同频率下对信号的处理情况,对于设计和优化离散时间系统非常有帮助。
Z变换具有一些重要的性质,可以方便地对离散时间系统进行分析和计算。
其中一些常用的性质包括:1. 线性性质:对于任意常数\(a\)和\(b\),以及信号\(x(n)\)和\(y(n)\),有\(Z(a \cdot x(n) + b \cdot y(n)) = a \cdot X(z) + b \cdot Y(z)\)。
这个性质说明Z变换对线性系统是可加性的。
2. 移位性质:如果将信号\(x(n)\)向左或向右移动\(k\)个单位,那么它的Z变换\(X(z)\)也将发生相应的移位,即\(Z(x(n-k)) = z^{-k} \cdot X(z)\)。
这个性质说明Z变换对系统的时移(时延)是敏感的。
3. 初值定理:如果离散时间信号\(x(n)\)在n=0处存在有限值,那么在Z变换中,它的初值可以通过计算\(X(z)\)在z=1处的值得到,即\(x(0) = \lim_{z \to 1}X(z)\)。
实验二 离散时间信号与系统的Z 变换分析一、 实验目的1、 熟悉离散信号Z 变换的原理及性质2、 熟悉常见信号的 Z 变换3、 了解正/反Z 变换的MATLAB 实现方法4、 了解离散信号的Z 变换与其对应的理想抽样信号的傅氏变换和拉氏变换之间的关系5、 了解利用MATLAB 实现离散系统的频率特性分析的方法二、 实验原理1、正/反Z 变换Z 变换分析法是分析离散时间信号与系统的重要手段。
如果以时间间隔T s 对连续时间信号f (t)进行理想抽样,那么,所得的理想抽样信号f (t)为:则离散信号f (k )的Z 变换定义为:kF(z) f(k)zk从上面关于Z 变换的推导过程中可知,离散信号 f (k )的Z 变换 拉氏变换F (s)之间存在以下关系:F (s) F(z)同理,可以推出离散信号 f (k )的Z 变换F(z)和它对应的理想抽样信号F(j ) F(z)z e j Tsf (t)f(t)* Ts (t) f (t)(t kT s )理想抽样信号 f (t)的双边拉普拉斯变换F (s)为:F (s)f(t)*k(t kT s )e stdt f (kT s )e ksT sk若令f (kT s )f(k) , z e sTi , 那么f (t)的双边拉普拉斯变换F (s)为:F (s)f(k)z kFO zesIF(z)与其对应的理想抽样信号f (t)的f (t)的傅里叶变换之间的关系为如果已知信号的Z变换F(z),要求出所对应的原离散序列f(k),就需要进行反Z变换,其中,C为包围F(z)z k1的所有极点的闭合积分路线。
在MATLAB语言中有专门对信号进行正反Z变换的函数ztrans()和itrans() 下:F=ztrans( f ) 对f(n)进行Z变换,其结果为 F(z)F=ztrans(f,v) 对f(n)进行Z变换,其结果为F(v)F=ztrans(f,u,v) 对f(u)进行Z变换,其结果为F(v)f=itrans ( F ) 对F(z)进行Z反变换,其结果为f(n)f=itrans(F,u) 对F(z)进行Z反变换,其结果为 f(u) f=itrans(F,v,u ) 对F(v)进行Z反变换,其结果为 f(u)注意:在调用函数ztran()及iztran()之前,要用syms命令对所有需要用到的变量行说明,即要将这些变量说明成符号变量。
k例①.用MATLAB求出离散序列f(k) (0.5) (k)的Z变换MATLAB程序如下:syms k zf=0.5A k; %定义离散信号Fz =2*z/(2*z-1)clc;clear all syms n hn=sym( 'kroneckerDelta(n, 1) + kroneckerDelta(n, 2)+ kroneckerDelta(n, 3)'Hz=ztra ns(h n)Hz=simplify(Hz)反Z变换的定义为:f(k) 21j?F(z)z k1dz其调用格式分别如t,u,v,w )等进Fz=ztrans(f)运行结果如下:%对离散信号进行Z变换例②.已知一离散信号的Z变换式为F(z)2z2z 1,求出它所对应的离散信号f(k)MATLAB程序如下:syms k zFz=2* z/(2*z-1);fk=iztra ns(F z,k)运行结果如下:fk = %定义Z变换表达式%求反Z变换例③:求序列f (k)(k 1) (t 4)的Z 变换.2、离散系统的频率特性同连续系统的系统函数 H (s)类似,离散系统的系统函数散系统来说,如果把其系统函数H (z )中的复变量z 换成e jej T s(其中H (e j )就是此离散系统的频率响应特性,即离散时间系统的频率响应为:其中, H(e j)称为离散系统的幅频特性,()称为系统的相频特性。
同连续系统一样,离散时间系统的幅频特性也是频率的偶函数,相频特性也是频率的齐函数。
由于e j是频率的周期函数,所以离散系统的频率响应特性也是频率的周期函数,其周期为2 , 2或者角频率周期为T——。
实际上,这就是抽样系统的抽样频率,而其中的T 则是系统的抽样周期。
Ts频率响应呈现周期性是离散系统特性区别于连续系统特性的重要特点。
因此,只要分析H(e j)在| | 2范围内的情况,便可分析出系统的整个频率特性。
H (e j )函数来表示离散系统的频率响应特性,|H(e j )表示幅频特性,而相频特性仍用()来表示。
应该特别 注意的是,虽然这里的变量仍然称为频率变量, 但是它已经不是原来意义上的角频率概念,而实际上是表示 角度的概念。
我们称之为 数字频率。
它与原来角频率的关系为:T s 。
也就是说,根据离散系统的系统函数 H (z ),令其中的z e j,并且代入0〜2范围内不同的频率值(实际上是角度值), 就可以逐个计算出不同频率时的响应,求出离散系统的频率响应特性。
再利用离散系统频率特性的周期性 特点(周期为2),求出系统的整个频率特性。
离散系统的幅频特性曲线和相频特性曲线能够直观地反映出系统对不同频率的输入序列的处理情况。
在函数H(e j)随 的变换关系中,在=0附近,反映了系统对输入信号低频部分的处理情况, 而在 =附近,则反映了系统对输入信号高频部分的处理情况。
一般来说,分析离散系统频率响应特性就要绘制频率响应曲线,而这是相当麻烦的。
虽然可以通过 几何矢量法来定性画出频率响应特性曲线, 但一般来说这也是很麻烦的。
值得庆幸的是,MATLAB 为我们提供了专门用于求解离散系统频率响应的函数freqz(),其调用格式如下:[H ,w]=freqz(B,A,N)其中,B 和A 分别是表示待分析的离散系统的系统函数的分子,分母多项式的向量,N 为正整数,返回向量 H 则包含了离散系统频率响应函数 H(e j )在0~ 范围内的N 个频率等分点的值。
向量则包含0~ 范围内的N 个频率等分点。
在默认情况下N=512。
[H ,w]=freqz(B,A,N,'whole')其中,B, A 和N 的意义同上,而返回向量 H 包含了频率响应函数H(e j)在0~2范围内N 个频率等分点的值。
由于调用freqz()函数只能求出离散系统频率响应的数值,不能直接绘制曲线图,因此,我们可以先 用freqz()函数求出系统频率响应的值,然后再利用MATLAB 的abs()和angle()函数以及plot()命令,即可绘制出系统在0 ~ 或0 ~ 2 范围内的幅频特性和相频特性曲线。
H(e j ) |H(e j ) ge j ()H(z )zH (z )也反映了系统本身固有的特性。
对于离T s ),那么所得的函数例①.若离散系统的系统函数为H (z)-——,请用MATLAB计算0~ 频率范围内10个等分点的频z率响应H(e j )的样值。
MATLAB程序如下:A=[1 0];B=[1 -0.5]; %分母多项式系数向量%分子多项式系数向量[H,w]=freqz(B,A,10) %求出对应0~ 范围内10个频率点的频率响应样值运行结果如下:H =0.50000.5245 + 0.1545i0.5955 + 0.2939i0.7061 + 0.4045i0.8455 + 0.4755i1.0000 + 0.5000i1.1545 + 0.4755i1.2939 + 0.4045i1.4045 + 0.2939i1.4755 + 0.1545i w =0.31420.62830.94251.25661.57081.88502.19912.51332.8274例②.用MATLAB计算前面离散系统在0~2频率范围内200个频率等分点的频率响应值,并绘出相应的幅频特性和相频特性曲线。
MATLAB程序如下:A=[1 0];B=[1 -0.5];[H,w]=freqz(B,A,200);[H,w]=freqz(B,A,200,'whole'); %求出对应0~2 范围内200个频率点的频率响 %应样值HF=abs(H); %求出幅频特性值HX=a ngle(H); %求出相频特性值subplot(2,1,1);plot(w,HF)subplot(2,1,2);plot(w,HX) 运行结果如下:运行结果分析:从该系统的幅频特性曲线可以看出,该系统呈高通特性,是一阶高通滤波器。
已知离散系统的系统函数 H (z)如下,请绘出系统的幅频和相频特性曲线,并说明系统的作用 4z 4H(z)H(z) ^z—z 20.814. 已知描述离散系统的差分方程为:y(k) 1.2y(k 1) 0.35y(k 2) e(k) 0.25e(k 1)实验内容1. 求出下列离散序列的 Z 变换 ① f i (k) (2)k cos(・)(k)② f 2(k) k(k 1)(|)k (k)③ f 3(k)(k) (k 5)④f (k) k(k 1) (k) (k 5)① R(z)已知下列单边离散序列的z 2 z 1z 变换表达式,求其对应的原离散序列。
② F 2(Z )③ F 3(Z )F 4⑵3z z 厂 z(z 2 z 1)(z 1)(z 2)(z 3)2(6) 3.%画出幅频特性曲线 %画出相频特性曲线请绘出系统的幅频和相频特性曲线,并说明系统的作用。
四、 预习要求1 、 熟悉正反 z 变换的意义及用 MATLAB 软件实现的方法2 、 熟悉离散系统的频率响应特性及用 MATLAB 软件实现的方法3 、 编写 MATLAB 程序五、 实验报告要求1 、 简述实验目的及实验原理2 、 计算相应 z 变换或反 z 变换的理论值,并与实验结果进行比较3 、 记录离散系统的频率响应特性曲线,分析系统作用4 、 写出程序清单5 、 收获与建议%参考程序% 三 1. ① clc;clear all syms k z f1=0.5Ak*cos(k*pi/2); Fz1=ztrans(f1) % 实验二 1. ② f2=k*(k-1)*(2/3)A k; Fz2=ztrans(f2) % 实验二 1. ③f3=sym('kroneckerDelta(n, 1) + kroneckerDelta(n, 2)+ kroneckerDelta(n, 3)') Fz3=ztrans(f3) Fz3=simplify(Fz3) % 实验二 1. ④f4=k*(k-1)*sym('kroneckerDelta(k, 1) + kroneckerDelta(k, 2)+ kroneckerDelta(k, 3)');% 定义离散信号Fz4=ztrans(f4) Fz4=simplify(Fz4)%定义离散信号 %对离散信号进行 Z 变换%定义离散信号 %对离散信号进行 Z 变换。