主要内容

用延迟线性化模型

这个例子展示了如何线性化包含延迟的Simulink®模型。金宝app

有关处理带有延迟的线性化模型的更多信息,请参见指定延时时间而且时滞控制系统分析

连续时滞线性化模型

您可以使用下列选项之一,使用连续时间延迟金宝app块(如传输延迟、可变传输延迟和可变时间延迟)线性化Simulink模型。

  • 使用延迟的Padé近似,通过线性化得到一个合理的线性系统。此选项是Simulink Control Design™软件使用的默认方法。金宝app

  • 计算一个线性化,其中延迟被精确地表示。当您需要线性化模型的精确模拟和频率响应时,以及在评估Padé近似的准确性时,请使用此选项。

打开本例中使用的引擎速度模型。

模型=“scdspeed”;open_system(模型)

功率冲程延迟感应子系统包含一个名为dM/dt的可变传输延迟块。指定此块的路径。

DelayBlock =“scdspeed/感应功率行程延迟/dM//dt延迟”

要使用一阶近似来计算线性化,请将Padé近似的阶数设置为1。对于可变传输延迟块,Pade秩序财产1

或者,在命令行中输入以下代码。

set_param (DelayBlock“PadeOrder”' 1 ');

指定油门角作为线性化输入,发动机转速作为线性化输出。

Io (1) = linio(“scdspeed /油门(度)”, 1“输入”);Io (2) = linio('scdspeed/rad//s to rpm', 1“输出”);

线性化模型。

sysOrder1 =线性化(模型,io);

要使用二阶近似线性化模型,请将Padé的顺序设置为2

set_param (DelayBlock“PadeOrder”' 2 ');sysOrder2 =线性化(模型,io);

要计算具有精确延迟表示的线性模型,请创建线性化选项对象并启用UseExactDelayModel选择。

opt =线性化选项;opt.UseExactDelayModel =“上”

使用指定的线性化选项对模型进行线性化。

sysExactDiscrete =线性化(model,io,opt);

比较Padé近似模型和精确线性化模型的Bode响应。

P = bodeoptions(“cstprefs”);p.Grid =“上”;p.PhaseMatching =“上”;p.XLimMode = {“手动”};p.XLim = {[0.1 1000]};波德(sysOrder1, sysOrder2 sysExactDiscrete p);传奇(“一阶”二阶的“准确”“位置”“西南”

在一阶近似的情况下,相位在50 rad/s左右开始发散,在100 rad/s左右发散。

关闭Simulink金宝app模型。

bdclose(模型)

离散时滞线性化模型

当使用离散延迟块(如(整数)延迟块和单位延迟块)线性化模型时,使用精确的延迟选项来解释延迟,而不向模型动态添加状态。显式地考虑这些延迟可以提高具有许多离散延迟的系统的模拟性能,因为模型中的状态更少。

打开一个包含2金宝app0个延迟状态的延迟块的离散系统的Simulink模型。

模型=“scdintegerdelay”;open_system(模型)

默认情况下,线性化包括所有折叠到线性模型中的状态。设置线性化输入输出信号,对模型进行线性化。

Io (1) = linio(的scdintegerdelay /步骤, 1“输入”);Io (2) = linio(“scdintegerdelay /离散滤波器”, 1“输出”);sysDefault =线性化(模型,io);

查看模型大小。它有21个状态(1 -离散滤波器,20 -整数延迟)。

大小(sysDefault)
具有1个输出、1个输入和21个状态的状态空间模型。

使用精确的延迟表示线性化模型。

opt =线性化选项;opt.UseExactDelayModel =“上”;sysExactDiscrete =线性化(model,io,opt);

查看生成的模型大小。它有一个状态。延迟在线性化模型中被内部解释。

大小(sysExactDiscrete)
具有1个输出、1个输入和1个状态的状态空间模型。

使用阶跃响应比较模型的性能。模型产生了相同的反应。

步骤(sysDefault sysExactDiscrete)传说(“默认”“准确”“位置”“东南”

关闭Simulink金宝app模型。

bdclose(模型)

另请参阅

|

相关的话题