主要内容

线性化多型模型

您可以线性化模拟链接金宝app®包含使用不同样本时间的块的模型金宝appSimulink Control Design™软件。默认情况下,线性化工具:

  • 使用零阶保持转换方法转换采样时间。

  • 创建一个线性化模型,采样时间等于线性化路径上的块的最大采样时间。

您可以通过指定线性化选项来更改这些行为中的任何一个,这会影响线性化结果。

更改线性模型的采样时间

默认情况下,软件将采样时间设置为模型中非零样本时间的最小常见倍数。在此速率下,对模型中所有速率精确采样精确。如果默认采样时间不适合您的应用程序,则可以指定不同的采样时间。

指定线性模型的采样时间模型线性化器

  1. 在这方面线性分析选项卡,单击更多的选择

  2. 在“精确线性化”对话框的选项中,在线性化标签,在输入采样时间(秒)字段,指定采样时间。您可以指定以下任何值。

    • -1- 将采样时间设置为模型中非零样本时间的最小常见倍数。

    • 0.- 创建连续时间模型。

    • 正标量 - 使用示例时间的指定值。

要在命令行指定线性模型的示例时间,请创建一个线性化选择选项集,并设置采样时间选项。

选择=线性化选项;opt.sampletime = 0.01;

然后,您可以使用此选项设置线性化或者SLLINESERIZER.

改变线性化速率转换方法

当您使用连续工厂的多个采样时间的模型进行线性化模型时,软件使用速率转换算法来创建单速率线性模型。默认速率转换方法是零阶保持。

指定速率转换方法模型线性化器

  1. 在这方面线性分析选项卡,单击更多的选择

  2. 在“精确线性化”对话框的选项中,在线性化标签,在选择速率转换方法下拉列表,选择以下速率转换方法之一。

    速率转换方法 何时使用
    零阶持有 您需要在时域内的连续动态的完全离散化,以进行楼梯输入。
    您需要在连续时间系统和相应的离散系统之间或原始系统和重采样系统之间之间需要良好的频域匹配。
    Tustin与预警 您需要在连续时间系统和相应的离散系统之间或原始系统和重采样系统之间的特定频率处需要良好的频域匹配。
    可能的ups采样,否则零阶保持
    可能,在可能的情况下,否则ottin
    ups采样在可能的情况下,丁蛋白否则
    可以在可能的情况下,在可能的情况下,确保ups采样动态的增益和相位匹配。当新的采样时间是原始系统采样时间的整数倍数时,您只能上限。否则,该软件使用备用速率转换方法。
  3. 如果选择以下任一速率转换方法:

    • Tustin与预警

    • ups采样在可能的情况下,丁蛋白否则

    然后,在里面输入PREWARP频率字段,指定PREWARP频率。

要在命令行指定速率转换方法,请创建一个线性化选择对象,并设置RateConversionMethod.prewarpfreq.选项。

选择=线性化选项;opt.rateconversionmethod ='prewarp';opt.prewarpfreq = 100;

然后,您可以使用此选项对象线性化或者SLLINESERIZER.

笔记

如果使用零阶保持以外的速率转换方法,则转换状态不再具有与原始状态相同的物理含义。结果,生成的LTI系统中的状态名称是'?'

多型线性化算法

此示例演示了Simulink®ControlDesign™软件用于线性化多速率非线性Sim金宝appulink模型的算法。

为了说明概念,该示例显示了使用控制系统工具箱™功能的线性化过程。然后,使用相同的过程线性化功能。

scdmrate.金宝appSimulink模型包含五个具有各种采样时间的块。该模型中的所有线性系统都处于零极化格式。

  • SYSC.- 连续时间线性时间不变(LTI)系统

  • 积分商- 连续时间积分器

  • SYSTS1- 采样时间为0.01秒的离散时间LTI系统

  • SYSTS2.- 采样时间为0.025秒的离散时间LTI系统

  • 零阶持有- 块以0.01秒对输入信号进行采样

SYSC = ZPK(-2,-10,0.1);Integrator = 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 / constant',1,'输入');IO(2)= Linio('scdmrate / systs2',1,'openOtput');

线性化模型并将产生的状态空间模型转换为零极化格式。

sys2 = zpk(线性化('scdmrate',io))
SYS2 =从输入“常数”输出“SYSTS2”:0.0001057(Z + 22.76)(Z + 0.912)(z + 0.06495) -   -   -   -   -   -   -   -   ------------------------------------(z-0.6065)(z-0.6386)(Z-0.8588)(Z-0.9754)(Z-0.01373)采样时间:0.05秒离散 - 零/极/增益模型。

此模型与手动计算的模型匹配。

BODE(SYS1,SYS2)

也可以看看

应用

职能

相关话题