实验二离散时间信号与系统的Z变换分析一、实验目的1、熟悉离散信号z变换的原理及性质2、熟悉常见信号的Z变换3、了解正/反Z变换的MATLAB实现方法4、了解离散信号的Z变换与其对应的理想抽样信号的傅氏变换和拉氏变换Z间的关系5、了解利用MATLAB实现离散系统的频率特性分析的方法二、实验原理1、正/反Z变换Z变换分析法是分析离散时间信号与系统的重要手段。
如果以时间间隔Ts对连续时间信号f(t)进行理想抽样,那么,所得的理想抽样信号 f (t)为:理想抽样信号f (t)的双边拉普拉斯变换 F (s)为:F(s)f(t广k (t kTs) e st dt f (kTs)e ksT sk若令f (kTs)f(k),z esTi,那么f (t)的双边拉普拉斯变换F(s)为:F(s)f(k)z k FOzesI则离散信号f(k)的Z变换定义为:F(z) f(k)zf (t) 惟广Ts(t) f (t)从上面关于Z变换的推导过程中可知,离散信号 f (k)的Z变换F(z)与其对应的理想抽样信号 f (t)的拉氏变换F (s)之间存在以下关系:F (s) F(z)f⑴的傅里叶变换之间的尖系为同理,可以推出离散信号f(k)的Z变换F(z)和它对应的理想抽样信号F(j ) F(z)MATLAB 程序如下:syms k z Fz=2* z/(2*z-1); fk=iztra ns(Fz,k)运行结果如下:fk =例③:求序列f (k)clc;clear all syms n hn=sym( ' kroneckerDelta(n, 1) + kroneckerDelta(n, 2) + kroneckerDelta(n, 3)'如果已知信号的Z 变换F(z),要求出所对应的原离散序列 f (k),就需要进行反Z 变换,f(k)2〔j?F ⑵ Zk1dz其屮,C 为包围F (z)z kl的所有极点的闭合积分路线。
在MATLAB 语言1+1有专门对信号进行正反 Z 变换的函数ztrans ()和itransO下: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)注意:在调用函数ztranO 及iztran()之前,要用syms 命令对所有需要用到的变量 行说明,即要将这些变量说明成符号变量。
反Z 变换的定义为:其调用格式分别如t,u,v,w )等进例①.用MATLAB 求出离散序列f (k) (0. 5)(k)的Z 变换MATLAB 程序如下:syms k z f 二0.5%;%定义离散信号Fz=ztra %对离散信号进行Z 变换ns(f)Fz 二 2*z/(2*z-l)例②•已知一离散信号的z 变换式为F(z)2z 2z 1,求出它所对应的离散信号 f(k)%定义Z 变换表达式 %求反Z 变换Hz=ztra ns(h n) Hz=simplify(Hz)2、离散系统的频率特性同连续系统的系统函数H(s)类似,离散系统的系统函数H(Z)也反映了系统本身固有的特性。
对于离散系统来说,如果把其系统函数H(z)+的复变量z换成9 e jT=(其中Ts),那么所得的函数H (e J)就是此离散系统的频率响应特性,即离散时间系统的频率响应为:H(e J ) H(e J ) ge J !l H(z)z其中,H(e J)称为离散系统的幅频特性,()称为系统的相频特性。
同连续系统一样,离散时间系统的幅频特性也是频率的偶函数,相频特性也是频率的齐函数。
由于3是频率的周期函数,所以离散系统的频率响应特性也是频率的周期函数,其周期为2 ,2或者角频率周期为T ——。
实际上,这就是抽样系统的抽样频率,而其屮的T则是系统的抽样周期。
TS频率响应呈现周期性是离散系统特性区别于连续系统特性的重要特点。
因此,只要分析H(e」)在 2范围内的情况,便可分析出系统的整个频率特性。
H (e J)函数来表示离散系统的频率响应特性,|H(e」)表示幅频特性,而相频特性仍用()来表示。
应该特別注意的是,虽然这里的变量仍然称为频率变量,但是它已经不是原来意义上的角频率概念, 而实际上是表示角度的概念。
我们称之为数字频率。
它与原来角频率的关系为:Ts。
也就是说,根据离散系统的系统函数H(z),令其屮的z e J,并且代入0〜2范围内不同的频率值(实际上是角度值),就可以逐个计算岀不同频率时的响应,求出离散系统的频率响应特性。
再利用离散系统频率特性的周期性特点(周期为2 ),求出系统的整个频率特性。
离散系统的幅频特性曲线和相频特性曲线能够直观地反映出系统对不同频率的输入序列的处理情况。
在函数H(e,)随的变换关系中,在二0附近,反映了系统对输入信号低频部分的处理情况,而在二附近,则反映了系统对输入信号高频部分的处理情况。
一般来说,分析离散系统频率响应特性就要绘制频率响应曲线,而这是相当麻烦的。
虽然可以通过几何矢量法来定性画出频率响应特性曲线,但一般来说这也是很麻烦的。
值得庆幸的是,MATLAB为我们提供了专门用于求解离散系统频率响应的函数freqz (),其调用格式如下:田,w]-freqz (B,A,N) 其中,B和A分别是表示待分析的离散系统的系统函数的分子,分母多项式的向量,N为正整数,返回向量H则包含了离散系统频率响应函数H(e」)在0、范围内的N个频率等分点的值。
向量则包含0范围内的N个频率等分点。
在默认情况下2512。
田,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范围内的幅频特性和相频特性曲线。
例①.若离散系统的系统函数为 n乜丿一—'Z 率响应H(e ,)的样值。
MATLAB 程序如下:请用MATLAB 计算0 频率范围内10个等分点的频%分母多项式系数向量 %分子多项式系数向量%求出对应0 范围内10个频率点的频率响应样值0. 50000. 5245 + 0. 1545i 0. 5955 + 0. 2939i 0. 7061 + 0. 4045i 0. 8455 + 0. 47551 1. 0000 + 0. 5000i 1. 1545 + 0. 4755i1. 2939 + 0. 4045i1.4045 + 0. 2939i 1.4755 + 0. 1545i w 二0 0. 3142 0. 6283 0. 9425 1. 2566 1. 5708 1.8850 2. 1991 2. 51332. 8274例②.用MATLAB 计算前面离散系统在0 2频率范围内200个频率等分点的频率响应值, 的幅频特性和相频特性曲线。
MATLAB 程序如下:A 二[1 0];A 二[1 0];B 二[1 -0. 5];[H, w]=freqz (B, A, 10)运行结果如下:并绘出相应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) 运行结果如下:运行结果分析:从该系统的幅频特 性曲线可以看出,该系统呈高通特 性,是一阶高通滤波器。
3. 已知离散系统的系统函数y (k) 1. 2y (k 1) 0. 35y (k 2) e (k) 0. 25e (k 1)三、实验内容1.求出下列离散序列的 Z 变换① fi(k)(2)kcos(・)(k) ② f 2(k) k(k1)(|)k (k)③ fa(k) (k) (k 5)%画出幅频特性曲线H(z)「-z 2 0.81%画出相频特性曲线H(z)如下,请绘岀系统的幅频和相频特性曲线,并说明系统的作用4z 4H(z)4. 已知描述离散系统的差分方程为:已知下列单边离散序列的Z变换表达式,求其对应的原离散序列。
Z2 Z 1①R(z) ---------------②F2⑵③F3⑵ 21—誥」---------------------------------------------------Z(Z? Z 1) FX2) (z1)(z 2)(z 3)请绘出系统的幅频和相频特性曲线,并说明系统的作用。
四、 预习要求1、 熟悉正反Z 变换的意义及用MATLAB 软件实现的方法2、 熟悉离散系统的频率响应特性及用MATLAB 软件实现的方法3、 编写MATLAB 程序五、 实验报告要求1 、简述实验目的及实验原理2、 计算相应z 变换或反z 变换的理论值,并与实验结果进行比较3、 记录离散系统的频率响应特性曲线,分析系统作用4 、写出程序清单5 、收获与建议%参考程序% 三 1. ① clc;clear all syms k zf3=sym(,kroneckerDelta(n, 1) + kroneckerDelta(n, 2)+ kroneckerDelta(n, 3)')Fz3=z trans(f3)Fz3=simplify(Fz3)%实验二1.④f4=k*(k-1)*sym(,kroneckerDelta(k, 1) + kroneckerDelta(k, 2)+ kroneckerDelta(k, 3)'); 离散信f1=0. 5Ak*cos(k*pi/2);Fzl=ztrans (fl) % 实验 二 1.② f2二k*(k-l)*(2/3)»;Fz2=z trans (f2) %实验二1.③ %定义离散信号%对离散信号进行Z 变换%定义离散信号%对离散信号进行Z 变换%定义号Fz4=z trans(f4)Fz4二simplify(Fz4)。