MATLAB Simulink中的离散系统模块
- 格式:ppt
- 大小:464.50 KB
- 文档页数:9
Simulink中连续与离散模型的区别(DOC)Simulink中连续与离散模型的区别matlab/simulink/simpowersystem中连续vs离散!本⽂中的⼀些具体数学推导见下⾯链接:计算机仿真技术1.连续系统vs离散系统连续系统是指系统状态的改变在时间上是连续的,从数学建模的⾓度来看,可以分为连续时间模型、离散时间模型、混合时间模型。
其实在simpowersystem的库中基本所有模型都属于连续系统,因为其对应的物理世界⼀般是电机、电源、电⼒电⼦器件等等。
离散系统是指系统状态的改变只发⽣在某些时间点上,⽽且往往是随机的,⽐如说某⼀路⼝⼀天的⼈流量,对离散模型的计算机仿真没有实际意义,只有统计学上的意义,所以在simpowersystem中是没有模型属于离散系统的。
但是在选取模型,以及仿真算法的选择时,常常提到的discrete model、discrete solver、discrete simulate type等等中的离散到底是指什么呢?其实它是指时间上的离散,也就是指离散时间模型。
下⽂中提到的连续就是指时间上的连续,连续模型就是指连续时间模型。
离散就是指时间上的离散,离散模型就是指离散时间模型,⽽在物理世界中他们都同属于连续系统。
为什么要将⼀个连续模型离散化呢?主要是是从系统的数学模型来考虑的,前者是⽤微分⽅程来建模的,⽽后者是⽤差分⽅程来建模的,并且差分⽅程更适合计算机计算,并且前者的仿真算法(simulationsolver)⽤的是数值积分的⽅法,⽽后者则是采⽤差分⽅程的状态更新离散算法。
在simpowersystem库中,对某些物理器件,既给出的它的连续模型,也给出了它的离散模型,例如:离散模型⼀个很重要的参数就是采样时间sampletime,如何从数学建模的⾓度将⼀个连续模型离散化,后⾯会有介绍。
在simpowersystem中常⽤powergui这个⼯具来将系统中的连续模型离散以便采⽤discrete算法便于计算机计算。
simulink的离散积分模块的accumulation
Simulink是MATLAB的一个扩展包,主要用于进行系统模拟和分析。
在Simulink 中,离散积分模块通常用于对离散时间信号进行积分操作。
关于离散积分模块的累积(accumulation),这涉及到在给定的离散时间点上对信号的累积效应进行建模。
具体来说,离散积分模块通过将每个时间步长的输入值累加到上一个时间步长的累积值上来工作。
这种累积行为对于模拟诸如存储器、电荷、质量等物理系统的行为特别有用。
例如,考虑一个简单的离散积分模块,其数学表示为:
(y[n] = y[n-1] + x[n] \cdot T)
其中:
•(y[n]) 是当前时间步长的输出。
•(y[n-1]) 是上一个时间步长的输出累积值。
•(x[n]) 是当前时间步长的输入。
•(T) 是时间步长。
通过将每个时间步长的输入与上一个时间步长的输出累积起来,离散积分模块可以模拟连续时间的积分行为。
在Simulink中,你可以通过调整模块参数来改变累积分隔、初始条件等,以适应不同的应用需求。
连续模块(Continuous)Integrator:输入信号积分Derivative:输入信号微分State-Space:线性状态空间系统模型Transfer-Fcn:线性传递函数模型Zero-Pole:以零极点表示的传递函数模型Memory:存储上一时刻的状态值Transport Delay:输入信号延时一个固定时间再输出Variable Transport Delay:输入信号延时一个可变时间再输出离散模块(Discrete)discrete.mdlDiscrete-time Integrator:离散时间积分器Discrete Filter:IIR与FIR滤波器Discrete State-Space:离散状态空间系统模型Discrete Transfer-Fcn:离散传递函数模型Discrete Zero-Pole:以零极点表示的离散传递函数模型First-Order Hold:一阶采样和保持器Zero-Order Hold:零阶采样和保持器Unit Delay:一个采样周期的延时函数和平台模块(Function&Tables) function.mdlFcn:用自定义的函数(表达式)进行运算MATLAB Fcn:利用matlab的现有函数进行运算S-Function:调用自编的S函数的程序进行运算Look-Up Table:建立输入信号的查询表(线性峰值匹配)Look-Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配)数学模块(Math )math.mdlSum:加减运算Product:乘运算Dot Product:点乘运算Gain:比例运算Math Function:包括指数函数、对数函数、求平方、开根号等常用数学函数Trigonometric Function:三角函数,包括正弦、余弦、正切等MinMax:最值运算Abs:取绝对值Sign:符号函数Logical Operator:逻辑运算Relational Operator:关系运算Complex to Magnitude-Angle:由复数输入转为幅值和相角输出Magnitude-Angle to Complex:由幅值和相角输入合成复数输出Complex to Real-Imag:由复数输入转为实部和虚部输出Real-Imag to Complex:由实部和虚部输入合成复数输出非线性模块(Nonlinear )nonlinear.mdlSaturation:饱和输出,让输出超过某一值时能够饱和。
SIMULINK的模块库介绍SIMILINK模块库按功能进行分为以下8类子库:Continuous(连续模块)Discrete(离散模块)Function&Tables(函数和平台模块)Math(数学模块)Nonlinear(非线性模块)Signals&Systems(信号和系统模块)Sinks(接收器模块)Sources(输入源模块)连续模块(Continuous)continuous.mdlIntegrator:输入信号积分Derivative:输入信号微分State-Space:线性状态空间系统模型Transfer-Fcn:线性传递函数模型Zero-Pole:以零极点表示的传递函数模型Memory:存储上一时刻的状态值Transport Delay:输入信号延时一个固定时间再输出Variable Transport Delay:输入信号延时一个可变时间再输出离散模块(Discrete)discrete.mdlDiscrete-time Integrator:离散时间积分器Discrete Filter:IIR与FIR滤波器Discrete State-Space:离散状态空间系统模型Discrete Transfer-Fcn:离散传递函数模型Discrete Zero-Pole:以零极点表示的离散传递函数模型First-Order Hold:一阶采样和保持器Zero-Order Hold:零阶采样和保持器Unit Delay:一个采样周期的延时函数和平台模块(Function&Tables) function.mdlFcn:用自定义的函数(表达式)进行运算MATLAB Fcn:利用matlab的现有函数进行运算S-Function:调用自编的S函数的程序进行运算Look-Up Table:建立输入信号的查询表(线性峰值匹配)Look-Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配)数学模块(Math )math.mdlSum:加减运算Product:乘运算Dot Product:点乘运算Gain:比例运算Math Function:包括指数函数、对数函数、求平方、开根号等常用数学函数Trigonometric Function:三角函数,包括正弦、余弦、正切等MinMax:最值运算Abs:取绝对值Sign:符号函数Logical Operator:逻辑运算Relational Operator:关系运算Complex to Magnitude-Angle:由复数输入转为幅值和相角输出Magnitude-Angle to Complex:由幅值和相角输入合成复数输出Complex to Real-Imag:由复数输入转为实部和虚部输出Real-Imag to Complex:由实部和虚部输入合成复数输出非线性模块(Nonlinear )nonlinear.mdlSaturation:饱和输出,让输出超过某一值时能够饱和。
Simulink常用库模块介绍MatlabaSimulink是一种图形化编程环境,用于设计、建模和仿真动态系统。
它是Matlab的一部分,通过可视化编程方法,可以快速搭建模型并进行系统仿真。
Simulink提供了许多常用的库模块,用于模拟不同类型的系统。
以下是一些Simulink常用库模块的介绍:1. Continuous库模块:这个库模块包含了用于建模连续时间系统的模块。
其中最常用的模块包括Gain(增益),Transfer Fcn(传递函数),Integrator(积分器)和Sum(求和器)。
通过这些模块,可以建立线性和非线性的连续时间系统模型。
2. Discrete库模块:这个库模块包含了用于建模离散时间系统的模块。
其中最常用的模块包括Delay(延时器),Discrete Transfer Fcn (离散传递函数),Discrete Filter(离散滤波器)和Unit Delay(单位延时器)。
这些模块用于建立离散时间系统的模型。
3. Sources库模块:这个库模块包含了用于系统输入的模块。
其中最常用的模块包括Constant(常数),Step(阶跃信号),Ramp(斜坡信号)和Sine Wave(正弦波)。
这些模块用于生成系统的输入信号。
4. Sinks库模块:这个库模块包含了用于系统输出的模块。
其中最常用的模块包括Scope(示波器),To Workspace(保存数据到工作空间)和Display(显示结果)。
这些模块用于获取系统的输出信号并进行可视化或保存。
5. Math Operations库模块:这个库模块包含了各种数学运算模块。
其中最常用的模块包括Add(加法),Subtract(减法),Multiply(乘法)和Divide(除法)。
这些模块可用于进行各种数学运算,例如加减乘除等。
6. Logic and Bit Operations库模块:这个库模块包含了逻辑和位运算模块。
Simulink模块库简介(4)Simulink模块库简介(4)标签:MATLAB笔记 2006-10-08 09:423. 离散模块(Discrete)在Simulink基本模块中选择“Discrete”后,单击便看到如图6.17所⽰的离散模块,它包括以下⼦模块。
● Difference:差分环节;● Discrete Derivative:离散微分环节;● Discrete Filter:离散滤波器;● Discrete State-Space:离散状态空间系统模型;● Discrete Transfer-Fcn:离散传递函数模型;● Discrete Zero-Pole:以零极点表⽰的离散传递函数模型;● Discrete-time Integrator:离散时间积分器;● First-Order Hold:⼀阶保持器;● Integer Delay:整数被延迟;● Memory:输出本模块上⼀步的输出值;● Tapped Delay:延迟;● Transfer Fcn First Order:离散⼀阶传递函数;● Transfer Fcn Lead or Lag:传递函数;● Transfer Fcn Real Zero:离散零点传递函数;● Unit Delay:⼀个采样周期的延迟;● Weighted Moving Average:权值移动平均模型;● Zero-Order Hold:零阶保持器;4. 逻辑和位操作模块(Logic and Bit Operations)在Simulink基本模块中选择Logic and Bit Operations后,单击便看到如图6.18所⽰的逻辑和位操作模块,它包括以下⼦模块:● Bit Clear:位清零;● Bit Set:位置位;● Bitwise Operator:逐位操作;● Combinatiorial Logic:组合逻辑;● Compare To Constant:和常量⽐较;● Compare To Zero:和零⽐较;● Detect Change:检测跳变;● Detect Decrease:检测递减;● Detect Fall Negative:检测负下降沿;● Detect Fall Nonpositive:检测⾮负下降沿;● Detect Increease:检测递增;● Detect Rise Nonnegative:检测⾮负上升沿;● Detect Rise Positive:检测正上升沿;● Extract Bits:提取位;● Interval Test:检测开区间;● Interval Test Dynamic:动态检测开区间;● Logical Operatior:逻辑操作符;● Relational Operator:关系操作符;● Shift Arithmetic:移位运算。
认识Simulink的重要模块库(Simulink模块库按照功能分类,包括13类模块库)一、Continuous(连续模块库):它包括以下七个功能模块:1.Derivative:输入信号微分模块;2.Integrator:输入信号积分模块;3.State-Space:线性状态空间系统模型;4.Transfer-Fcn:线性传递函数模型;5.Transport Delay:输入信号延时一个固定时间再输出;6.Variable Transport Delay:输入信号延时一个可变时间再输出;7.Zero-Pole:以零极点表示的传递函数模型。
二、Discrete(离散模块库)它包括以下九个功能模块:1.Discrete Transfer-Fcn:离散传递函数模型;2.Discrete Zero-Pole:以零极点表示的离散传递函数模型;3.Discrete Filter:实现无限脉冲响应(IIR)与有限脉冲响应(FIR)滤波器;4.Discrete State-Space:离散状态空间系统模型;5.First-Order Hold:实现一阶采样和保持器;6.Memory:存储上一个时刻的状态值;7.Unit Delay:一个采样周期的延时;8.Discrete-time Integrator:离散时间积分器;9.-Order Hold:实现零阶采样和保持器。
三、Look-Up Tables(查询表模块库)它包括以下六个功能模块:1.Direct Look-Up Table(n-D):检索n维表,以重新获得标量、向量或2维矩阵2.Interpolation(n-D)using PreLook-Up:执行高精度的常值或线性插值3.Look-Up Table:使用指定的查表方法近似一维函数,即建立输入信号的查询表4.Look-Up Table(2-D): 使用指定的查表方法近似二维函数,即建立两个输入信号的查询表5.Look-Up Table(n-D):执行n个输入定常数、线性或样条插值映射6.PreLook-Up Index Search:在设置的断点处为输入执行检索查找和小数计算四、Math Operations(数学运算模块库)它包括以下25个功能模块:1.Abs:对输入信号求绝对值运算;2.Sum:加减运算,可以加减标量、向量和矩阵;3.Product:对输入信号求积和商运算;4.Dot Product:点积(内积)运算;5.Gain:比例运算,或称为常量增益(输入信号乘以常数);6.Sign:表明输入符号信号或符号函数;7.MinMax:输出输入信号的最小值和最大值(即极值运算);8.Slider Gain:可以用滑动条来改变增益;9.Matrix Gain:矩阵增益,即输入信号乘以矩阵;10.Math Function:包括指数、对数函数、求平方、开根号等常用数学运算函数;11.Rounding Function:取整运算函数;12.Trigonometric Function:三角函数,包括正弦、余弦、正切等;13.Logical Operator:逻辑运算14.Relational Operator:关系运算15.Complex to Magnitude-Angle:由复数输入信号转为幅值和相角输出;16.Magnitude-Angle to Complex:由幅值和相角输入信号合成复数输出;17.Complex to Real-Imag:由复数输入信号转为实部和虚部输出;18.Real-Imag to Complex:由实部和虚部输入信号合成复数输出。
Simulink 中的模块一:连续模块库(Continuous)1.积分模块(Integrator):功能:对输入变量进行积分。
说明:模块的输入可以是标量,也可以是矢量;输入信号的维数必须与输入信号保持一致。
2. 微分模块(Derivative)功能:通过计算差分A u/A t 近似计算输入变量的微分。
功能:用于建立一个预先指定的零点、极点,并用延迟算子s 表示的连续。
7.传输延迟模块(TransportDelay) 功能:用于将输入端的信号延迟指定的时间后再传输给输出信号8. 可变传输延迟模块(VariableTransportDelay) 功能:用于将输入端的信号进行可变时间的延迟。
二:离散模块库(Discrete)1 •零阶保持器模块(Zero-Order-Hold)功能:在一个步长内将输出的值保持在同一个值上。
2 .单位延迟模块(UnitDelay)功能:将输入信号作单位延迟,并且保持一个采样周期相当于时间算子z -1。
3•离散时间积分模块(DiscreteTimeIntegrator)功能:在构造完全离散的系统时,代替连续积分的功能。
使用的积分方法有:向前欧拉法向后欧拉法、梯形法。
6•离散传递函数模块(DiscreteTransferFcn)3. 线性状态空间模块(State-Space) 功能:用于实现以下数学方程描述的系统4. 传递函数模块(TransferFen) 功能:用执行一个线性传递函数。
5. 零极点传递函数模块(Zero-Pole)Ax y =Cx +Bu +Du4 •离散状态空间模块(DiscreteStateSpace)'功能:用于实现如下数学方程描述的系统:<5 •离散滤波器模块(DiscreteFilter) x[(n +1)T]=Ax(nT)+Bu(nT) 功能:用于实现无限脉冲响应(IIR )和有限脉冲响应T R)的数C 滤波器。
)+Du (nT )功能:用于执行一个离散传递函数。
在Simulink中创建离散积分复位,可以通过Discrete-Time Integrator块来实现。
以下是具体步骤:
1. 在Simulink模型中,找到并选择Discrete-Time Integrator块。
2. 在块的参数对话框中,定义上积分的上限和下限。
3. 创建一个输入块的复位输出(state),其初始值取决于如何输入。
4. 创建一个可选的状态,使输出块的输出值可以触发块复位。
5. 在“Discrete-Time Integrator”参数对话框中,指定Initial condition source参数为internal,并输
入Initial condition的值。
6. 额外的输入端口会出现在模块上,输入所需的参数。
7. 为了防止输出超过可指定的水平,可以选择限制输出“复选框”,并输入适当的参数字段的限值。
这
将导致该块作为有限的积分器。
当输出达到极限时,积分作用被关闭,以防止超过积分限值。
在 MATLAB Simulink 中,Discrete-Time Integrator 模块用于进行离散时间积分操作。
该模块可以在 Simulink 模型中创建一个离散时间积分器,用于对输入信号进行累
积求和。
初始条件是在模块初始化时给定的初始积分值。
Discrete-Time Integrator 模块的基本参数:
1.Initial condition (初始条件):
▪初始条件表示在模块开始运行时的初始积分值。
可以在模块的参数中设置这个初始条件。
MATLAB 指令示例:
在 Simulink 模型中,通过在模型中添加 Discrete-Time Integrator 模块,并设置初始
条件,可以实现对输入信号的离散时间积分。
以下是 MATLAB 指令的示例:
在上述示例中,InitialCondition参数被设置为initialCondition的值。
这个值可以根据你
的需求设置为任何你希望的初始积分值。
请注意,这只是一个简单的示例,实际使用中需要根据具体的系统和控制需求来设置初始条件和其他参数。
精品好资料——————学习推荐这些图片的窗口是从MA TLAB R2012b里面截图下来的,注释还不够全面。
如有出入之处,敬请谅解!1/ 20Derivative :微分模块,输出为输入信号的微分。
无需设置参数Integrator:积分模块,输出时输入信号的积分,可设定初始条件(比如混沌系统的仿真),通常情况下初始条件不用考虑Memory:输出来自前一个时间步的模块输入State-Space:状态空间模块,主要应用应用于现代控制理论中多输入多输出系统的仿真,双击模块可设置的主要参数有:系数矩阵A,B,C,D以及初始条件Transfer Fcn:传递函数多项式模型,实现现行传递系统,双击可设置分子多项式和坟墓多项式的系数Transport Delay:时间延迟模块,通过模块内部参数设定延迟时间Variable Transport Delay:将输入延迟一可变的时间Zero-Pole:传递函数零、极点模型,实现一个用零极点标明的传递函数,双击设置零点、极点、增益2/ 20Backlash:磁滞回环特性模块Coulomb & Viscous Friction:库伦摩擦与黏性摩擦特性模块Dead Zone:死区特性模块Hit Crossing:检测输入信号的零交叉点模块Quantizer:阶梯状量化处理模块Rate Limiter:变化速率限幅模块Relay:带有滞环的继电特性模块Saturation:限幅的饱和特性模块3/ 204/ 20Discrete Transfer Fcn:离散系统传递函数多项式模型,可设置分子分母多项式Discrete Zero-Pole:离散系统传递函数零极点模型,可设置零点、极点、增益,可以设置采样时间Discrete Filter:离散系统滤波器,可设置分子分母系数(按照z-1作升幂排列),可设置采样时间Discrete State-Space:离散系统状态空间表达式模块,可设置参数矩阵A,B,C,D,可设置采样时间、初始条件Discrete-Time Integrator:离散系统积分器模块,可设置采样时间、初始条件Unit Delay:离散系统单位延迟模块,可设置采样时间,初始条件Fist-Order Hol:一阶采样保持器Memory:存储模块Zero-Order Hold:零阶采样保持器Discrete Filter:实现IIR和FIR滤波器Discrete State-Space:实现一个离散状态空间系统Discrete-Time Integrator:离散时间积分器Discrete Transfer Fcn :实现一个离散传递函数Discrete Zero-Pol:实现一个用零极点来说明的离散传递函数First-Order Hold:实现一个一阶保持采样-保持系统Unit Delay:将信号延时一个单位采样时间Zero-Order Hold:实现具有一个采样周期的零阶保持5/ 206/ 20Direct Look-Up Table(n-D):直接查询n维表模块Interpolation(n-D)Using Prelook-up:适用预查询的n维内查表模块Look-Up Table:一维查表模块Look-Up Table(2-D):二维查表模块Look-Up Table(n-D):n维查表模块Prelook-Up Index Search:预查询索引搜寻模块7/ 208/ 20Abs:绝对值或复数求模模块,输出是输入信号的绝对值(或复数的模)Algebraic Constraint:代数约束模块,将输入信号约束为零,计算输入信号为零时的状态值Assignment:分配器模块Bitwise Logical Operator:位逻辑运算模块,可选择逻辑运算关系(与-AND,或-OR,非-NOT,异或-XOR等),可设置第二运算数(默认值为FFFF)Combinatorial Logic:实现一个真值表,组合逻辑运算模块Complex to Magnitude-Angle:复数模、角运算模块,输入量为复数,输出量有两个,一个输出为输入信号的模,另一个为输入信号的角Complex to Real-Imag:复数实部、虚部运算模块,输入量为复数,输出量有两个,一个输出为输入信号的实部,另一个为输入信号的虚部Derivative:输出输入信号的时间微分Dot Product:两输入信号进行点积(内积)运算,无需设置参数Gain:增益模块,将模块的输入信号乘上一个增益Logical Operator:多输入单输出逻辑运算模块,可选择逻辑运算关系(与-AND,或-OR,非-NOT,异或-XOR等)、设置输入信号的个数Magnitude-Angle to Complex:模角生成复数模块,默认输入量有两个:一模一角。