《山东大学《生物医学信号处理》实验2离散时间信号与系统的Z变换分析》由会员分享,可在线阅读,更多相关《山东大学《生物医学信号处理》实验2离散时间信号与系统的Z变换分析(6页珍藏版)》请在金锄头文库上搜索。
1、实验2 离散时间信号与系统的Z变换分析一、 实验目的1、熟悉离散信号Z变换的原理及性质2、熟悉常见信号的Z变换3、了解正/反Z变换的MATLAB实现方法4、了解离散信号的Z变换与其对应的理想抽样信号的傅氏变换和拉氏变换之间的关系5、了解利用MATLAB实现离散系统的频率特性分析的方法二、实验原理1、正/反Z变换Z变换分析法是分析离散时间信号与系统的重要手段。如果以时间间隔对连续时间信号f(t)进行理想抽样,那么,所得的理想抽样信号为:理想抽样信号的双边拉普拉斯变换Fd (s)为:若令 , , 那么的双边拉普拉斯变换Fd (s)为:则离散信号f(k)的Z变换定义为: 从上面关于Z变换的推导过程中
2、可知,离散信号f(k)的Z变换F(z)与其对应的理想抽样信号的拉氏变换Fd (s)之间存在以下关系: 同理,可以推出离散信号f(k)的Z变换F(z)和它对应的理想抽样信号的傅里叶变换之间的关系为 如果已知信号的Z变换F(z),要求出所对应的原离散序列f(k),就需要进行反Z变换,反Z变换的定义为: 其中,C为包围的所有极点的闭合积分路线。在MATLAB语言中有专门对信号进行正反Z变换的函数ztrans( ) 和itrans( )。其调用格式分别如下:l F=ztrans( f ) 对f(n)进行Z变换,其结果为F(z)l F=ztrans(f,v) 对f(n)进行Z变换,其结果为F(v)l F
3、=ztrans(f,u,v) 对f(u)进行Z变换,其结果为F(v)l f=itrans ( F ) 对F(z)进行Z反变换,其结果为f(n)l f=itrans(F,u) 对F(z)进行Z反变换,其结果为f(u)l f=itrans(F,v,u ) 对F(v)进行Z反变换,其结果为f(u)注意: 在调用函数ztran( )及iztran( )之前,要用syms命令对所有需要用到的变量(如t,u,v,w)等进行说明,即要将这些变量说明成符号变量。例用MATLAB求出离散序列 的Z变换MATLAB程序如下:syms k zf=0.5k; %定义离散信号Fz=ztrans(f) %对离散信号进行Z
4、变换运行结果如下:Fz = 2*z/(2*z-1)例已知一离散信号的Z变换式为 ,求出它所对应的离散信号f(k)MATLAB程序如下:syms k zFz=2* z/(2*z-1); %定义Z变换表达式fk=iztrans(Fz,k) %求反Z变换运行结果如下:fk = (1/2)k例:求序列的Z变换.clc;clear allsyms n hn=sym(kroneckerDelta(n, 1) + kroneckerDelta(n, 2)+ kroneckerDelta(n, 3)Hz=ztrans(hn)Hz=simplify(Hz)2、离散系统的频率特性同连续系统的系统函数H(s)类似,
5、离散系统的系统函数H(z)也反映了系统本身固有的特性。对于离散系统来说,如果把其系统函数H(z)中的复变量z换成(其中),那么所得的函数就是此离散系统的频率响应特性,即离散时间系统的频率响应为:其中, 称为离散系统的幅频特性,称为系统的相频特性。同连续系统一样,离散时间系统的幅频特性也是频率的偶函数,相频特性也是频率的齐函数。由于是频率w的周期函数,所以离散系统的频率响应特性也是频率w的周期函数,其周期为,或者角频率周期为。实际上,这就是抽样系统的抽样频率,而其中的T则是系统的抽样周期。频率响应呈现周期性是离散系统特性区别于连续系统特性的重要特点。因此,只要分析在范围内的情况,便可分析出系统的
6、整个频率特性。函数来表示离散系统的频率响应特性, 表示幅频特性,而相频特性仍用来表示。应该特别注意的是,虽然这里的变量w仍然称为频率变量,但是它已经不是原来意义上的角频率概念,而实际上是表示角度的概念。我们称之为数字频率。它与原来角频率的关系为:。也就是说,根据离散系统的系统函数H(z),令其中的,并且代入0范围内不同的频率值(实际上是角度值),就可以逐个计算出不同频率时的响应,求出离散系统的频率响应特性。再利用离散系统频率特性的周期性特点(周期为2p),求出系统的整个频率特性。离散系统的幅频特性曲线和相频特性曲线能够直观地反映出系统对不同频率的输入序列的处理情况。在函数随w的变换关系中,在w
7、=0附近,反映了系统对输入信号低频部分的处理情况,而在w=p附近,则反映了系统对输入信号高频部分的处理情况。一般来说,分析离散系统频率响应特性就要绘制频率响应曲线,而这是相当麻烦的。虽然可以通过几何矢量法来定性画出频率响应特性曲线,但一般来说这也是很麻烦的。值得庆幸的是,MATLAB为我们提供了专门用于求解离散系统频率响应的函数freqz() ,其调用格式如下:l H,w=freqz(B,A,N) 其中,B和A分别是表示待分析的离散系统的系统函数的分子,分母多项式的向量,N为正整数,返回向量H则包含了离散系统频率响应函数在范围内的N个频率等分点的值。向量w则包含范围内的N个频率等分点。在默认情
8、况下N=512。l H,w=freqz(B,A,N,whole) 其中,B,A和N的意义同上,而返回向量H包含了频率响应函数在范围内N个频率等分点的值。由于调用freqz()函数只能求出离散系统频率响应的数值,不能直接绘制曲线图,因此,我们可以先用freqz()函数求出系统频率响应的值,然后再利用MATLAB的abs()和angle()函数以及plot()命令,即可绘制出系统在或范围内的幅频特性和相频特性曲线。例若离散系统的系统函数为,请用MATLAB计算频率范围内10个等分点的频率响应的样值。 MATLAB程序如下:A=1 0; %分母多项式系数向量B=1 -0.5; %分子多项式系数向量H
9、,w=freqz(B,A,10) %求出对应范围内10个频率点的频率响应样值运行结果如下:H = 0.5000 0.5245 + 0.1545i 0.5955 + 0.2939i 0.7061 + 0.4045i 0.8455 + 0.4755i 1.0000 + 0.5000i 1.1545 + 0.4755i 1.2939 + 0.4045i 1.4045 + 0.2939i 1.4755 + 0.1545iw = 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 2.1991 2.5133 2.8274例用MATLAB计算前面离散系统在频率范围内20
10、0个频率等分点的频率响应值,并绘出相应的幅频特性和相频特性曲线。MATLAB程序如下:A=1 0;B=1 -0.5;H,w=freqz(B,A,200);H,w=freqz(B,A,200,whole); %求出对应范围内200个频率点的频率响%应样值HF=abs(H); %求出幅频特性值HX=angle(H); %求出相频特性值subplot(2,1,1);plot(w,HF) %画出幅频特性曲线subplot(2,1,2);plot(w,HX) %画出相频特性曲线运行结果如下:运行结果分析:从该系统的幅频特性曲线可以看出,该系统呈高通特性,是一阶高通滤波器。三、 实验内容1 求出下列离散序
11、列的Z变换 2 已知下列单边离散序列的z变换表达式,求其对应的原离散序列。 3.已知离散系统的系统函数H (z)如下,请绘出系统的幅频和相频特性曲线,并说明系统的作用 4. 已知描述离散系统的差分方程为:请绘出系统的幅频和相频特性曲线,并说明系统的作用。四、 预习要求1、 熟悉正反z变换的意义及用MATLAB软件实现的方法2、 熟悉离散系统的频率响应特性及用MATLAB软件实现的方法3、 编写MATLAB程序五、 实验报告要求1、 简述实验目的及实验原理2、 计算相应z变换或反z变换的理论值,并与实验结果进行比较3、 记录离散系统的频率响应特性曲线,分析系统作用4、 写出程序清单5、 收获与建
12、议%参考程序%三 1.clc;clear allsyms k z f1=0.5k*cos(k*pi/2); %定义离散信号Fz1=ztrans(f1) %对离散信号进行Z变换% 实验二 1. f2=k*(k-1)*(2/3)k; %定义离散信号Fz2=ztrans(f2) %对离散信号进行Z变换% 实验二 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)6