Discrete State-Space
- 格式:docx
- 大小:61.16 KB
- 文档页数:6
1 Continuous(连续模块)Integrator :输入信号积分Derivative :输入信号微分State-Space :线性状态空间系统模型Transfer-Fcn :线性传递函数模型Zero-Pole :以零极点表示的传递函数模型Memory :存储上一时刻的状态值Transport Delay :输入信号延时一个固定时间再输出Variable Transport Delay :输入信号延时一个可变时间再输出2 Discrete (离散模块)Discrete-time Integrator :离散时间积分Discrete Filter :IIR与FIR滤波器Discrete State-Space :离散状态空间系统模型Discrete Transfer-Fcn :离散传递函数模型Discrete Zero-Pole :以零极点表示的离散传递函数模型First-Order Hold :一阶采样和保持器Unit Delay :一个采样周期的延时3 Function&Tables(函数和表格模块)Fcn :用自己定义的函数(表达式)进行运算MATLAB Fcn :利用MA TLAB的现有函数进行运算S-Function :调用自编的S函数的程序进行运算Look-Up Table :建立输入信号的查询表(线性峰值匹配)Look-Up Table (2-D):建立两个输入信号的查询表(线性峰值匹配)4 Math Operations(数学运算模块)Sum :加减运算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 :由实部和虚部输入合成复数输出5 Nonlinear (非线性模块)Saturation :饱和输出,让输出超过某一值时能够饱和Relay :滞环比较器,限制输出值在某一范围内变化Switch :开关选择,当第二个输入端大于临界值时,输出由第一个输入端而来,否则输出由第三个输入端而来。
这些图片的窗口是从MA TLAB R2012b里面截图下来的,注释还不够全面。
如有出入之处,敬请谅解!Derivative :微分模块,输出为输入信号的微分。
无需设置参数Integrator:积分模块,输出时输入信号的积分,可设定初始条件(比如混沌系统的仿真),通常情况下初始条件不用考虑Memory:输出来自前一个时间步的模块输入State-Space:状态空间模块,主要应用应用于现代控制理论中多输入多输出系统的仿真,双击模块可设置的主要参数有:系数矩阵A,B,C,D以及初始条件Transfer Fcn:传递函数多项式模型,实现现行传递系统,双击可设置分子多项式和坟墓多项式的系数Transport Delay:时间延迟模块,通过模块内部参数设定延迟时间Variable Transport Delay:将输入延迟一可变的时间Zero-Pole:传递函数零、极点模型,实现一个用零极点标明的传递函数,双击设置零点、极点、增益Backlash:磁滞回环特性模块Coulomb & Viscous Friction:库伦摩擦与黏性摩擦特性模块Dead Zone:死区特性模块Hit Crossing:检测输入信号的零交叉点模块Quantizer:阶梯状量化处理模块Rate Limiter:变化速率限幅模块Relay:带有滞环的继电特性模块Saturation:限幅的饱和特性模块Discrete 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:实现具有一个采样周期的零阶保持Direct 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:预查询索引搜寻模块Abs:绝对值或复数求模模块,输出是输入信号的绝对值(或复数的模)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:模角生成复数模块,默认输入量有两个:一模一角。
连续模块(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模块库一、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:由实部和虚部输入信号合成复数输出。
离散时间状态空间模型模型预测控制1. 简介离散时间状态空间模型模型预测控制(Discrete-Time State-Space Model Predictive Control,简称DT-SSMPC)是一种在离散时间下对系统进行建模和控制的方法。
它基于状态空间模型和模型预测控制的原理,通过对系统状态的预测和优化求解,实现对系统的控制。
2. 状态空间模型状态空间模型是描述动态系统行为的数学模型。
它包括状态方程和输出方程两部分。
状态方程描述系统状态的演化过程,通常采用差分方程表示。
对于离散时间系统,状态方程可以表示为:x(k+1) = Ax(k) + Bu(k)其中,x(k)表示系统在时刻k的状态,u(k)表示在时刻k的控制输入,A和B分别是状态转移矩阵和输入矩阵。
输出方程描述系统输出与状态之间的关系,通常采用线性方程表示。
对于离散时间系统,输出方程可以表示为:y(k) = Cx(k) + Du(k)其中,y(k)表示系统在时刻k的输出,C和D分别是输出矩阵和直接转移矩阵。
3. 模型预测控制模型预测控制(Model Predictive Control,简称MPC)是一种基于模型的控制方法。
它通过对系统未来状态的预测,通过优化求解来选择最优的控制输入,从而实现对系统的控制。
MPC的基本思想是,在每个时刻上,根据当前的状态和模型,预测未来一段时间内系统的行为,然后通过优化求解,选择使得性能指标最优的控制输入。
然后,只应用当前时刻的控制输入,等待下一个时刻再次进行预测和优化求解。
MPC的优点是可以灵活地处理系统的约束和非线性特性,能够在控制过程中考虑系统的动态响应和性能指标,具有较好的鲁棒性和适应性。
4. DT-SSMPC方法离散时间状态空间模型模型预测控制(DT-SSMPC)是将状态空间模型和模型预测控制相结合的一种方法。
它通过对离散时间状态空间模型的建模和预测,实现对系统的控制。
DT-SSMPC的步骤如下:1.建立离散时间状态空间模型:根据系统的动态方程和输出方程,建立离散时间状态空间模型。
Simulink 常用模块名称中英文对照Sources 库Band-Limited White Noise:宽带限幅白噪声模块,把一个白噪声引入到连续系统中Chirp Signal:线性调频信号(频率按时间线性变化的正弦波)模块,产生频率增加的正弦信号Clock:时钟信号模块,显示或者提供仿真时间Constant :常量输入模块,产生一个常数值Digital Clock:数字时钟模块,按指定的间隔产生采样时间Digital Pulse Generator:产生具有固定间隔的脉冲From File:从一个文件读取数据From Work space:从在工作空间定义的矩阵读入数据Ground:接地模块,将一个未连接的输入端接地In1:输入端口模块Pulse Generator:脉冲信号发生器模块,产生固定间隔的脉冲Ramp:斜坡信号输入模块,产生一个以常数斜率增加或者减小的信号Random Number:产生正态分布的随机数RepeatingSequence:产生一个可重复的任意信号Signal Generator:产生多种多样的普通信号Signal Builder:自定义信号发生器Sine Wave:产生正弦波信号Step:阶跃信号模块,产生一个单步函数Uniform Random Number:产生均匀分布的随机数Sinks 库Display:实时数字显示模块,显示其输入信号的值Floating Scope:浮动示波器模块Out1:输出端口模块Scope:示波器模块,显示在仿真过程产生的信号的波形Stop Simulation:仿真终止模块,当它的输入信号非零时,就结束仿真Terminator:信号终结模块,结束一个未连接的输出端口To File:写数据到文件To Workspace:把数据写进工作空间里定义的矩阵变量XY Graph:用一个 MATLAB 图形窗口来显示信号的 X-Y 坐标的图形Continuous 库主要用于连续系统的仿真Derivative :微分模块,输出为输入信号的微分。
Discrete State-Space/p/1914543655实现离散状态空间系统库离散块特性为非空矩阵Discrete State-Space块实现所描述的系统其中,u为输入,x是的状态,和y为输出。
矩阵系数必须具有以下特征,如下面的图中示出∙A必须的n×n矩阵,其中n是状态的数量。
∙B必须是一个的n×m矩阵,其中m是的输入的数量。
∙C必须是一个r-n矩阵,其中r是产出的数目。
∙D必须是一个r-m的矩阵。
块接受的一个输入端,并产生一个输出。
在输入向量的宽度B和D矩阵中的列数。
输出向量的宽度C和D的矩阵中的行数。
要定义的初始状态向量,使用Initial conditions参数要为A, B, C, D,或Initial conditions指定一个向量或矩阵的零点,使用zeros函数.块特性为空矩阵当矩阵A,B,和C是空的(例如,[]),该块的功能成为y(n) = Du(n)。
如果Initial conditions 的矢量也是空的,该块采用零初始状态向量。
Discrete State Space块接受和输出实数信号的single或double类型。
见Data Types Supported by SimulinkDiscrete State-Space块对话框中Main窗格显示如下:A, B, C, D指定“描述”一节中所定义的矩阵系数Initial conditions指定的初始状态向量。
默认值是0。
Simulink中不允许此块的初始状态是INF或NaN。
Sample time (–1 for inherited)指定样本之间的时间间隔。
见Specify Sample TimeDiscrete State-Space块对话框中State Attributes窗格显示如下:State name使用此参数可以指定一个唯一的名称置为块状态。
默认值是“”。
当该字段为空,没有名字的分配。
常用模块组(Commonly Used Blocks)Integrator:积分器模块,输出对输入时间积分。
Derivative:微分器模块,输出对输入时间微分。
State-Space:状态空间表达式模块,实现线性状态空间系统。
Transfer Fcn:传递函数模块,实现线性传递函数。
Zero-Pole:零极点函数模块,实现用零极点方式指定传递函数。
Transport Delay:传输延迟模块,以固定的时间延迟输入。
Variable Transport Delay:可变传输延迟模块,以变化的时间量延迟输入。
Variable Time Delay:可变时间延迟模块。
非线性模块组(Discontinuities)非线性模块组(Discontinuities)Backlash:磁滞回环模块。
Saturation:饱和非线性模块。
SaturationDynamic:动态饱和非线性模块。
Dead Zone:死区非线性模块。
Dead Zone Dynamic:动态死区非线性模块。
Relay:继电模块。
Quantizer:量化模块。
Coulomb & Viscous Friction:库伦与黏性摩擦非线性模块。
Rate Limiter:静态限制信号的变化速率。
Rate Limiter Dynamic:动态限制信号的变化速率。
Hit Crossing:过零检测非线性模块。
Wrap to Zero:环零非线性模块。
离散系统模块组(Discrete)离散系统模块组(Discrete)Unit Delay:单位时间延迟,延迟信号一个采样周期。
Discrete Transfer Fcn:离散系统的传递函数,实现离散传递函数。
Discrete Zero-Pole:离散系统的零极点函数Discrete State-Space:离散系统的状态方程,实现离散状态空间系统。
Discrete State-Space
/p/1914543655
实现离散状态空间系统
库
离散
块特性为非空矩阵
Discrete State-Space块实现所描述的系统
其中,u为输入,x是的状态,和y为输出。
矩阵系数必须具有以下特征,如下面的图中示出
∙A必须的n×n矩阵,其中n是状态的数量。
∙B必须是一个的n×m矩阵,其中m是的输入的数量。
∙C必须是一个r-n矩阵,其中r是产出的数目。
∙D必须是一个r-m的矩阵。
块接受的一个输入端,并产生一个输出。
在输入向量的宽度B和D矩阵中的列数。
输出向量的宽度C和D的矩阵中的行数。
要定义的初始状态向量,使用Initial conditions参数
要为A, B, C, D,或Initial conditions指定一个向量或矩阵的零点,使用zeros函数.
块特性为空矩阵
当矩阵A,B,和C是空的(例如,[]),该块的功能成为y(n) = Du(n)。
如果Initial conditions 的矢量也是空的,该块采用零初始状态向量。
Discrete State Space块接受和输出实数信号的single或double类型。
见Data Types Supported by Simulink
Discrete State-Space块对话框中Main窗格显示如下:
A, B, C, D
指定“描述”一节中所定义的矩阵系数
Initial conditions
指定的初始状态向量。
默认值是0。
Simulink中不允许此块的初始状态是INF或NaN。
Sample time (–1 for inherited)
指定样本之间的时间间隔。
见Specify Sample Time
Discrete State-Space块对话框中State Attributes窗格显示如下:
State name
使用此参数可以指定一个唯一的名称置为块状态。
默认值是“”。
当该字段为空,没有名字的分配。
使用此参数时,请记住以下注意事项
∙一个有效的标识符以字母或下划线,其次是字母数字或下划线字符。
∙状态名称仅适用于选定的块。
此参数启用State name must resolve to Simulink signal object当你点击Apply.
见States
State name must resolve to Simulink signal object
选中此复选框要求状态名称解析为一个Simulink信号对象。
默认情况下,此复选框被清除。
State name启用此参数
选中此复选框禁用Code generation storage class.
Package
选择一个包,定义了自定义的存储类,你要申请。
如果你定义了任何你自己的包,请点击Refresh.此操作会将您的搜索路径中的所有用户定义的包到包列表。
Code generation storage class
从列表中选择一个状态存储类。
Auto
Auto是存储类使用的状态,并不需要外部代码接口。
ExportedGlobal
状态被存储在一个全局变量。
ImportedExtern
model_private.h作为外部变量声明的状态。
ImportedExternPointer
model_private.h作为一个外部的指针声明的状态
State name启用此参数
设置此参数为ExportedGlobal, ImportedExtern, 或ImportedExternPointer启用
Code generation storage type qualifier.
Code generation storage type qualifier
指定一个Simulink编码器的存储类型限定符。
默认值是“”。
当该字段为空,没有限定符分配。
Simulink的编码器产品不检查这个字符串的错误。
因此,无论您输入的值都会自动
出现在变量的声明。
设置Code generation storage class为ExportedGlobal, ImportedExtern, 或
ImportedExternPointer启用此参数.
在模拟过程中,该块使用以下值:
∙•状态名称被解析的信号对象的初始值
∙信号对象的最小值和最大值
见States。