实验二 离散时间信号与系统的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 变换。