你可以线性化Simulink金宝app®模型,它包含使用不同样本时间的块金宝app仿真软件控制设计™软件默认情况下,线性化工具:
使用零阶保持转换方法转换采样时间。
创建一个线性化模型,样本时间等于线性化路径上的块的最大样本时间。
您可以通过指定线性化选项来更改这些行为,这将影响线性化结果。
默认情况下,软件将样本时间设置为模型中非零样本时间的最小公倍数。在这个速率下,向下抽样对模型中的所有速率都是准确的。如果默认的示例时间不适合您的应用程序,您可以指定一个不同的示例时间。
中指定线性模型的采样时间模型线性化电路:
在线性分析选项卡上,单击更多的选择.
在“精确线性化选项”对话框中,在线性化选项卡,输入采样时间(秒)字段,指定示例时间。您可以指定以下任意值。
-1
-将采样时间设置为模型中非零采样时间的最小公倍数。
0
—创建连续时间模型。
正标量-为样本时间使用指定的值。
要在命令行指定线性模型的示例时间,请创建linearizeOptions
选项集,并设置SampleTime
选择。
选择= 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®Control Design™软件用来线性化多速率非线性S金宝appimulink模型的算法。
为了说明这些概念,该示例展示了使用Control System Toolbox™函数的线性化过程。然后,使用相同的过程重复线性化
函数。
的scdmrate
金宝appSimulink模型包含五个具有不同样本时间的模块。该模型中的所有线性系统都采用零极增益格式。
sysC
-连续时间线性时不变(LTI)系统
积分器
——连续时间积分器
sysTs1
-离散时间LTI系统,采样时间为0.01秒
sysTs2
-离散时间LTI系统,采样时间为0.025秒
零级举行
-阻塞采样传入信号在0.01秒
sysC = zpk (-10, 0.1);积分器= zpk ([] 0 1);大盘= zpk(-0.7463,[0.4251 0.9735],0.2212,0.01);sysTs2 = zpk ([], 0.7788, 0.2212, 0.025);
查看scdmrate
模型。
open_system (“scdmrate”)
在本例中,您将在Constant块的输出和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))
从输入“常数”输出sys2 =“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)