控制系统仿真及MATLAB语言 连续系统的离散化方法
- 格式:pptx
- 大小:731.86 KB
- 文档页数:44
实验二基于Matlab的离散控制系统仿真一、实验目的1)学习使用Matlab命令对离散控制系统进行仿真的方法。
2)学习使用Simulink工具箱对离散控制系统进行仿真的方法。
二、实验原理1. 控制系统命令行仿真一阶系统闭环传递函数为3()G ss+3请转换为离散系统脉冲传递函数并仿真。
根据要求实验有实验数据和所得图形如下:连续零极点图函数:离散函数零极点图:连续函数根轨迹图:离散函数根轨迹图:连续函数单位脉冲响应曲线:离散函数单位脉冲响应曲线:连续函数单位阶跃响应:离散函数单位阶跃响应:连续函数波特图:离散函数波特图:连续函数艾奎斯特曲线:离散函数艾奎斯特曲线:连续函数尼科尔斯曲线:离散函数尼科尔斯曲线:2. 控制系统simulink 仿真按图建立系统的Simulink 模型,对不同的输入信号进行仿真,改变参数,观察不同的仿真结果。
图1 控制系统Simulink 仿真图解答于实验内容第二问三、实验内容1) 二阶系统传递函数为225()4+25G s s s =+,请转换为零极点模型,离散系统模型(采样时间为1),以及离散零极点模型,并进行基于matlab 命令的仿真研究(求连续和离散系统的单位脉冲响应、单位阶跃响应、零极点分布图、根轨迹、波特图、奈奎斯特曲线、尼科尓斯曲线等)。
根据题意实验所得有:连续单位脉冲响应离散单位脉冲响应连续单位阶跃响应离散单位阶跃响应连续零极点分布图离散零极点分布图连续根轨迹离散根轨迹连续波特图离散波特图连续奈奎斯特曲线离散奈奎斯特曲线连续尼科尓斯曲线离散尼科尓斯曲线2)按图1建立系统的Simulink模型,对不同的输入信号进行仿真。
改变模型参数,观察不同的仿真结果。
Step输入:Ramp输入:当函数分子分别为1,10,100,500时有:经过实验可以看出分子越大超调越大,调整时间越大。
3)将上述系统离散化并基于Simulink仿真,观察仿真结果。
根据题意实验有:Step输入:Ramp输入:分子为1时:Step输入:Ramp输入:分子为250时:Step输入:Ramp输入:四、实验报告1)按照实验报告所要求的统一格式,填写实验报告;2)记录实验过程、实验结果和图表。
毕业设计(论文)题目基于MATLAB控制系统仿真应用研究系别信息工程系专业名称电子信息工程班级学号088205227学生姓名蔚道祥指导教师罗艳芬二O一二年五月毕业设计(论文)任务书I、毕业设计(论文)题目:基于MATLAB的控制系统仿真应用研究II、毕业设计(论文)使用的原始资料(数据)及设计技术要求:原始资料:(1)MATLAB语言。
(2)控制系统基本理论。
设计技术要求:(1)采用MATLAB仿真软件建立控制系统的仿真模型,进行计算机模拟,分析整个统的构建,比较各种控制算法的性能。
(2)利用MATLAB完善的控制系统工具箱和强大的Simulink动态仿真环境,提供方框图进行建模的图形接口,分别介绍离散和连续系统的MATLAB和Simulink仿真。
I I I、毕业设计(论文)工作内容及完成时间:第01~03周:查找课题相关资料,完成开题报告,英文资料翻译。
第04~11周:掌握MATLAB语言,熟悉控制系统基本理论。
第12~15周:完成对控制系统基本模块MATLAB仿真。
第16~18周:撰写毕业论文,答辩。
Ⅳ、主要参考资料:[1] 《MATLAB在控制系统中的应用》,张静编著,电子工业出版社。
[2]《MATLAB在控制系统应用与实例》,樊京,刘叔军编著,清华大学出版社。
[3]《智能控制》,刘金琨编著,电子工业出版社。
[4]《MATLAB控制系统仿真与设计》,赵景波编著,机械工业出版社。
[5]The Mathworks,Inc.MATLAB-Mathemmatics(Cer.7).2005.信息工程系电子信息工程专业类0882052 班学生(签名):填写日期:年月日指导教师(签名):助理指导教师(并指出所负责的部分):信息工程系(室)主任(签名):学士学位论文原创性声明本人声明,所呈交的论文是本人在导师的指导下独立完成的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含法律意义上已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的论文或成果。
实验利用MATLAB进行离散控制系统模拟本试验的目的主要是让学生初步掌握MATLAB软件在离散控制系统分析和设计中的应用。
1.连续系统的离散化。
在MATLAB软件中,对连续系统的离散化主要是利用函数c2dm( )函数来实现的,c2dm( )函数的一般格式为C2dm( num, den, T, method),可以通过MATLAB的帮助文件进行查询。
其中:Num:传递函数分子多项式系数;Den:传递函数分母多项式系数;T:采样周期;Method:转换方法;允许用户采用的转换方法有:零阶保持器(ZOH)等五种。
2.求离散系统的相应:在MATLAB中,求采样系统的响应可运用dstep( ),dimpulse( ),dlsim( )来实现的。
分别用于求取采样系统的阶跃,脉冲,零输入及任意输入时的响应,其中dstep( )的一般格式如下:dstep( num, den, n),可以通过MATLAB的帮助文件进行查询。
其中:Num:传递函数分子多项式系数;Den:传递函数分母多项式系数;N:采样点数;3.此外,离散控制系统也可以用simulink工具箱进行仿真,仿真界面如下图(采样周期可以在对应模块中进行设定)。
1.编制程序实现上面三个仿真程序。
2.把得到的图形和结果拷贝在试验报告上。
3.在第1个例子中,改变采样周期为0.25,重新运行程序,把结果和原来结果进行比较,并说明为什么?4.在第2个例子中,改变采样点数为70,重新运行程序,把结果和原来结果进行比较,并说明为什么?同样,改变采样周期T,观察不同周期下系统阶跃响应的动态性能,分析采样周期对系统动态性能的影响。
1.1)num=10;den=[1,7,10];t=0.1[numz,denz]=c2dm(num,den,t,'zoh');printsys(numz,denz,'z')得出结果:t =0.1000num/den =0.039803 z + 0.031521------------------------z^2 - 1.4253 z + 0.49659若t改为0.25:num=10;den=[1,7,10];t=0.25[numz,denz]=c2dm(num,den,t,'zoh'); printsys(numz,denz,'z')得出结果为:t =0.2500num/den =0.18012 z + 0.10062-------------------------z^2 - 0.89304 z + 0.173772)num=10;den=[1,7,10];t=0.25;i=[0:35];time=i*t;[numz,denz]=c2dm(num,den,t,'zoh'); yc=step(num,den,time);y_zoh=dstep(numz,denz,36);[xx,yy]=stairs(time,y_zoh);plot(time,yc,'r'),holdplot(xx,yy,'r'),hold;grid采样点数改为70:num=10;den=[1,7,10];t=0.1;i=[0:70];time=i*t;[numz,denz]=c2dm(num,den,t,'zoh'); yc=step(num,den,time);y_zoh=dstep(numz,denz,71);[xx,yy]=stairs(time,y_zoh);plot(time,yc,'r'),hold周期改为0.25:3num=[0.008,0.072];den=[1,-1.905,0.905];t=0.1;i=[0:35];time=i*t;[numz,denz]=c2dm(num,den,t,'zoh'); yc=step(num,den,time);y_zoh=dstep(numz,denz,36);[xx,yy]=stairs(time,y_zoh);plot(time,yc,'r'),holdplot(xx,yy,'r'),hold;gridSimulink 实现:仿真时间:10仿真时间700:3(3) 采样周期不同,得出的Z变换也不同,说明Z变换的结果随采样周期的变化而变化。
1实验一 离散系统的分析一 实验目的1.学习利用采样控制理论;2.使用MATLAB 理论进行分析;3. 学习利用z 变换与反变换分析离散控制系统;二、实验步骤1.开机执行程序C :\matlab \bin \matlab.exe (或用鼠标双击图标)进人MATLAB 命令窗口;2.运用所学自动控制理论z 变换与反变换,使用MATLAB 的基本知识分析离散控制系统的基本性质及进行控制系统的设计。
3. MATLAB 离散系统基本命令模型转换1)连续系统离散化sysd=c2d(sys,T) T 为采样时间sysd=c2d(sys,T,method)method 有四种模式:a. ‘zoh’---采用零阶保持器,b. ‘foh’---采用一阶保持器,c. ‘tustin’---采用双线性逼近(tustin )方法,d. ‘preqarp’---采用改进的(tustin )方法,2)离散系统连续化sys=d2c(sysd,T,method) T 为采样时间例 设)1(1)(+=s s s g , T=0.1s , 求G(z) 键入命令:sys=tf([1],[1 1 0]);c2d(sys,0.1) %采样时间0.1s得到离散传递函数:当采样时间取T=1s 时:0.004837 z + 0.004679 G (z )= ---------------------------- z^2 - 1.905 z + 0.9048 0.3679 z + 0.2642 G (z )= ---------------------------- z^2 - 1.368 z + 0.36792例 系统脉冲传递函数为6322.02644.03678.0)()(2+−+=z z z z R z C ,求离散单位阶跃响应。
解. 在MATLAB 窗口键入以下程序num=[0.3678 0.2644];den=[1 -1 0.6322];dstep(num,den)结果件下图:三、实验内容有系统1)其中K =10,T =0.25s,求单位阶跃函数r(t)=1 (t)作用下的响应。
2014 / 2015 学年第 1 学期计算机控制技术实验报告班级学号 ********** 学生姓名蔡梦指导教师张坤鳌实验二 基于 Matlab 的离散控制系统仿真一、 实验目的和要求:1、 学习使用 Matlab 的命令对控制系统进行仿真的方法2、 学习使用 Matlab 中的 Simulink 工具箱进行系统仿真的方法二、 实验环境X86系列兼容型计算机,Matlab 软件三、 实验原理1、控制系统命令行仿真1)建立如图所示一阶系统控制模型并进行系统仿真:一阶系统闭环传递函数为G (S )=s s 313+=33+s ,转换为离散系统脉冲传递函数并仿真。
2)建立如图所示二阶系统控制模型并进行系统仿真:二阶系统闭环传递函数为G (S )=)54.02(51)54.02(522**++**+s s s s =222554.025+**+s s ,转换为离散系统脉冲传递函数并仿真,改变参数,观察不同的系统的仿真结果。
2、控制系统的 Simulink 仿真按图建立系统的 Simulink 模型,对不同的输入信号进行仿真,改变参数,观察不同的仿真结果。
将上述系统离散化并仿真,观察仿真结果四、 实验步骤1、根据实验原理对控制系统进行软件仿真2、观察记录输出的结果,与理论计算值相比较3、自行选择参数,练习仿真方法,观察不同的仿真结果二阶系统闭环传递函数为G (S )=)54.02(51)54.02(522**++**+s s s s )54.02(51)54.02(522**++**+=s s s s 进行软件仿真如下图:分别进行离散仿真:五、实验心得针对这次实验设计,我通过各种渠道,上课认真学习,请教老师、上网搜索,图书馆查阅,询问同学等学习到了很多知识,一步步了解最少拍控制系统设计,锻炼了自我学习能力。
尽管学习上遇到了很多困难,结果也差强人意。
但我们在不断处理困难的过程中磨练了处理事物的能力和耐心,也让同学间学会了互相学习,共享资源。
连续系统离散化方法一、概述连续系统离散化方法是一种将连续系统转化为离散系统的方法,常用于控制系统的设计和分析。
该方法可以将一个无限维度的连续系统转化为有限维度的离散系统,使得控制器设计和分析变得更加简单和可行。
二、连续系统模型在开始进行连续系统离散化的过程中,需要先建立一个连续系统模型。
通常情况下,这个模型可以由微分方程或者差分方程来表示。
三、离散化方法1. 时域离散化方法时域离散化方法是最基本的离散化方法之一。
它通过将时间轴上的信号进行采样,从而将一个连续时间信号转换为一个离散时间信号。
这个过程中需要确定采样周期以及采样点数目等参数。
2. 频域离散化方法频域离散化方法是一种利用傅里叶变换将一个连续时间信号转换为一个频域信号,然后再对该频域信号进行采样得到一个离散时间信号的方法。
这个过程中需要确定采样频率以及采样点数目等参数。
3. 模拟器法模拟器法是一种将连续系统转化为离散系统的方法。
这个方法的核心思想是利用一个数字模拟器来模拟连续系统的行为,从而得到一个离散时间信号。
4. 差分方程法差分方程法是一种将连续系统转化为离散系统的方法。
这个方法的核心思想是利用微分方程在离散时间点上进行近似,从而得到一个差分方程。
四、误差分析在进行离散化过程中,会产生一定的误差。
因此,需要对误差进行分析和评估,以确保离散化后的结果与原始连续系统相近。
五、应用实例1. 机械控制系统机械控制系统中通常需要对连续时间信号进行采样和处理。
通过使用离散化方法,可以将连续信号转换为数字信号,并且可以在数字域上进行控制器设计和分析。
2. 电力电子控制系统电力电子控制系统中通常需要对高频信号进行处理。
通过使用频域离散化方法,可以将高频信号转换为数字信号,并且可以在数字域上进行控制器设计和分析。
六、总结连续系统离散化方法是一种将连续系统转化为离散系统的方法。
通过使用不同的离散化方法,可以将连续时间信号转换为数字信号,并且可以在数字域上进行控制器设计和分析。
一. 控制系统的模型与转换目前大多数控制系统的分析设计方法都要求系统的模型已知。
所以,控制系统的数学模型是控制系统分析和设计的基础。
获得数学模型的方法有两种:一种是从已知的物理规律出发,用数学推导的方法建立系统的数学模型,另外一种就是利用试验数据拟合。
前一种方法称为系统的物理建模方法,而后者称为系统辨识,两者各有优势和适用场合。
一般的分析研究中将控制系统分为连续系统和离散系统,描述连线性连续系统常用的方式是传递函数(传递函数矩阵)和状态空间模型,相应的离散系统可以用离散传递函数和离散状态方程表示。
各种模型之间还可以进行相互转换。
1.1连续线性系统的数学模型连续线性系统一般可以用传递函数描述,也可以用状态方程描述。
前者是经典控制的常用模型,而后者是现代控制理论的基础。
它们是描述同一个系统的不同描述方式。
除此之外,还可以用零极点的形式表示连续线性系统模型。
本章着重介绍这些数学模型,并侧重介绍这些模型在控制系统的Matlab 环境下的表示方法。
高阶线性常微分方程通常是描述线性连续系统的最传统的方法,其基本表达式为: )()()()()()()()(11111111t u b dtt du b dtt u db dtt u d b t y a dtt dy a dtt y da dtt y d m m m m mmn n n n n n++++=++++------ 其中)(t u ,)(t y 分别是控制系统的输入和输出信号,他们均是时间t 的函数,n 是系统的阶次。
利用Laplace 引入的积分变换(拉氏变换),可以在另初始条件下对该微分方程进行变换,得到控制系统的传递函数: nn n n mm m ma s a sa sb s b s b s b s G ++++++++=----1111110)( (n m ≤)传递函数的引入使得控制系统的研究变得简单,它是控制理论中线性系统模型的一种主要描述方式。
姓名: 学号: 得分实验七基于MATLAB的描述函数法非线性系统分析一.基础知识1.考虑如图的非线性系统,图中的继电器非线性模块。
试判断系统是否存在自振;若有自振,求出自振的振幅和频率。
M=10,h=1程序如下:x=1:0.1:20;disN=40/pi./x.*sqrt(1-x.^(-2))-j*40/pi./x.^2; %描述函数disN2=-1./disN; %负倒描述函数w=1:0.01:200;num=12; %线性部分分子den=conv([1 1],[1 6 13]); %线性部分分母[rem,img,w]=nyquist(num,den,w); %线性部分Nyquist曲线参数plot(real(disN2),imag(disN2),rem,img) %同时绘制非线性部分和线性部分的极坐标图grid; %加网格由图可见,两曲线相交,系统存在自激振荡2.建立Simulink模型,如图进行仿真。
系统的Simulink仿真模型由图所示的仿真输出可见,系统中确实存在自激振荡,进一步证实了前面的分析。
二.实验内容:具有间隙非线性系统的Simulink仿真结构图如图所示,设给定输入位单位阶跃信号,试仿真对于线性系统的阶跃响应和有非线性环节的阶跃响应。
姓名: 学号: 得分实验八利用MATLAB进行离散控制系统仿真一.基础知识本试验的目的主要是让学生初步掌握MATLAB软件在离散控制系统分析和设计中的应用。
1.连续系统的离散化。
在MATLAB软件中对连续系统的离散化是应用c2dm()函数实现的,c2dm()函数的一般格式为2.求离散系统的响应:在Matlab软件中,求离散系统的响应可运用dstep()、dimpulse()、dlism()函数实现。
其分别用于求离散系统的阶跃、脉冲及任意输入时的响应。
dstep()的一般格式如下二.实验内容:1.已知离散系统的结构图如图所示,求开环脉冲传递函数。
(采样周期T=1s)系统结构图2.已知离散系统结构图如图所示,输入为单位阶跃,采样周期T=1s,求输出响应。