实验六 离散信号与系统的Z 变换分析学院 班级 姓名 学号一、 实验目的1、熟悉离散信号Z 变换的原理及性质2、熟悉常见信号的Z 变换3、了解正/反Z 变换的MATLAB 实现方法4、了解离散信号的Z 变换与其对应的理想抽样信号的傅氏变换与拉氏变换之间的关系5、了解利用MATLAB 实现离散系统的频率特性分析的方法二、 实验原理1、 正/反Z 变换Z 变换分析法就是分析离散时间信号与系统的重要手段。
如果以时间间隔s T 对连续时间信号f (t)进行理想抽样,那么,所得的理想抽样信号()f t δ为:()()*()()*()Ts s k f t f t t f t t kT δδδ∞=-∞==-∑理想抽样信号()f t δ的双边拉普拉斯变换F (s)为:()()*()()s ksT st s s k k F s f t t kT e dt f kT e δδ∞∞∞---∞=-∞=-∞⎡⎤=-=⎢⎥⎣⎦∑∑⎰ 若令()()s f kT f k = ,sTs z e =,那么()f t δ的双边拉普拉斯变换F (s)为:()()()sTs k z e k F s f k z F z δ∞-==-∞==∑则离散信号f (k )的Z 变换定义为:()()k k F z f k z ∞-=-∞=∑从上面关于Z 变换的推导过程中可知,离散信号f (k )的Z 变换F(z)与其对应的理想抽样信号()f t δ的拉氏变换F (s)之间存在以下关系:()()sTs z e F s F z δ==同理,可以推出离散信号f (k )的Z 变换F(z)与它对应的理想抽样信号()f t δ的傅里叶变换之间的关系为()()j Ts z e F j F z ωδω==如果已知信号的Z 变换F(z),要求出所对应的原离散序列f (k ),就需要进行反Z 变换,反Z 变换的定义为: 11()()2k f k F z z dz j π-=⎰Ñ 其中,C 为包围1()k F z z -的所有极点的闭合积分路线。
在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 命令对所有需要用到的变量(如t,u,v,w)等进行说明,即要将这些变量说明成符号变量。
例① 用MATLAB 求出离散序列()(0.5)()k f k k ε= 的Z 变换。
MATLAB 程序如下:syms k zf=0、5^k; %定义离散信号Fz=ztrans(f) %对离散信号进行Z 变换运行结果如下:Fz =2*z/(2*z-1)例② 已知一离散信号的Z 变换式为2()21z F z z =- ,求出它所对应的离散信号f (k)。
MATLAB 程序如下:syms k zFz=2* z/(2*z-1); %定义Z 变换表达式fk=iztrans(Fz,k) %求反Z 变换运行结果如下:fk =(1/2)^k2、离散系统的频率特性同连续系统的系统函数H (s)类似,离散系统的系统函数H (z )也反映了系统本身固有的特性。
对于离散系统来说,如果把其系统函数H (z )中的复变量z 换成j T e ω,那么所得的函数()j T H e ω就就是此离散系统的频率响应特性,即离散时间系统的频率响应为:()()()()j T j T j T j z e H e H e e H z ωωωϕω===g其中, ()j T H e ω称为离散系统的幅频特性,()ϕω称为系统的相频特性。
同连续系统一样,离散时间系统的幅频特性也就是频率的偶函数,相频特性也就是频率的齐函数。
由于j T e ω就是频率的周期函数,所以离散系统的频率响应特性也就是频率的周期函数,其周期为2T πΩ=,或者频率周期为2T TπΩ=。
实际上,这就就是抽样系统的抽样频率,而其中的T 则就是系统的抽样周期。
频率响应呈现周期性就是离散系统特性区别于连续系统特性的重要特点。
因此,只要分析()j T H e ω在2T ωπ≤范围内的情况,便可分析出系统的整个频率特性。
鉴于离散系统频率响应特性的特点,为了表示方便起见,我们通常将其中的T ω用一个变量ω来代替,即令j z e ω=代入系统函数H (z )中,用()j H e ω函数来表示离散系统的频率响应特性。
相应地,用()j H e ω表示幅频特性,而相频特性仍用()ϕω来表示。
应该特别注意的就是,虽然这里的变量仍然称为频率变量,但就是它已经不就是原来意义上的角频率概念,而实际上就是表示角度的概念。
我们称之为数字角频率。
它与原来角频率的关系为:T ωω=。
也就就是说,根据离散系统的系统函数H (z ),令其中的j z e ω=,并且代入0~2π范围内不同的频率值(实际上就是角度值),就可以逐个计算出不同频率时的响应,求出离散系统的频率响应特性。
再利用离散系统频率特性的周期性特点(周期为2π),求出系统的整个频率特性。
离散系统的幅频特性曲线与相频特性曲线能够直观地反映出系统对不同频率的输入序列的处理情况。
在函数()j H e ω随ω的变换关系中,在ω=0附近,反映了系统对输入信号低频部分的处理情况,而在ωπ=附近,则反映了系统对输入信号高频部分的处理情况。
一般来说,分析离散系统频率响应特性就要绘制频率响应曲线,而这就是相当麻烦的。
虽然可以通过几何矢量法来定性画出频率响应特性曲线,但一般来说这也就是很麻烦的。
值得庆幸的就是,MATLAB 为我们提供了专门用于求解离散系统频率响应的函数freqz() ,其调用格式如下:[H ,w]=freqz(B,A,N) 其中,B 与A 分别就是表示待分析的离散系统的系统函数的分子,分母多项式的向量,N 为正整数,返回向量H 则包含了离散系统频率响应函数()j H e ω在0~π范围内的N 个频率等分点的值。
向量则包含0~π范围内的N 个频率等分点。
在默认情况下N=512。
[H ,w]=freqqz(B,A,N,'whole') 其中,B,A 与N 的意义同上,而返回向量H 包含了频率响应函数()j H e ω在0~2π范围内N 个频率等分点的值。
由于调用freqz()函数只能求出离散系统频率响应的数值,不能直接绘制曲线图,因此,我们可以先用freqz()函数求出系统频率响应的值,然后再利用MATLAB 的abs()与angle()函数以及plot()命令,即可绘制出系统在0~π或0~2π范围内的幅频特性与相频特性曲线。
例①若离散系统的系统函数为0.5()z H z z-=,请用MATLAB 计算0~π频率范围内10个等分点的频率响应()j H e ω的样值。
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、1545iw =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=angle(H); %求出相频特性值subplot(2,1,1);plot(w,HF) %画出幅频特性曲线subplot(2,1,2);plot(w,HX) %画出相频特性曲线运行结果如下:三、 实验内容1. 求出下列离散序列的Z 变换 (1)1122()()cos()()k k f k k πε=解:syms k z;f = 0、5 ^ k * cos(k * pi / 2);Fz = ztrans(f)结果:Fz =4*z^2/(4*z^2+1) (2)223()(1)()()k f k k k k ε=- 解:syms k zf = k*(k - 1) * (2/3)^k;Fz = ztrans(f)结果:Fz =24*z/(3*z-2)^3(3)3()()(5)f k k k εε=--解:syms k zf = Heaviside(k) - Heaviside(k - 5);Fz = ztrans(f)结果:Fz =1+1/z+1/z^2+1/z^3+1/z^4(4)[]4()(1)()(5)f k k k k k εε=---解:syms k zf = k*(k-1)*(Heaviside(k) - Heaviside(k-5));Fz = ztrans(f)结果:Fz =2/z^4*(z^2+3*z+6)2已知下列单边离散序列的z 变换表达式,求其对应的原离散序列。
(1)2121()2z z F z z z ++=+- 解:syms k zFz = (z^2 + z + 1)/(z^2 + z - 2);f = iztrans(Fz,k)结果:f =-1/2*charfcn[0](k)+1/2*(-2)^k+1 (2)22341111()1F z z z z z=++++ 解:syms z kFz = 1 + 1/z + 1/z^2 + 1/z^3 + 1/z^4;f = iztrans(Fz,k)结果:f =charfcn[0](k)+charfcn[1](k)+charfcn[2](k)+charfcn[3](k)+charfcn[4](k) (3)2342(36)()z z F z z++= 解:syms z kFz = 2*(z^2 + 3*z + 6)/z^4;f = iztrans(Fz)结果:f =12*charfcn[4](k)+6*charfcn[3](k)+2*charfcn[2](k)(4)24(1)()(1)(2)(3)z z z F z z z z ++=+-+ 解:syms z kFz = z*(z^2 + z + 1)/((z + 1)*(z-2)*(z+3));f = iztrans(Fz,k)结果:f =7/15*2^k-1/6*(-1)^k+7/10*(-3)^k3 已知离散系统的系统函数H (z)如下,请绘出系统的幅频与相频特性曲线,并说明系统的作用 (1)122344()()()z H z z z +=++ 解:A = [1 7/6 1/3];B = [4 4];[H w] = freqz(B,A,200,'whole'); HF = abs(H);HX = angle(H);subplot(2,1,1);plot(w,HF) subplot(2,1,2);plot(w,HX)(2)221 ()0.81zH zz-=+解:A = [1 0 0、81];B = [1 0 -1];[H w] = freqz(B,A,200,'whole'); HF = abs(H);HX = angle(H);subplot(2,1,1);plot(w,HF) subplot(2,1,2);plot(w,HX)4已知描述离散系统的差分方程为:() 1.2(1)0.35(2)()0.25(1)y k y k y k f k f k --+-=+- 请绘出系统的幅频与相频特性曲线,并说明系统的作用。