你可以线性化Simulink金宝app®模型包含使用不同的采样时间块金宝appSimulink的控制设计™软件。默认情况下,线性化工具:
使用零阶保持转换方法转换的采样时间。
创建一个线性化模型,样本时间等于线性化路径上的块的最大样本时间。
您可以通过指定线性化选项来更改这些行为,这将影响线性化结果。
默认情况下,软件将样本时间设置为模型中非零样本时间的最小公倍数。在这个速率下,向下抽样对模型中的所有速率都是准确的。如果默认的示例时间不适合您的应用程序,您可以指定一个不同的示例时间。
要指定的线性模型的采样时间线性化模型:
在线性分析选项卡上,单击更多选择.
在精确线性化对话框中的选项,在线性化选项卡,在输入采样时间(秒)字段中,指定的采样时间。您可以指定下列任意值。
-1
-将采样时间设置为模型中非零采样时间的最小公倍数。
0
- 创建一个连续时间模型。
正标 - 使用的采样时间指定的值。
要在命令行指定线性模型的示例时间,请创建linearizeOptions
选项设置,并设置采样时间
选择。
选择= linearizeOptions;opt.SampleTime = 0.01;
然后,您可以使用此选项设置与线性化
或slLinearizer
.
当您使用多个样本时间线性化模型时,例如使用连续设备的离散控制器,该软件使用速率转换算法创建一个单速率线性模型。默认的速率转换方法是零阶保持。
要指定的速率转换方法线性化模型:
在线性分析选项卡上,单击更多选择.
在精确线性化对话框中的选项,在线性化选项卡,在选择率转换方法下拉列表中,选择以下速率转换的方法之一。
率转换方法 | 什么时候使用 |
---|---|
零级举行 |
对于阶梯输入,你需要在时域对连续动力学进行精确的离散化。 |
Tustin |
你需要一个连续时间系统和相应的离散系统,或原系统和重新采样系统之间良好的频域匹配。 |
与Prewarping Tustin |
在连续时间系统和相应的离散系统之间,或者在原始系统和重新采样系统之间,你需要在特定的频率上有良好的频域匹配。 |
可能时向上采样,否则零阶保持 可能的话,就向上采样,不然,塔斯汀 上采样时可能塔斯廷与预畸变否则 |
上采样离散状态时,能够保证增益和上采样动态相位匹配。您只能上采样时,新的采样时间是原始系统的采样时间的整数倍。否则,软件使用备用速率转换方法。 |
如果您选择以下速率转换方法之一:
与Prewarping Tustin
上采样时可能塔斯廷与预畸变否则
然后,在进入prewarp频率字段,指定预曲频率。
以指定在命令行的速率转换方法中,创建linearizeOptions
对象,并设置RateConversionMethod
和PreWarpFreq
选项。
选择= linearizeOptions;opt.RateConversionMethod = 'prewarp';opt.PreWarpFreq = 100;
然后,您可以使用这个选项对象线性化
或slLinearizer
.
请注意
如果使用零阶保持之外的速率转换方法,转换后的状态将不再具有与原始状态相同的物理意义。因此,得到的LTI系统中的状态名是“?”
.
这个例子说明了算法的Simulink控制设计™软件的用途以线性化的多速率非线性Simuli金宝appnk模型。
为了说明这些概念,该示例展示了使用Control System Toolbox™函数的线性化过程。然后,使用相同的过程重复线性化
功能。
的scdmrate
金宝appSimulink模型包含了不同的采样时间五个街区。在这个模型中的所有线性系统的零极点增益形式。
SYSC
- 连续时间线性时变(LTI)系统
积分器
——连续时间积分器
sysTs1
- 离散时间LTI系统,为0.01秒的采样时间
sysTs2
- 离散时间LTI系统,0.025秒的采样时间
零级举行
- 块该样品在0.01秒输入信号
SYSC = ZPK(-2,-10,0.1);积分= ZPK([],0,1);sysTs1 = ZPK(-0.7463,[0.4251 0.9735],0.2212,0.01);sysTs2 = ZPK([],0.7788,0.2212,0.025);
观看scdmrate
模型。
open_system('scdmrate')
在本例中,线性化常数块的输出和的输出之间的模型sysTs2
块。
线性化个体块
线性化过程的第一步是对模型中的每个块进行线性化。饱和和零阶保持块的线性化是一个增益1
.由于LIT块已经是线性的,它们是不变的。
用线性化的块查看更新的模型。
open_system(“scdmratestep1”)
执行速率转换
由于在模型中使用不同的采样时间块,创造线性模型,你必须首先转换不同的采样率,以具有代表性的单一税率的系统单率。
的线性化
函数使用迭代速率转换方法。迭代从模型中样本时间的最小公倍数开始。在本例中,样本时间分别为0、0.01和0.025秒,这将产生0.05的最小公倍数。
第一次速率转换迭代以次快的速率对采样速率最快的块组合重新采样。在这个例子中,第一次迭代转换线性化连续时间块的组合,SYSC
和积分器
,使用零阶保持连续-离散转换将采样时间提高到0.01。
sysC_Ts1 = c2d (sysC *积分器,0.01);
块SYSC
和积分器
现在被取代sysC_Ts1
.
open_system(“scdmratestep2”)
下一个迭代将所有样本时间为0.01的块转换为0.025的样本时间。在本例中,所有采样率为0.01的块组成一个闭环系统。因此,在转换它们的采样率之前,线性化算法先计算闭环系统的响应。
sysCL =反馈(sysTs1 * sysC_Ts1,1);
接着,零阶保持方法的闭环系统的从0.01秒至0.025秒采样时间转换。
sysCL_Ts2 = D2D(sysCL,0.025);
系统sysCL_Ts2
然后替换模型中的反馈回路。
open_system(“scdmratestep3”)
最后的迭代是对闭环系统和闭环系统的组合进行重新采样sysTs2
将样本时间从0.025秒阻塞到0.05秒。
SYS1 = D2D(sysCL_Ts2 * sysTs2,0.05)
sys1 = 0.0001057 (z + 22.76) (z + 0.912) (z - 0.9048) (z + 0.06495 ) ------------------------------------------------------- ( z - 0.01373) (z - 0.6065) (z - 0.6386) (z - 0.8588) (z - 0.9754)样品时间:0.05秒离散时间零/钢管/增益模型。
利用Simulink控制设计函数线性化模型金宝app
的线性化
函数实现了线性化多速率模型的迭代过程。
要对模型进行线性化,首先指定线性化的输入和输出点。
io (1) = linio ('scdmrate /恒定',1,“输入”);io (2) = linio ('scdmrate / sysTs2',1,“openoutput”);
线性化模型和产生的状态空间模型转换成零极点增益形式。
sys2 = zpk(线性化('scdmrate', io))
系统2 =从输入 “常” 输出 “sysTs2”:0.0001057(Z + 22.76)(Z + 0.912)(Z-0.9048)(Z + 0.06495)-------------------------------------------------------(Z-0.6065)(Z-0.6386)(Z-0.8588)(Z-0.9754)(Z-0.01373)样品时间:0.05秒离散时间零点/极点/增益模型。
该模型与手工计算的模型相匹配。
波德(sys1 sys2)