主要内容

多速率模型的线性化

这个例子展示了线性化命令在提取非线性多速率Simulink模型的线性模型时所使用的过程。金宝app为了说明这些概念,在使用线性化命令重复该过程之前,首先使用控制系统工具箱中的函数执行该过程。

例子问题

在Simuli金宝appnk模型中scdmrate.slx在五个区块中有三种不同的采样率。这些块:

  • sysC-连续的线性块,

  • 积分器-连续积分器,

  • sysTs1-样本时间为0.01秒的块,

  • sysTs2-样本时间为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

在这个例子中,我们线性化了Constant块的输出和块的输出之间的模型sysTs2

步骤1:线性化模型中的块

线性化的第一步是对模型中的每个块进行线性化。饱和和零阶保持块的线性化是1。LTI块已经是线性的,因此保持不变。新的线性化块模型如下图所示。

scdmratestep1

步骤2:费率转换

由于模型中的块包含不同的样本率,如果不首先使用比率转换函数将不同的样本率转换为具有代表性的单一比率,就不可能为系统创建一个单一比率的线性化模型。速率转换函数使用迭代法。迭代从模型中样本时间的最小公共倍数开始。在本例中,样本时间分别为0、0.01和0.025秒,这产生的最小公倍数为0.05。然后,速率转换函数取具有最快采样率的块组合,并以次之最快的采样率对其进行重新采样。在这个例子中,第一次迭代转换线性化连续时间块的组合,sysC积分器用零阶保持连续到离散转换将采样时间转换为0.01。

sysC_Ts1 = c2d (sysC *积分器,0.01);

数据块sysC积分器现在被sysC_Ts1

scdmratestep2

下一个迭代将所有样本时间为0.01的块转换为0.025的样本时间。首先,下面的命令通过关闭反馈循环来表示这些块的组合。

sysCL =反馈(sysTs1 * sysC_Ts1, 1);

接下来,一个零阶保持方法将闭环系统sysCL从0.01的采样率转换为0.025。

sysCL_Ts2 = d2d (sysCL, 0.025);

该系统sysCL_Ts2然后替换模型中的反馈回路。

scdmratestep3

最后的迭代对闭环系统和块的组合进行重新采样sysTs2从0.025秒速率到0.05秒速率。

sys_L = d2d (sysCL_Ts2 * sysTs2, 0.05)
sys_L = 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

我们可以使用Simulink Control Design的命令行界面来重现这些结果。金宝app

模型=“scdmrate”;io (1) = linio (“scdmrate /常数”, 1“输入”);io (2) = linio (“scdmrate / sysTs2”, 1“openoutput”);sys = zpk(线性化(模型、io))
sys =从输入“常数”输出“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秒离散时间零/钢管/增益模型。