matlab实验四 系统的零极点分析
- 格式:doc
- 大小:85.00 KB
- 文档页数:7
实验报告课程名称:数字信号处理实验四:离散系统分析班级:通信1403学生姓名:强亚倩学号:1141210319指导教师:范杰清页脚内容1页脚内容2华北电力大学(北京)一、实验目的深刻理解离散时间系统的系统函数在分析离散系统的时域特性、频域特性以及稳定性中的重要作用及意义,熟练掌握利用MATLAB 分析离散系统的时域响应、频响特性和零极点的方法。
掌握利用DTFT 和DFT 确定系统特性的原理和方法。
二、实验原理MATLAB 提供了许多可用于分析线性时不变连续系统的函数,主要包含有系统函数、系统时域响应、系统频域响应等分析函数。
1. 离散系统的时域响应在调用MATLAB 函数时,需要利用描述该离散系统的系数函数。
对差分方程进行Z 变换即可得系统函数:在MATLAB 中可使用向量a 和向量b 分别保存分母多项式和分子多项式的系数:这些系数均从z 0按z 的降幂排列。
2.离散系统的系统函数零极点分析离散LTI 系统的系统函数H (z )可以表示为零极点形式:))...()(())...()((1)()()(2121)1(111)1(1110N M N N N N M M M M p z p z p z z z z z z z k z a z a z a z b z b z b b z X z Y z H ------=++++++++==---------- )()(1)()()()1(111)1(1110z a z b z a z a z a z b z b z b b z X z Y z H N N N N M M M M =++++++++==---------- ],,,,1[11N N a a a a -= ],,,,[110M M b b b b b -=页脚内容3使用MATLAB 提供的roots 函数计算离散系统的零极点;使用zplane 函数绘制离散系统的零极点分布图。
注意:在利用这些函数时,要求H (z )的分子多项式和分母多项式的系数的个数相等,若不等则需要补零。
电源零极点 matlab介绍在电力系统中,电源是一个重要的组成部分,它为电力设备提供所需的电能。
电源的性能直接影响到电力系统的稳定性和可靠性。
为了更好地了解电源的特性和行为,我们可以使用Matlab来进行分析和模拟。
什么是零极点在电源的分析中,零极点是非常重要的概念。
零点是电源传递函数中使得输出为零的输入值,而极点则是使得传递函数无穷大的输入值。
了解电源的零极点分布可以帮助我们更好地理解电源的频率响应和稳定性。
使用Matlab分析电源的零极点Matlab是一个功能强大的数学计算软件,它提供了丰富的工具和函数来进行电源的分析。
以下是使用Matlab分析电源零极点的一般步骤:1. 定义电源传递函数首先,我们需要定义电源的传递函数。
传递函数是描述输入和输出之间关系的数学表达式。
在Matlab中,可以使用tf函数来定义传递函数。
例如,如果我们有一个传递函数为s/(s+1)的电源,可以使用以下代码进行定义:num = [1];den = [1, 1];sys = tf(num, den);2. 绘制零极点图接下来,我们可以使用zpk函数来获取电源的零极点信息,并使用zplane函数来绘制零极点图。
零极点图可以帮助我们直观地了解电源的频率响应和稳定性。
以下是绘制零极点图的代码示例:[z, p, k] = zpkdata(sys);zplane(z, p);3. 分析零极点的位置和数量通过观察零极点图,我们可以分析电源的零极点的位置和数量。
零极点的位置可以告诉我们电源的频率响应特性,而零极点的数量则与电源的稳定性相关。
通常情况下,零极点越远离原点,电源的频率响应越宽,但稳定性可能会受到影响。
4. 评估电源的稳定性除了通过零极点图来评估电源的稳定性外,我们还可以使用Matlab提供的稳定性分析工具来进行评估。
Matlab提供了一些函数,如isstable和margin,可以帮助我们快速评估电源的稳定性。
以下是使用isstable函数来评估电源稳定性的代码示例:isStable = isstable(sys);5. 优化电源设计根据对电源零极点的分析和评估结果,我们可以进一步优化电源的设计。
实验4 离散时间系统的频域分析一、实验目的(1)了解离散系统的零极点与系统因果性和稳定性的关系; (2)加深对离散系统的频率响应特性基本概念的理解; (3)熟悉MATLAB 中进行离散系统零极点分析的常用子函数; (4)掌握离散系统幅频响应和相频响应的求解方法。
二、知识点提示本章节的主要知识点是频率响应的概念、系统零极点对系统特性的影响;重点是频率响应的求解方法;难点是MATLAB 相关子函数的使用。
三、实验原理1.离散时间系统的零极点及零极点分布图设离散时间系统系统函数为NMz N a z a a z M b z b b z A z B z H ----++++++++==)1()2()1()1()2()1()()()(11 (4-1) MATLAB 提供了专门用于绘制离散时间系统零极点图的zplane 函数: ①zplane 函数 格式一:zplane(z, p)功能:绘制出列向量z 中的零点(以符号"○" 表示)和列向量p 中的极点(以符号"×"表示),同时画出参考单位圆,并在多阶零点和极点的右上角标出其阶数。
如果z 和p 为矩阵,则zplane 以不同的颜色分别绘出z 和p 各列中的零点和极点。
格式二:zplane(B, A)功能:绘制出系统函数H(z)的零极点图。
其中B 和A 为系统函数)(z H (4-1)式的分子和分母多项式系数向量。
zplane(B, A) 输入的是传递函数模型,函数首先调用root 函数以求出它们的零极点。
②roots 函数。
用于求多项式的根,调用格式:roots(C),其中C 为多项式的系数向量,降幂排列。
2.离散系统的频率特性MATLAB 提供了专门用于求离散系统频响特性的freqz 函数,调用格式如下: ①H = freqz(B,A,W)功能:计算由向量W (rad )指定的数字频率点上(通常指[0,π]范围的频率)离散系统)(z H 的频率响应)e (j ωH ,结果存于H 向量中。
基于Matlab进行系统的传递函数的零极点求解及与空间状态表达式的转换
系统的传递函数的零极点求解及与空间状
态表达式的转换
一、学习目的
1、学习系统状态空间模型的建立方法、了解状态空间模型与传递函数相互转换的方法;
2、通过编程、上机调试,掌握系统状态空间模型与传递函数相互转换的方法。
二、原理说明
1.根据所给系统的传递函数,依据系统的传递函数阵和状态空间表达式之间的关系,采用MATLA 的file.m 编程。
2.已知系统的传递函数求极点的matlab 编程。
三、Matlab 程序 给定系统6
11654232+++++=s s s s s G S )(,求系统的极点和空间状态模型。
程序:
num=[0 1 4 5];
den=[1 6 11 6]; sys=tf(num,den)
6
11654sys 232+++++=s s s s s
sys1=tf22p(num,den)
sys1=-2.0000+1.0000i
-2.0000-1.0000i [A,B,C,D]=tf22p(num,den) A= -6 -11 -6
1 0 0
0 1 0
B= 1
C= 1 4 5
D= 0。
零极点调整 matlab在Matlab中调整零极点的方法,可以通过使用控制系统工具箱(Control System Toolbox)中的函数来完成。
下面是一个简单的例子,展示如何创建一个传递函数,然后调整其零极点:matlab复制代码% 导入控制系统工具箱import control.matlab.*% 创建一个传递函数num = [1]; % 分子多项式系数den = [121]; % 分母多项式系数sys = tf(num, den); % 创建传递函数% 打印原始系统的零极点zp = tfreport(sys); % 打印零极点disp(zp.Zeros); % 显示零点disp(zp.Poles); % 显示极点% 调整系统的零极点new_zeros = [-2-3]; % 新的零点new_poles = [-4-5]; % 新的极点sys_new = tf(num, den, new_zeros, new_poles); % 创建新的传递函数% 打印调整后系统的零极点zp_new = tfreport(sys_new); % 打印新的零极点disp(zp_new.Zeros); % 显示新的零点disp(zp_new.Poles); % 显示新的极点在这个例子中,我们首先创建了一个传递函数sys,然后使用tfreport函数打印出其零极点。
然后,我们创建了一个新的传递函数sys_new,其零极点被调整为指定的值。
最后,我们再次使用tfreport函数打印出新的零极点。
注意:在调整零极点时,需要确保新的零极点是合理的,即它们不应该在复平面的无穷远处,也不应该在实数轴上。
matlab计算零极点分布图最近看书过程中看到⼀个matlab内容和⼤家分享分享通过编程来计算单位冲击响应,单位阶跃y(t)和频率响应H(jw)程序如下clc%清空命令⾏clear%从⼯作区中删除项⽬、释放系统内存clf%清空当前图窗窗⼝num=[1];den=[1 2 2 1];sys=tf(num,den);%构成传递函数poles=roots(den);%求极点subplot(211);%图1pzmap(sys);%零极点分布图显⽰[r,p,k]=residue(num,den)%实现部分分式展开的t=0:0.02:10;h1=impulse(num,den,t);%单位冲击响应subplot(222)plot(t,h1,'linewidth',4)title('冲击响应','fontsize',16)xlabel('时间\t','fontsize',16)h2=step(num,den,t);%单位阶跃响应subplot(223)plot(t,h2,'linewidth',4)title('阶跃响应','fontsize',16)xlabel('时间\t','fontsize',16)[H,w]=freqs(num,den);subplot(224)plot(w,abs(H),'linewidth',4)xlabel('频率\omega','fontsize',16)title('幅频特性','fontsize',16)ylabel('幅值H(jw)','fontsize',16)2、零极点分布图。
《自动控制原理》武汉工程大学电气信息学院2012年11月25日《自动控制原理》实验说明一、实验条件要求硬件:个人计算机;软件:MATLAB仿真软件(版本6.5或以上)。
带上课用教材和纸笔二、实验内容实验1 认识MATLAB实验2 基于MATLAB的控制系统建模实验3 基于MATLAB的控制系统时域及稳定性分析实验4 基于MATLAB的控制系统频域及根轨迹分析三、实验报告要求说明认真阅读教材,深刻理解和掌握自动控制原理的基本概念和原理,掌握利用MATLAB对控制系统进行仿真分析和设计。
针对每个命令,查看帮助文件,加强练习,认真完成实验报告。
实验1 认识MATLAB一、实验目的1.了解MA TLAB的发展过程及MATLAB在自动控制中的用途。
2.掌握MA TLAB的基本指令。
二、实验要求实验前复习教材中的相关内容,做好实验预习报告。
三、实验内容及步骤1.MA TLAB的基本操作(1) MATLAB命令窗口计算机安装好MATLAB之后,双击MA TLAB图标,即进入命令窗口,此时意味着系统处于准备接受命令的状态,可以在命令窗口中直接输入命令语句。
MATLAB语句形式为:》变量= 表达式但键入回车时,该语句被执行。
该语句执行之后,窗口自动显示出执行语句的结果。
如果不希望结果显示在命令窗口,只需要在该语句之后加一个分号“;”即可。
此时尽管没有显示结果,但它依然被赋值并在MATLAB的工作空间中分配了内存。
注意:a.用方向键和控制键可以编辑修改已输入的命令。
b.用命令窗口的分页输出“more off”表示不允许分页;“more on”表示允许分页;“more(n)”指定每页输出的页数。
c.多行命令为“…”。
(2)变量变量的名字必须以字母开头,之后可以是任意字母、数字或下划线;变量名称区分字母的大小写;变量中不能包含标点符号。
MATLAB规定了一些特殊的变量,如果没有特别定义,将其表示为默认值。
(3)数值显示格式任何MATLAB语句执行的结果都可以显示在屏幕上,同时赋值给指定的变量;没有指定变量时,赋值给一个特殊的变量“ans”。
matlab零极点对系统幅频的影响动态过程概述说明1. 引言1.1 概述本文将探讨零极点对系统幅频的影响动态过程。
在控制系统中,零极点是系统的重要特性,它们决定了系统的稳定性、相位和幅频响应等关键指标。
通过分析和理解零极点对幅频响应的直接影响,我们可以更好地设计和优化控制系统。
1.2 文章结构本文共分为五个部分。
引言部分介绍了文章的主题和目的,以及概述了整篇文章的结构。
第二部分将概述零极点对系统幅频的影响动态过程,包括系统的零极点分布、幅频响应的定义及意义以及零点和极点对幅频响应的直接影响。
第三部分将详细解释零极点对系统幅频的影响动态过程,包括零点变化引起的幅频响应变化、极点变化引起的幅频响应变化以及零极点共振现象及其特性分析。
第四部分将通过实例分析与案例研究来进一步说明理论知识,并提供具体示例演示单纯增加零点和移动极点对系统幅频响应的变化。
最后,结论与展望部分总结了文章的主要观点和研究结果,并提出了研究不足之处以及未来的展望。
1.3 目的本文旨在深入研究零极点对系统幅频的影响动态过程,通过理论分析和实例演示,探讨零点和极点对幅频响应的直接影响,并解释零极点共振现象及其特性。
通过这些内容,读者可以更好地理解和应用控制系统中零极点的重要性,为系统设计与优化提供指导。
本文旨在为相关领域的研究人员和工程师提供有价值的参考和启发。
2. 零极点对系统幅频的影响动态过程概述2.1 系统的零极点分布在控制系统中,零点和极点是系统传递函数的特殊点。
零点表示在该频率下系统传递函数取零值,而极点则表示在此频率下系统传递函数出现无穷大或奇异性。
系统的零极点分布对于系统的动态响应和稳定性有重要影响。
2.2 幅频响应的定义及意义幅频响应是指输入信号在不同频率下通过系统后输出信号的幅度变化。
通过分析这种变化可以了解系统对于不同频率成分的响应特性。
幅频响应反映了系统对于各个频率成分信号放大或衰减的情况,从而可以评估控制系统的性能和特征。
基于MATLAB的控制系统时域分析控制系统的时域分析是通过对控制系统的输入与输出进行观察、计算和分析,研究系统的动态特性和稳态特性,以便设计出性能良好的控制系统。
MATLAB是一种功能强大的数学软件,也是控制系统分析和设计常用的工具。
基于MATLAB的控制系统时域分析包括系统的零极点分析、步跃响应分析、频域响应分析以及稳态误差分析等方面。
首先,零极点分析是控制系统时域分析的基础。
零极点是系统传递函数的根,可以通过MATLAB的roots函数来求解。
根据零极点的位置,可以判断系统的稳定性、阻尼比和共振频率等信息。
例如,根在左半平面的系统为稳定系统,零根的个数与极根的个数之差即为系统的阶数;根在右半平面的系统为不稳定系统;根在虚轴上的系统为临界稳定系统等。
其次,步跃响应分析是研究系统对输入步跃信号的响应情况。
通过MATLAB中的step函数,可以绘制系统的单位阶跃响应曲线,并可以获得系统的一些重要参数,如上升时间、峰值时间、峰值大小和稳态误差等。
其中,上升时间是指系统从初始值到达其稳定值的时间;峰值时间是指系统响应曲线达到其峰值的时间;峰值大小是指系统响应曲线在峰值时的大小;稳态误差是指系统响应与输入信号的差异。
接下来,频域响应分析是研究系统对输入频率信号的响应情况。
通过MATLAB中的freqresp函数,可以绘制系统的频率响应曲线。
频域响应曲线可以展示系统在不同频率下的增益和相位特性,用于研究系统的稳定性和频率补偿。
频域响应分析常用的工具包括Bode图和Nyquist图等。
最后,稳态误差分析是分析系统输出与输入的差异,用于评估系统的性能。
通过MATLAB中的step函数和sys2tf函数,可以计算系统的稳态误差,并绘制稳态误差曲线。
稳态误差可以分为位置误差和速度误差,用于评估系统的静态精确性。
综上所述,基于MATLAB的控制系统时域分析涵盖了零极点分析、步跃响应分析、频域响应分析和稳态误差分析等方面。
信号与系统实验指导全部实验答案实验一连续时间信号的MATLAB 表示实验目的 1.掌握MATLAB 语言的基本操作,学习基本的编程功能; 2.掌握MATLAB 产生常用连续时间信号的编程方法;3.观察并熟悉常用连续时间信号的波形和特性。
实验原理:1. 连续信号MA TLAB 实现原理从严格意义上讲,MATLAB 数值计算的方法并不能处理连续时间信号。
然而,可用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能够被MATLAB 处理,并且能较好地近似表示连续信号。
MATLAB 提供了大量生成基本信号的函数。
比如常用的指数信号、正余弦信号等都是MATLAB 的内部函数。
为了表示连续时间信号,需定义某一时间或自变量的范围和取样时间间隔,然后调用该函数计算这些点的函数值,最后画出其波形图。
实验内容:正弦信号抽样信号矩形脉冲信号单位跃阶信号实验编程:(1)t=0:0.01:3;K=2;a=-1.5;w=10; ft=K*exp((a+i*w)*t); A=real(ft); B=imag(ft); C=abs(ft);D=angle(ft);subplot(2,2,1),plot(t,A),grid on;title('实部');subplot(2,2,2),plot(t,B),grid on;title('虚部'); subplot(2,2,3),plot(t,C),grid on;title('取模'); subplot(2,2,4),plot(t,D),grid on;title('相角');实部2211-1-2-1取模相角25100-5(2)t=0:0.001:3;y=square(2*pi*10*t,30);方波信号plot(t,y);axis([0,1,-1,1]); title('方波信号');0.5-0.5-1 00.20.40.60.81(3)t=-2:0.01:2;y=uCT(t+0.5)-uCT(t-0.5); plot(t,y),grid on axis([-2,2,0,1.5]); xlabel('t(s)'),ylabel('y(s)') title('门函数')10.50 -2-1.5-1-0.5门函数y (s )0t(s)0.511.52实验二连续时间LTI 系统的时域分析实验目的1.运用MATLAB 符号求解连续系统的零输入响应和零状态响应; 2.运用MATLAB 数值求解连续系统的零状态响应; 3.运用MATLAB 求解连续系统的冲激响应和阶跃响应;4.运用MATLAB 卷积积分法求解系统的零状态响应。
实验四离散时间信号与系统分析实验四离散时间信号与系统分析一、实验目的1、理解离散信号及系统的时频域分析方法2、掌握Matlab进行信号的卷积、z变换及逆z变换的方法。
3、掌握Matlab进行离散系统时频域的分析方法二、实验时数:2学时三、实验相关知识(一)离散信号的卷积利用函数(,)可以计算离散信号的卷积和,c conv a b即c(n)=a(n)*b(n),向量c长度是a,b长度之和减1。
若a(n)对应的n的取值范围为:[n1, n2];b(n)对应的n的取值范围为:[n3, n4],则c(n)=a(n)*b(n)对应的n的取值范围为:[n1+n3, n2+n4]。
例4-1:已知两序列:x(k)={1,2,3,4,5;k=-1,0,1,2,3},y(k)={1,1,1;k=-1,0,1},计算x(k)*y(k),并画出卷积结果。
解:利用conv()函数进行离散信号的卷积,注意卷积信号的k 值范围k_x = -1:3;x=[1,2,3,4,5];k_y = -1:1;y=[1,1,1];z=conv(x,y);k_z= k_x(1)+k_y(1):k_x(end)+k_y(end); stem(k_z,z);(二)离散信号的逆z 变换离散序列的z 变换通常是z 的有理函数,可表示为有理分式的形式,因此可以现将X(z)展开成一些简单而常用的部分分式之和,然后分别求出各部分分式的逆变换,把各逆变换相加即可得到X(z)的逆变换x(n)。
设离散信号的z 变换式如下,120121212()()1()m m n n b b z b z b z num z X z a z a z a z den z ------++++==++++在Matlab 中进行部分分式展开的函数为residuez (),其调用形式如下:[r,p,k] = residuez(num,den)其中num=[b0, b1, …, bm]表示X(z)有理分式的分子多项式为12012m m b b z b z b z ---++++;den=[a0, a1, …, am]表示X(z)有理分式的分母多项式为12012m m b b z b z b z ---++++,注意分子分母多项式均为按z -1的降幂排列的多项式,缺项应补零。
MATLAB/Simulink 与控制系统仿真实验报告姓名:喻彬彬学号:K031541725实验1、MATLAB/Simulink 仿真基础及控制系统模型的建立一、实验目的1、掌握MATLAB/Simulink 仿真的基本知识;2、熟练应用MATLAB 软件建立控制系统模型。
二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、熟悉MATLAB/Smulink 仿真软件。
2、一个单位负反馈二阶系统,其开环传递函数为210()3G s s s =+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
3、某控制系统的传递函数为()()()1()Y s G s X s G s =+,其中250()23s G s s s+=+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
4、一闭环系统结构如图所示,其中系统前向通道的传递函数为320.520()0.11220s G s s s s s+=+++g ,而且前向通道有一个[-0.2,0.5]的限幅环节,图中用N 表示,反馈通道的增益为1.5,系统为负反馈,阶跃输入经1.5倍的增益作用到系统。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
四、实验报告要求实验报告撰写应包括实验名称、实验内容、实验要求、实验步骤、实验结果及分析和实验体会。
五、实验思考题总结仿真模型构建及调试过程中的心得体会。
题1、(1)利用Simulink的Library窗口中的【File】→【New】,打开一个新的模型窗口。
(2)分别从信号源库(Sourse)、输出方式库(Sink)、数学运算库(Math)、连续系统库(Continuous)中,用鼠标把阶跃信号发生器(Step)、示波器(Scope)、传递函数(Transfern Fcn)和相加器(Sum)4个标准功能模块选中,并将其拖至模型窗口。
matlab已知传递函数求零极点模型Matlab是一种功能强大的工具,可以用于信号处理、控制系统设计等各种领域。
在控制系统设计中,传递函数是一个非常重要的概念。
传递函数描述了输入和输出之间的关系,通过求解传递函数的零点和极点,可以得到系统的特性和性能。
在Matlab中,可以使用tf函数创建传递函数模型。
tf函数的输入参数是一个分子多项式和一个分母多项式,它们分别表示传递函数的分子和分母项。
分子和分母多项式的系数可以是任意实数或复数。
通过tf函数创建的传递函数模型可以用于系统分析和设计。
传递函数的零点和极点是描述系统特性的重要参数。
零点是使传递函数为零的输入值,极点是使传递函数为无穷大的输入值。
零点和极点的位置对系统的稳定性、阻尼、共振等性能指标有重要影响。
通过求解传递函数的零点和极点,可以了解系统的特性,并进行系统设计和优化。
在Matlab中,可以使用zpk函数求解传递函数的零点和极点。
zpk 函数的输入参数是传递函数的分子和分母多项式,输出参数是传递函数的零点、极点和增益。
通过zpk函数求解的零点和极点可以用于系统分析和设计。
除了求解传递函数的零点和极点,Matlab还提供了其他函数用于传递函数模型的操作和分析。
例如,可以使用feedback函数计算闭环系统的传递函数;可以使用step函数绘制系统的阶跃响应;可以使用bode函数绘制系统的频率响应等等。
这些函数可以帮助工程师更好地理解和设计控制系统。
在实际工程中,传递函数模型在控制系统设计中起着重要作用。
通过求解传递函数的零点和极点,可以了解系统的特性和性能,并进行系统的优化和改进。
Matlab提供了丰富的函数和工具,可以方便地进行传递函数模型的操作和分析。
掌握这些工具和方法,对于控制系统工程师来说是非常重要的。
Matlab是一个功能强大的工具,可以用于传递函数模型的求解和分析。
通过求解传递函数的零点和极点,可以了解系统的特性和性能,并进行系统的优化和改进。
实验四 离散时间LTI 系统分析一、实验目的(一)掌握使用Matlab 进行离散系统时域分析的方法1、学会运用MATLAB 求离散时间系统的零状态响应2、学会运用MATLAB 求解离散时间系统的单位样值响应3、学会运用MATLAB 求解离散时间系统的卷积和(二)掌握使用Matlab 进行离散时间LTI 系统z 域分析的方法1、学会运用MATLAB 求离散时间信号的z 变换和z 反变换2、学会运用MATLAB 分析离散时间系统的系统函数的零极点3、学会运用MATLAB 分析系统函数的零极点分布与其时域特性的关系4、学会运用MATLAB 进行离散时间系统的频率特性分析二、实验条件装有matlab2015a 的计算机一台三、实验内容(一)熟悉两部分相关内容原理 (二)完成作业1、表示某离散LTI 系统的差分方程如下:)()()(.)(.)(12240120-+=---+n x n x n y n y n y其中,)(n x 为激励,)(n y 为响应。
(1)试用MATLAB 命令中的filter 函数求出并画出)(n x 为单位阶跃序列时系统的零状态响应;程序:a=[1 0.2 -0.24];b=[1 1];n=-5:30;x=uDT(n);y=filter(b,a,x);stem(n,y,'fill');xlabel('n');title('x(n)为单位阶跃序列时系统的零状态响应');运行结果:(2)试用MATLAB命令求出并画出系统的单位样值响应[注:分别用filter函数和impz 函数求解,并比较二者结果是否一致];程序:%filter函数a=[1 0.2 -0.24];b=[1 1];n=0:30;x=impDT(n);y=filter(b,a,x);subplot(211);stem(n,y,'fill');xlabel('n');title('filter函数求系统的单位样值响应');%impz函数subplot(212);impz(b,a,30);title('impz 函数求系统的单位样值响应');运行结果:(3)试用MATLAB 命令中的conv 函数求出并画出)(n x 为单位阶跃序列时系统的零状态响应[注:)()(n h n x 和各取前100个样点],并与(1)的结果进行比较; 程序:a=[1 0.2 -0.24]; b=[1 1]; n=-50:50; x1=impDT(n); y1=filter(b,a,x1);nx=-50:50; nh=-50:50;x=double(uDT(nx)); h=double(y1); y=conv(x,h); ny1=nx(1)+nx(1);ny=ny1+(0:(length(nx)+length(nh)-2)); stem(ny,y,'fill');xlabel('n');title('y(n)=x(n)*h(n)'); axis([-5,30,0,2.5]);运行结果:(4)试用MATLAB 命令求出此系统的系统函数)(z H ,并画出相应的零极点分布图,根据零极点图讨论该系统的稳定性; 程序:a=[1 0.2 -0.24]; b=[1 1 0]; zplane(b,a);legend('零点','极点'); title('零极点分布图');运行结果:结论:该因果系统的极点全部在单位圆内,故系统是稳定的。
实验四 Z 变换【实验目的】 通过MATLAB 仿真离散时间系统,研究其时频域特性,加深对离散系统的冲激响应,频率响应分析和零极点分布概念和理解。
【实验原理】1.Z 变换原理(1).Z 变换 在数字信号处理的分析方法中,除时域分析方法外,还有变换域分析方法。
后者通常指Z 变换和傅里叶变换法。
变换域分析的最大优点是将离散系统的差分方程转化为简单的代数方程,使其求解大大简化,也使得对系统的特性分析更为方便。
对于离散时间信号,设序列为x (n ),则其Z 变换定义为: ,其中z 为复变量,是一个以时部为横坐标,虚部为纵坐∑+∞-∞=-=n n z n x z X )()(标构成的平面上的变量。
Z 变换记作,X (z )存在的z 的集合称为收敛域])([ )(n x z X Z =(ROC ),一般为+-<<x x R z R 由于ROC 是由定义的,因此一般为环形区域。
根据ROC 的特点,可以判定序列是右边序z 列、左边序列、双边序列等。
Z 变换具有一些重要的特性,是傅里叶变换的推广,包括线性、时移特性、频移特性、尺度变换、共轭、翻褶、Z 域微分、序列相乘、序列卷积等一系列性质。
(2).系统函数离散线性时不变(LTI )系统的系统函数H (z )定义为:H (z ) = Z[h (n )] = (4.4)∑+∞-∞=-n n z n h )(若用差分方程表示系统,则有 )k -n (b )k -n (a M 0k k N0k x y k ∑∑===如果系统起始状态为零,直接对上式的两边Z 变换,并利用移位特性,有 ∑∑=-=-==N 0M 0)()()(k k k k k k z a z b Z X z Y z H 因此,系统函数H (z )的分子和分母的系数正好等于差分方程的系数。
归一化,即使得0a y (n )前的参数为1,此时可以对上式的分子、分母进行因式分解,可得∏∏=-=-=N k k M m z z z H 1111m )p -(1)c -(1K )(得到系统的增益函数K 、零点、极点。
自动控制原理MATLAB仿真实验实验指导书电子信息工程教研室实验一典型环节的MA TLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。
利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。
1.运行MA TLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。
2.选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。
图1-1 SIMULINK仿真界面图1-2 系统方框图3.在simulink仿真环境下,创建所需要的系统。
以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。
点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。
2)改变模块参数。
在simulink仿真环境“untitled”窗口中双击该图标,即可改变传递函数。
其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK,即完成该模块的设置。
3)建立其它传递函数模块。
按照上述方法,在不同的simulink的模块库中,建立系统所需的传递函数模块。
例:比例环节用“Math”右边窗口“Gain”的图标。
4)选取阶跃信号输入函数。
用鼠标点击simulink下的“Source”,将右边窗口中“Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。
实验四连续时间系统复频域分析和离散时间系统z域分析
一.实验目的:
1.掌握连续信号拉氏变换和拉氏反变换的基本实现方法。
2.熟悉laplace函数求拉普拉斯变换,ilaplace函数求拉氏反变换
的使用。
3.掌握用ztrans函数,iztrans函数求离散时间信号z变换和逆z
变换的基本实现方法。
4.掌握用freqs函数,freqz函数由连续时间系统和离散时间系统
系统函数求频率响应。
5.掌握zplane零极点绘图函数的使用并了解使用零极点图判断系
统稳定性的原理。
二、实验原理:
1.拉氏变换和逆变换
原函数()()
↔象函数
f t F s
记作:[()]()
=→拉氏变换
L f t F s
1[()]()
-=→拉氏反变换
L F s f t
涉及函数:laplace,ilapace.
例如:
syms t;laplace(cos(2*t))
结果为:ans =s/(s^2+4)
syms s;ilaplace(1./(s+1))
结果为:ans = exp(-t)
2. 系统传递函数H(s)或H(z)。
12121212...()()()...m m m n n n
b s b s b B s H s A s a s a s a ----+++==+++ 112112...()()()...m m m n n n
b z b z b B z H z A z a z a z a --+--++++==+++ 其中,B 为分子多项式系数,A 为分母多项式系数。
涉及函数:freqz,freqs.
3. 系统零极点分布与稳定性的判定。
对于连续时间系统,系统极点位于s 域左半平面,系统稳定。
对于离散时间系统,系统极点位于z 域单位圆内部,系统稳定。
涉及函数:zplane.
三、 实验内容
1. 验证性实验
a) 系统零极点的求解和作图
已知2321()232
s H s s s s -=+++,使用zplane 函数作出系统零极点图并判断系统稳定性。
解:(1)系统零极点图
>> b=[1,0,-1];
>> a=[1,2,3,2];
>> zplane(b,a);
>> legend('零点','极点');
(2)判断系统稳定性
由系统零极点图可知该系统的极点位于左半平面,所以该系统稳定。
b)已知离散系统的H(z),求零极点图,并求解单位样值响应h(n)
和系统幅频响应。
解:b=[1,2,1]; a=[1,-0.5,-0.005,0.3];
subplot(311); zplane(b,a);
xlabel('零极点图');
num=[0,1,2,1];
den=[1,-0.5,-0.005,0.3];
h=impz(num,den);
subplot(312);
stem(h);
xlabel('单位样值响应');
[H,w]=freqz(num,den);
subplot(313);
plot(w/pi,abs(H));
xlabel('系统幅频响应');
2. 设计性实验
a) 已知系统传递函数22()43
s H s s s +=++,用拉普拉斯变换法求解: ✓ 使用ilaplace 函数求系统单位冲激响应h(t)。
✓ 使用ilaplace 函数求系统阶跃响应(11()()g t L H s s -⎡⎤=⨯⎢⎥⎣⎦
) ✓ 求系统对输入为cos(20)()s U t u t =的零状态响应。
✓ (选做)已知系统函数()2
z H z z =-,绘制系统零极点图,判断系统稳定性,并求系统单位样值响应h(n).
提示:使用zplane 函数和iztrans 函数。
解:syms s t; Hs=(s+2)/(s^2+4*s+3);
Us=laplace(cos(20*t));
Vos=Hs*Us;
ht=ilaplace(Hs)
gt=ilaplace(Hs*1/s)
vt=ilaplace(Vos)
输出结果(分别为系统单位冲激响应、系统阶跃响应、零状态响应)ht =
exp(-2*t)*cosh(t)
gt =
2/3-1/6*exp(-3*t)-1/2*exp(-t)
vt =
-1/802*exp(-t)+806/164009*cos(20*t)+8100/164009*sin(20*t) -3/818*exp(-3*t)
选做:
b=[1];a=[1,-2];subplot(1,1,1);zplane(b,a);
legend('零点','极点');title('零极点图');
由上图可知该系统的极点位于单位圆外,所以该系统不稳定。
syms z n;Hz=z/(z-2);h=iztrans(Hz)
输出结果为:h = 2^n
四、实验总结
通过本次实验我学会了运用matlab求拉普拉斯变换及拉氏逆变换、求离散时间信号z变换和逆z变换、由连续时间系统和离散时间系统系统函数求频率响应、绘制零极点图并使用零极点图判断系统稳定性,感受到了使用matlab分析这些内容的简便,进一步掌握了matlab在信号与系统中的运用。