主要内容

为Simulink块指定自定义线性化金宝app

这个例子展示了如何指定Simulink块或子系统的线性化。金宝app

介绍

命令线性化在Si金宝appmulink控制设计中使用精确的线性化方法给出Simulink模型的线性近似。这种线性化在给定工作点周围的小区域内是有效的。这种方法在大多数Simulink模型中都能很好地工作,但在某些情况下金宝app,您需要修改精确的线性化方法,以考虑不连续的影响或近似微分或延迟动作的动力学。许多内置的Simulink模金宝app块,如饱和或死区非线性,提供线性化时将其视为增益参数来控制此行为。在这个例子中,你为一个子系统指定一个自定义的线性化来近似PWM信号的线性化。

用PWM产生子系统线性化模型

下面的示例模型有一个子系统scdpwm /电压PWM,它对进入植物模型的PWM信号进行建模。

mdl =“scdpwm”;open_system (mdl)

当您使用标准配置将这个模型线性化时,得到的线性模型增益为零。

io = getlinio (mdl);io系统=线性化(mdl)
sys = D = Step Plant Model 0静态增益。

scdpwm/电压到PWM/比较到零使线性化为零。

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 ('Block Output - y') ylim ([-0.1 - 1.1]);

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

使用Sim金宝appulink控制设计,您可以控制Simulink模型中的块的线性化。你可以使用以下方法指定块的线性化:

  • 矩阵

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

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

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

$ $ PWM (s) = e ^ {-sT_s} $ $

这个时间延迟占空比频率的PWM信号是在100hz。指定子系统上的延迟scdpwm /电压PWM右键单击块并选择线性分析- >指定线性化.将打开下面指定延迟动态的块对话框。

下面的代码相当于在规范对话框中输入延迟。

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

用指定的子系统对模型进行线性化,现在可以得到预期的结果。

选择= linearizeOptions (“SampleTime”, 0);sys = zpk(线性化(mdl, io、选择))
sys =从输入“Step”到输出“Plant Model”:1 exp(-0.01*s) * ------------- (s²+ s + 1)连续时间零/极/增益模型。

线性化与仿真比较

你可以比较模型的线性化和实际的线性化使用frest.createStep信号。重要的是要注意,为了使用原始模型配置进行模拟,不需要删除线性化的规范。线性化规范对仿真没有影响,只有线性化。目测结果表明,线性化能准确地反映系统的动力学特性。

class instep = frest.createStep(“t”, 1/10000,“StepTime”,1,...“StepSize”1 e 1,“FinalTime”15);[sysf, simoutstep] = frestimate (mdl io,脚背);frest.simCompare (simoutstep sys,脚背)传说(“PWM子系统规范的线性化”...模拟的阶跃响应的“位置”“东”

为Simulink块指定自定义线性化的其他应用金宝app

块线性化规范并不局限于线性时不变模型。如果您有鲁棒控制工具箱™软件,您可以为模型中的块指定不确定参数和不确定状态空间(USS)模型。由此产生的线性化是一个不确定模型。这个例子具有不确定性的Simulink模型金宝app的线性化(鲁棒控制工具箱)演示如何计算不确定线性化。

你也可以在连续域内用离散控制器和连续对象动态来进行模型分析。有关详细信息,请参见建模计算延迟和采样效应

关闭Simulink金宝app模型。

bdclose (mdl)