《用matlab绘制差分方程Z变换(共17页).doc》由会员分享,可在线阅读,更多相关《用matlab绘制差分方程Z变换(共17页).doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上数字信号处理(一) 实验目的 使用ztrans,iztrans函数分别求出离散时间信号的Z变换和Z反变换的结果,并用pretty函数进行结果美化。编写函数时养成良好的注释习惯,有利于对函数的理解。复习MATLAB的基本应用,如:help,可以帮助查询相关的函数的使用方法,巩固理论知识中的离散时间信号的传递函数与二次项式之间的转换,以及使用zplane函数画出相关系统的零极点分布图,根据零极点的分布情况估计系统的滤波特性。(二) 程序的运行与截图实验项目一Z变换(1)求 Z变换clear all;close all;clc;syms nf=0.5n+(1/3)n; %定
2、义离散信号F=ztrans(f) %z变换pretty(F);运算结果F(2) Z变换clear all;close all;clc;syms nf=n4; %定义离散信号 F=ztrans(f) %Z变换pretty(F)运算结果(3) Z变换clear all;close all;clc;syms a b nf = sin(a*n+b) %定义离散信号F=ztrans(f) %Z变换pretty(F)运算结果实验项目二Z反变换(1) Z反变换clear all;close all;clc;syms k zFz=2*z/(z-2)2; %定义Z反变换表达式fk=iztrans(Fz,k) %
3、Z反变换pretty(fk); 运算结果(2) Z反变换clear all;close all;clc;syms k zFz=z*(z-1)/(z2+2*z+1); %定义Z反变换表达式fk=iztrans(Fz,k) %Z反变换pretty(fk);运算结果f(3) Z反变换clear all;close all;clc;syms k z wFz=(1+z(-1)/(1-2*z-1*cos(w)+z-2); %定义Z反变换表达式fk=iztrans(Fz,k) %Z反变换pretty(fk);运算结果实验项目三各种模型之间的变换=(1)clear all;close all;clc;b=0
4、0 10 0;%分子的系数数组a=1 -5 8 -4; %分母的系数数组zplane(b,a)% 使用zplane函数绘制如下系统的零极点分布图运算结果(2)clear all;close all;clc;b=0 0 10 0; %分子的系数数组a=1 -5 8 -4; %分母的系数数组r,p,c=residuez(b,a) %使用matlab中的residuez函数,将分解成为多个简单有理分式之和运算结果r = -15.0000 5.0000 10.0000p = 2.0000 2.0000 1.0000c = 0(3)clear all;close all;clc;b=0 0 10 0;
5、%分子的系数数组a=1 -5 8 -4; %分母的系数数组z,p,k=tf2zp(b,a) %使用tf2zp求出系统函数的零、极点和增益运算结果z = 0p = 2.0000 2.0000 1.0000k =10(4)clear all;close all;clc;z=1;-3;%零点,列向量p=2; -4;%极点,列向量k=5; %增益b,a = zp2tf(z,p,k) %根据求出的零、极点和增益,然后自学使用zp2tf还原出 分子和分母的系数运算结果(5)clear all;close all;clc;b=0 0 10 0; %分子的系数数组a=1 -5 8 -4; %分母的系数数组so
6、s,g=tf2sos(b,a) %使用tf2sos将系统函数分解成一系列二阶子系统的级联形式运算结果sos = 0 1.0000 0 1.0000 -2.0000 0 0 1.0000 0 1.0000 -3.0000 2.0000g = 10(6)clear all;close all;clc;sos=0 1.0000 0 1.0000 -2.0000 0; 0 1.0000 0 1.0000 -3.0000 2.0000;g=10;%增益 b,a=sos2tf(sos,g) %根据求出的一系列二阶子系统,使用sos2tf还原出分子和分母的系数运算结果b = 0 0 10 0a = 1 -5
7、 8 -4(7)clear all;close all;clc;b=0 0 10 0; %分子的系数数组a=1 -5 8 -4; %分母的系数数组n=(0:500)*pi/500; %在pi范围内取501个采样点h,w=freqz(b,a,n);%求系统的频率响应subplot(2,1,1),plot(n/pi,abs(h);grid %作系统的幅度频响图axis(0,1,1.1*min(abs(h),1.1*max(abs(h);ylabel(幅度);subplot(2,1,2),plot(n/pi,angle(h);grid %作系统的相位频响图axis(0,1,1.1*min(angle
8、(h),1.1*max(angle(h);ylabel(相位);xlabel(以pi为单位的频率);运行结果(1)clear all;close all;clc;b=0 1 1 1; %分子的系数数组a=1 2 2 2; %分母的系数数组zplane(b,a)% 使用zplane函数绘制如下系统的零极点分布图运行结果(2)clear all;close all;clc;b=0 1 1 1; %分子的系数数组a=1 2 2 2; %分母的系数数组r,p,k=residuez(b,a) %使用matlab中的residuez函数,将分解成为多个简单有理分式之和运行结果r = -0.4006 -0.
9、0497 - 0.1609i -0.0497 + 0.1609ip = -1.5437 -0.2282 + 1.1151i -0.2282 - 1.1151ik = 0.5000(3)clear all;close all;clc;b=0 1 1 1; %分子的系数数组a=1 2 2 2; %分母的系数数组 z,p,k=tf2zp(b,a) %使用tf2zp求出系统函数的零、极点和增益运行结果z = -0.5000 + 0.8660i -0.5000 - 0.8660ip = -1.5437 -0.2282 + 1.1151i -0.2282 - 1.1151ik = 1(4)clear al
10、l;close all;clc;z=-0.5000 + 0.8660i -0.5000 - 0.8660i;p=-1.5437 -0.2282 + 1.1151i -0.2282 - 1.1151i;k=1;b,a=zp2tf(z,p,k) %根据求出的零、极点和增益,使用zp2tf还原出分子和分母的系数运行结果b = 0 1.0000 1.0000 1.0000a = 1.0000 2.0001 2.0001 1.9999(5)clear all;close all;clc;b=0 1 1 1; %分子的系数数组a=1 2 2 2; %分母的系数数组 sos,g=tf2sos(b,a) %使
11、用tf2sos将系统函数分解成一系列二阶子系统的级联形式运行结果sos = 0 1.0000 0 1.0000 1.5437 0 1.0000 1.0000 1.0000 1.0000 0.4563 1.2956g = 1(6)clear all;close all;clc;sos= 0 1.0000 0 1.0000 1.5437 0; 1.0000 1.0000 1.0000 1.0000 0.4563 1.2956;g=1; b,a=sos2tf(sos,g) %根据求出的一系列二阶子系统,自学使用sos2tf还原出分子和分母的系数运行结果b = 0 1 1 1a = 1.0000 2.
12、0000 2.0000 2.0000(7) clear all;close all;clc;b=0 1 1 1; %分子的系数数组a=1 2 2 2; %分母的系数数组n=(0:500)*pi/500; %在pi范围内取501个采样点h,w=freqz(b,a,n);%求系统的频率响应subplot(2,1,1),plot(n/pi,abs(h);grid %作系统的幅度频响图axis(0,1,1.1*min(abs(h),1.1*max(abs(h);ylabel(幅度);subplot(2,1,2),plot(n/pi,angle(h);grid %作系统的相位频响图axis(0,1,1.
13、1*min(angle(h),1.1*max(angle(h);ylabel(相位);xlabel(以pi为单位的频率);运行结果实验项目四根据零极点分布图估计系统的滤波特性。(1)clear all;close all;clc;b=1 1 1 1; %分子的系数数组a=4 0 0 0; %分母的系数数组subplot(3,1,1);zplane(b,a) ; %画零极点图num=1 1 1 1;den=4 0 0 0;H,w=freqz(num,den) %求出频率响应subplot(3,1,3); plot(w,abs(H)xlabel(频率(Hz);ylabel(幅度);title(幅频
14、特性) %画出幅度频率响应 运算结果:由零极点分布及幅频特性可知,本系统为带阻(2)clear all;close all;clc;b=1 -0.1 0; %分子的系数数组a=1 -0.2 0.65; %分母的系数数组subplot(3,1,1);zplane(b,a) ; %画零极点图num=1 -0.1 0;den=1 -0.2 0.65;H,w=freqz(num,den) %求出频率响应subplot(3,1,3); plot(w,abs(H)xlabel(频率(Hz);ylabel(幅度);title(幅频特性) %画出幅度频率响应 运算结果:由零极点分布及幅频特性可知,本系统为带通
15、(3)clear all;close all;clc;b=1 -0.1; %分子的系数数组a=1 -0.2; %分母的系数数组subplot(3,1,1);zplane(b,a) ; %画零极点图num=1 -0.1;den=1 -0.2;H,w=freqz(num,den) %求出频率响应subplot(3,1,3); plot(w,abs(H)xlabel(频率(Hz);ylabel(幅度);title(幅频特性) %画出幅度频率响应 运算结果:由零极点分布及幅频特性可知,本系统为低通(三)实验小结与讨论本实验项目通过使用ztrans,iztrans函数分别求出离散时间信号的Z变换和Z反变
16、换的结果,并用pretty函数进行结果美化。复习MATLAB的基本应用,使用tf2zp,zp2tf对离散时间信号的传递函数,零极点增益之间进行转换,使用sos2tf,tf2sos函数进行传递函数与二次项式之间的转换,以及使用zplane函数画出相关系统的零极点分布图,根据零极点的分布情况估计系统的滤波特性。虽然这些函数都是第一次接触,但是都能通过MATLAB中的help了解相关函数的使用方法,本实验项目需要注意的地方有:(1) 用syms把一些字符定义成基本的字符对象,如离散信号的变量n,和一些系数等等,不然运行不出来,这是我遇到的第一个问题,最后用syms定义之后顺利通过.(2)在知道增益,
17、零极点的情况下求系统分子分母的系数出现了问题例子clear all;close all;clc;z=1;-3;%零点,列向量p=2; -4;%极点,列向量k=5; %增益b,a = zp2tf(z,p,k) %根据求出的零、极点和增益,然后自学使用zp2tf还原出 分子和分母的系数我将z=1,-3;%零点,p=2, -4;%极点写成了行向量,结果出错,在将零极点都改为列向量z=1;-3;%零点,p=2; -4;%极点,或者z=1-3;%零点,列向量p=2-4;%极点,列向量 之后,实验顺利通过.(3)我遇到的第三个问题是不会通过零极点的分布估计滤波特性,于是我将幅频特性画出从图上的幅频特性可以很好的看出该系统的滤波特性,实验醒目顺利通过.(4)个人心得每次做实验,我都不是一下子就成功的,但是我都从失败的例子中汲取经验,从新再来,最终完成目标,失败不可怕,可怕的是不想面对它.专心-专注-专业