模拟线性参数变化(LPV)系统
在Simulink中表示和仿真线性参数变化(LPV)系统金宝app®.该块还支持代码生成。金宝app
一个线性参数变化LPV系统是一个线性状态空间模型,其动力学是某些时变参数的函数调度参数.在matlab.®, LPV模型以状态空间形式表示,使用参数相关的系数。
数学上,LPV系统表示为:
(1) |
在哪里
u (t)
是投入
y(t)
输出
x (t)
模型状态是否具有初始值x0
状态导数是向量吗 为连续时间系统和状态更新向量 离散时间系统。ΔT是采样时间。
(p)
,B (p)
,C (p)
和D (p)
是由调度参数矢量参数化的状态空间矩阵p
.
参数p = p (t)
是模型的输入和状态的可测量函数。它们可以是一个标量或由几个参数组成的向量。调度参数集定义调度空间LPV模型的定义。
该块实现了LPV系统的基于网格的表示。您可以为调度参数选择一个值网格。在每个值p = p *
,将相应的线性系统指定为状态空间(党卫军
或者中的难点
(系统识别工具箱))模型对象。使用生成的状态空间模型数组配置LPV系统块。
该块接受带有操作点信息的状态空间模型数组。中提取了有关调度变量的信息SamplingGrid
属性。调度变量定义了LPV模型的网格。它们是标量,可以是时间、输入和状态或常数的函数。它们用于选择操作空间中的局部动态。该软件将这些变量的值内插。该块使用该阵列与数据插值和外推技术进行仿真。
LPV系统表示可以扩展以允许偏移dx
,x
,u
和y
变量。这种形式被称为仿射形式LPV模型。数学上,下面是LPV系统:
(2) |
是价值观的偏移量dx (t)
,x (t)
,u (t)
和y(t)
在给定的参数值p = p (t)
.
要获得线性系统阵列的这种表示,将一批操作点上的Simulink模型线性化(参见金宝app批处理线性化(金宝app仿真软件控制设计))。偏移量对应于线性化模型的工作点。
通过返回诸如此类的功能时,可以通过返回额外的线性化信息来获取偏移量线性化
(金宝app仿真软件控制设计)或者getIOTransfer
(金宝app仿真软件控制设计).然后可以使用getOffsetsForLPV
(金宝app仿真软件控制设计).例如,看到升压变换器模型的LPV近似(金宝app仿真软件控制设计).
以下限制适用于LPV系统布洛克:
内部延误不能推断以低于状态空间模型阵列中的最小值。
当使用线性模型的不规则网格来定义LPV系统时,只使用最近邻插值方案。这可能会降低仿真结果的准确性。建议使用规则的网格。要了解更多关于规则和不规则网格的知识,请看规则网格与不规则网格.
单和双数据。您必须将输入信号或模型属性的任何其他数据类型转换为这些数据类型。
的LPV系统块参数对话框包含五个选项卡,用于指定系统数据,调度算法和输出端口。下表总结了块参数。
任务 | 参数 |
---|---|
指定一系列状态空间模型和初始状态 | in.LPV模型标签: |
指定工作点偏移量 | in.LPV模型标签: |
在状态导数或更新变量中指定偏移量 | 当LPV模型标签: |
指定哪些模型矩阵是固定的,以及它们的标称值要覆盖模型数据中的条目。 在某些情况下,您可能希望替换参数相关的矩阵,例如 (p) 固定值一个* 为模拟。例如,一个* 可以表示调度范围内的平均值。 |
当固定的条目标签: |
指定插值和外推选项 | 当调度标签: |
指定块的其他输出 | 当输出标签: |
指定代码生成设置 | 当代码生成标签: |
状态空间数组(党卫军
或者中的难点
(系统识别工具箱))模型。数组中的所有模型必须使用相同的状态定义。使用SamplingGrid
状态空间对象的属性为模型指定调度参数。看看党卫军
或者中的难点
模型参考页的更多信息SamplingGrid
财产。
当块处于具有同步状态控制的模型时(参见国家控制(高密度脂蛋白编码器)块),您必须指定一个离散时间模型数组。
初始条件与本地模型一起使用,以启动模拟,指定以下之一:
0 (默认)
等于模型状态数的长度的双向量
在输入偏移量u (t)
,指定为下列其中之一:
0 (默认) -当没有输入偏移量时使用( )。
长度等于输入数量的双向量——当整个调度空间的输入偏移量相同时使用。
双数组大小[nu.
1SysArraysize.
-当存在偏移量且偏移量随调度空间而变化时使用。在这里,nu.
=输入数,SysArraysize.
=状态空间数组的大小。使用大小
以确定数组大小。
可以在线性化过程中获取偏移量,并将其转换为支持的格式金宝appLPV系统块。有关更多信息,请参见使用LTI系统阵列逼近非线性行为(金宝app仿真软件控制设计)和getOffsetsForLPV
(金宝app仿真软件控制设计).
产出的偏移量y(t)
,指定为下列其中之一:
0 (默认) -当没有输出偏移量时使用 .
长度等于输出数的双向量。当整个调度空间的输出偏移量相同时使用。
双数组大小[纽约
1SysArraysize.
]。当存在偏移量时使用,偏移量因调度空间而异。在这里,纽约
=输出数量,SysArraysize.
=状态空间数组的大小。使用大小
以确定数组大小。
可以在线性化过程中获取偏移量,并将其转换为支持的格式金宝appLPV系统块。有关更多信息,请参见使用LTI系统阵列逼近非线性行为(金宝app仿真软件控制设计)和getOffsetsForLPV
(金宝app仿真软件控制设计).
补偿的州x (t)
,指定为下列其中之一:
0 (默认) -当没有状态偏移时使用 .
长度的双向量等于状态数。当整个调度空间的状态偏移量相同时使用。
双大小数组(nx 1 sysArraySize]
,在那里NX.
=状态数,SysArraysize.
=状态空间数组的大小。当存在偏移量时使用,偏移量因调度空间而异。在这里,NX.
=状态数,SysArraysize.
=状态空间数组的大小。使用大小
以确定数组大小。
可以在线性化过程中获取偏移量,并将其转换为支持的格式金宝appLPV系统块。有关更多信息,请参见使用LTI系统阵列逼近非线性行为(金宝app仿真软件控制设计)和getOffsetsForLPV
(金宝app仿真软件控制设计).
状态导数或更新变量中的偏移量dx (t)
,指定为下列其中之一:
如果在平衡条件下通过线性化得到线性系统阵列,则选择假设均衡条件选择。该选项对应的偏移量为 对于连续时间系统和 对于离散时间系统。此选项是默认选择的。
如果线性系统包含至少一个在非平衡条件下获得的系统,请清除假设均衡条件选择。在。中指定下列选项之一偏移值字段:
如果是dx
偏移值在调度空间上是相同的,指定为等于状态数量的长度向量。
如果是dx
偏移存在,它们在调度空间上不同,指定为大小的双数组[NX.
1SysArraysize.
],在那里NX.
=状态数,和SysArraysize.
=状态空间数组的大小。
可以在线性化过程中获取偏移量,并将其转换为支持的格式金宝appLPV系统块。有关更多信息,请参见使用LTI系统阵列逼近非线性行为(金宝app仿真软件控制设计)和getOffsetsForLPV
(金宝app仿真软件控制设计).
状态空间模型,提供固定系数的值,具体为:
使用状态空间数组中的第一个模型
(默认值:状态空间数组中的第一个模型用于表示LPV模型。在下面的示例中,状态空间数组由object指定sys
固定系数取自模型SYS(::,1)
.
%指定状态空间模型的4 × 5数组。sys = rss(4、2、3、4、5);一个= 1:4;b = 10:10:50;(av, bv) = ndgrid (a, b);%使用“alpha”和“beta”变量作为调度参数。sys。SamplingGrid =结构(“α”、av、“β”、bv);
固定系数取自模型sysFixed =系统(::1)
,对应于(α= 1,β= 10)
.如果(2,1)项一个
矩阵被强制固定,其在仿真过程中使用的值为sysfixed.a(2,1)
.
自定义价值
- 为固定条目指定不同的状态空间模型。为固定模型指定一个变量状态空间模型领域。固定模型必须使用与LPV模型中的状态空间数量相同的状态。
指定状态空间矩阵和延迟向量的系数是固定的。
指定以下其中之一:
标量布尔(真实
或者假
),如果一个矩阵的所有项都以同样的方式处理。
默认值为假
对于状态空间矩阵和延迟向量,这意味着它们被视为自由的。
大小与相应矩阵大小兼容的逻辑矩阵:
状态矩阵 |
固定输入矩阵的大小 |
---|---|
一个矩阵 |
|
B矩阵 |
|
C矩阵 |
|
D矩阵 |
|
输入延迟 |
|
输出延迟 |
|
内部延迟 |
|
在那里,nu.
=输入数,纽约
=输出数量,NX.
=状态数,倪
=内部延迟向量的长度。
数字索引指定固定条目的位置。看sub2ind
有关如何生成与给定下标对应的数字索引的更多信息,请参阅页(i, j)
对于矩阵的一个元素。
插值方法。定义必须如何计算状态空间数据以便调度位于远离其网格位置的参数值。
指定以下选项之一:
平
-选择距离当前点最近但不大于当前点的网格点的状态空间数据。的当前点是当前时间的调度参数的值。
最近的
—选择调度空间中最近网格点的状态空间数据。
线性
—通过调度空间中最近邻的二维线性插值获得状态空间数据,其中d =调度参数个数。
默认插值方案为线性
用于规则网格的调度参数值。对于不规则网格,最近的
无论所做的选择如何,始终使用插值方案。要了解有关常规和不规则网格的更多信息,请参阅规则网格与不规则网格.
的线性
方法的精度最高,但计算时间较长。的平
和最近的
方法适用于具有模式切换动力学的模型。
外推法。定义如何计算处于提供状态空间数组范围之外的调度参数值的状态空间数据(如SamplingGrid
财产)。
指定以下选项之一:
剪辑
(默认值:)—禁用推断并返回与最近的可用调度网格点对应的数据。
线性
-根据当前值是否小于第一个或大于最后一个网格点值,分别对每个调度参数的第一个或最后一个值之间的行进行拟合。此方法返回该线上对应于当前值的点。线性外推要求插值方案也是线性的。
当前调度参数值在调度空间中的位置由预查找算法确定。选择线性搜索
或者二分查找
.每种搜索方法在不同的情况下都有速度优势。有关此参数的更多信息,请参阅Prelookup(金宝app模型)块参考页面。
当您希望块使用先前的时间步骤中找到的索引开始搜索时,选中此复选框。有关此参数的更多信息,请参阅Prelookup(金宝app模型)块参考页面。
添加x
端口到块输出状态值。此选项是默认选择的。
添加dx
端口到块输出状态导数值或更新值。此选项是默认选择的。
添加党卫军
端口到块输出状态空间数据作为一个结构。此选项是默认选择的。
生成的结构的字段有:
状态矩阵一个
,B
,C
,D
.
延迟InputDelay
,OutputDelay
,和InternalDelay
.的InternalDelay
仅当模型内部延迟时才可用。
添加抵消
端口到块输出LPV模型偏移
.
结构的领域是:
InputOffset.
,OutputOffset
,StateOffset
,和陈述offet
在连续时间。
InputOffset.
,OutputOffset
,StateOffset
,和StateUpdateOffset
在离散时间。
金宝app支持的数据类型。此选项仅用于离散时间状态空间模型。指定双
或者单
.
用于存储包含延迟的模型的输入点数的初始内存分配。如果输入点的数量超过初始缓冲区大小,则块分配额外的存储器。默认大小为1024。
在加速器模式下运行模型或构建模型时,请确保初始缓冲区大小足够大,以处理模型中最大的预期延迟。
指定是否使用固定的缓冲区大小来保存前一个时间步骤的延迟输入和输出数据。对于包含输入或输出延迟的连续时间LPV系统,请使用此选项。如果缓冲区已满,则新数据将替换缓冲区中已经存在的数据。该软件使用线性外推来估计不存在缓冲区中的输出值。
考虑一个2输入3输出4状态LPV模型。使用输入u (2)
和国家x (1)
作为调度参数。配置Simulink模型如下金宝app图所示。
考虑一种线性质量弹簧阻尼系统,其质量变化作为外部负载命令的函数。管理方程式是:
在哪里m (u)
质量是否取决于外部指令u
,c
为阻尼比,k
是弹簧的刚度和F (t)
为强迫输入。y(t)
在给定时间是质量的位置t
.对于固定值u
时,系统为线性,表示为:
在哪里
状态向量是和吗米
是给定价值的质量的价值u
.
在本例中,您希望研究从1到10 Volts的输入值范围内的模型行为。对于每个值u
,测量质量并计算系统的线性表示。假设质量与输入的关系为:
.对于价值观u
从1:10的范围可以得到以下的线性系统。
%指定阻尼系数。C = 5;%指定刚度。k = 300;%指定加载命令。u = 1:10;%指定质量。m = 10 * u + 0.1 * u。^ 2;%计算给定质量值的线性系统。为i = 1:长度(u)a = [0 1;-k / m(i),-c / m(i)];b = [0;1 / m(i)];c = [1 0];sys(:,:,i)= ss(a,b,c,0);结束
的变量u
是调度输入。将此信息添加到模型中。
sys。SamplingGrid =结构(“LoadCommand”u);
配置LPV系统块:
类型sys
在整数数组领域。
连接输入端口票面价值
到生成负载命令的值的一维源信号。如果源在1到10之间提供值,则使用插值来计算给定时间实例的线性模型。否则,使用外推。
端口名称 | 端口类型 (进/出) |
描述 |
---|---|---|
u | in. | 输入信号u(t)方程2先前描述。在多输入情况下,该端口接受输入的尺寸的信号。 |
票面价值 | in. | 为定义调度空间的变量(“采样网格”变量)提供信号。调度变量可以是时间、输入和状态或常量的函数。所需的依赖可以通过使用时钟输入(用于时间)、输入信号( |
y | 出 | 模型输出 |
x | 出 | 模型状态的值 |
xdot. | 出 | 状态导数的值。状态导数有时被用来定义调度参数。 |
党卫军 | 出 | 局部状态空间模型在主要的仿真时间步骤 |
抵消 | 出 | LPV模型偏移 |
getOffsetsForLPV
(金宝app仿真软件控制设计)