指定自定义的线性化的Simulink模块万博1manbetx

此示例示出了如何指定Simulink模块或子系统的线性化。万博1manbetx

介绍

命令LINEARIZE在Si万博1manbetxmulink中,控制设计使用精确的线性化方法给出了Simulink模型的线性逼近。这种线性化在给定工作点附近的小范围内是有效的。这种方法适用于大多数Simulink模型,但是在某些情况下,您需要修万博1manbetx改精确的线性化方法,以考虑不连续的影响或近似微分或延迟作用的动力学。许多内置的Simulink块万博1manbetx,如饱和度或死区非线性,提供了线性时请作为增益参数来控制此行为。在这个例子中,你指定一个自定义的线性化的子系统来逼近PWM信号的线性化。

线性化一个模型与PWM产生子系统

下面的示例模型具有一个子系统scdpwm /电压到PWM,其模型进入植物模型的PWM信号。

MDL ='scdpwm';open_system (mdl)

当使用线性化的标准配置该模型中,所得到的线性模型具有零增益。

IO = getlinio(MDL);SYS =线性化(MDL,IO)
SYS = d =步骤植物模型0静态增益。

scdpwm/电压到PWM/比较为零使得这个线性化为0。

pwmblk ='scdpwm /电压到PWM';open_system(pwmblk)

线性化为零,因为块表示纯不连续的非线性特性。

u = [1:0.1:0 0:0.1:1];(y = 0(11,1); 1(11日1)];情节(u, y)包含(“块输入 -  U”)ylabel (“阻止输出 -  Y”)ylim ([-0.1 - 1.1]);

指定自定义线性化的PWM子系统

使用Sim万博1manbetxulink控制设计,可以控制块的Simulink模型的线性化。您可以指定使用块的线性化:

  • 矩阵

  • 线性时不变模型,如传递函数或状态空间

  • 鲁棒控制不确定参数/状态空间模型

在这个例子中,PWM子系统包含的时间延迟

$$ PWM(S)= E ^ { - } sT_s $$

该时间延迟占这是在100赫兹的PWM信号的占空比频率。要指定子系统的延迟scdpwm /电压到PWM右键单击块,然后选择线性分析 - >指定线性化。将打开下面的块对话框,在其中指定延迟动态。

以下代码是等同于输入延迟到说明书对话框。

set_param (pwmblk“SCDEnableBlockLinearizationSpecification”'上');代表=结构(“规范”'SS(1,' 'OutputDelay' '1/100)'...'类型''表达'...'ParameterNames'“”...“ParameterValues”“”);set_param (pwmblk'SCDBlockLinearizationSpecification',REP);

线性与指定子系统线性模型现在给预期的结果。

选择= linearizeOptions('采样时间',0);SYS = ZPK(线性化(MDL,IO,优化))
sys =从输入“Step”到输出“Plant Model”:1 exp(-0.01*s) *—(s^2 + s + 1)连续时间零/极点/增益模型。

比较了线性化和仿真

你可以用a来比较模型的线性化和实际的线性化frest.createStep信号。需要注意的是线性化的规范并不需要拆除使用原来的车型配置来模拟这一点很重要。线性化规范并没有对模拟,只有线性的影响。目视检查表明,线性化精确地表示动态。

= frest.createStep(“t”,万分之一,'StepTime',1...'步长',1E-1,'FinalTime',15);[sysf,simoutstep] = frestimate(MDL,IO,脚背);frest.simCompare(simoutstep,SYS,脚背)传说(与PWM子系统规范的线性化...模拟的阶跃响应的“位置”“东”

为Simulink块指定自定义线性化的其他应用程序万博1manbetx

块的线性化规格不限于线性时不变模型。如果你有强大的控件工具箱™软件,您可以指定不确定参数和不确定的状态空间(USS)模型在模型块。产生的线性化是那么不确定的模型。这个例子不确定性Simulink模型的线性万博1manbetx化(鲁棒控制工具箱)演示了如何计算与不确定性线性化。

您还可以在连续域内使用离散控制器和连续工厂动态执行模型分析。有关更多细节,请参见建模计算延迟和采样影响

关闭Simulink万博1manbetx模型。

bdclose (mdl)