主要内容

非线性系统频率响应的在线估计

这个例子展示了如何使用频率响应估计器块来执行对植物频率响应的在线估计。对于非线性装置,在不同标称工作点的估计产生不同的频率响应。

实时频率响应估计

频率响应描述系统对正弦输入信号的稳态响应。如果系统是线性的G年代),输出信号是具有不同幅度和相移的相同频率的正弦波。频率响应数据(联邦德国)模型存储了多个频率的频率响应信息,对于分析设备动力学、验证线性化结果、设计控制系统和估计参数模型等任务是有用的。

有不同的方法来获得联邦德国Simulink环境中的模金宝app型。最常用的方法是将Simulink模型线性化,并直接从获得的状态空间系统计算频率响应。当Simulink模型无法线性化时,可以使用弗雷斯米特命令或使用模型线性化器应用程序运行模拟与一些干扰信号。然后,根据采集到的实验数据,离线估计植物频率响应。这种方法被称为离线估计

此示例显示了一种替代方法在线估计使用频率响应估计器块的方法是在模拟过程中进行实验并估计频率响应。虽然此示例使用Simulink中建模的设备,但如果Simulink中没有设备模型,则可以在目标系统上部署该块,并根据物理模型执行频率响应估计实时种植。有关更多信息,请参阅金宝app在线频率响应估计基础

非线性植物模型

这个例子使用了一个稳定的非线性SISO设备。该工厂有两种状态。修剪模型,以找到一个初始稳态工作点,在这个工作点上,工厂的产量为零。

plantMDL =“scdfrePlant”;y0 = 0;op = operspec (plantMDL);op.Outputs.Known = true;op.Outputs.y = y0;选择= findopOptions (“DisplayReport”,“关”);[op_point, op_report] = findp (plantMDL,op,options);x0 = [op_report.States(1)方式;op_report.States(2)方式);y0 = op_report.Outputs.y;情况= op_report.Inputs.u;

本示例的目标是在另外两个稳态运行点(电厂输出=0.5和电厂输出=-0.5)获得0.1 rad/s至10 rad/s的电厂频率响应。为了使电厂达到这些运行点,在初始运行点设计离散PID控制器。使用0.01秒的控制器采样时间和开环ban宽度为20 rad/s。

Ts=0.01;G0=c2d(线性化(plantMDL,op_point),Ts);c=皮顿(G0,“pidf”, 20);

基于正弦流模式的在线估计

该模型scdfreSinestream使用控制器将设备包括在PID控制回路中c.它还包含了频率响应估计块控制动作+摄动输出配置。在这种配置中,您将块插入控制器和设备之间的控制回路中。

mdlSS=“scdfreSinestream”;open_system (mdls等);

你可以使用启动/停止启动和停止在线估计实验的信号。当块空闲时,控制信号通过块而不作任何改变。

在实验过程中,当实验模式Sinestream,块将一个频率接一个频率的正弦信号注入到设备中,从最低到最高。相比叠加模式下,sinestream实验的干扰性更小,更精确。但是,进行实验需要更长的时间。

在这个例子中,您可以得到模型的精确线性化。因此,您可以将它用作块中的基线,让您在运行时直接将估计结果与这个“真相”进行比较。块被配置为使用模型G1作为其生成的Bode图的基线。找到电厂输出为0.5的稳态工作点,并在此工作点线性化以获得G1

op.Outputs.y=0.5;op_点=findop(plantMDL,op,选项);G1=c2d(线性化(plantMDL,op_点),Ts);

PID控制器将设备移动到新的工作点(y=0.5)后10秒开始试验.在试验开始后,PID控制器尝试抑制注入的正弦波,这是有效的负载干扰。因此,控制器确保装置在试验过程中不会远离标称工作点,并减少装置非线性对估计结果的影响。对模型和d在波特图上观察实验过程中估计的反应如何演变。估计结果与基线非常吻合。

sim(mdlSS);figSS=gcf;保持在…上

基于叠加模式的在线估计

打开另一个模型,scdfreeSuperposition.在此模型中,频率响应估计器块配置为扰动只输出。在此配置中,您可以将模块定位到控制回路之外。当该块空闲时,进入Sum块的扰动信号为0,因此循环不受影响。

mdlSP =“scdfreSuperposition”开放式系统(mdlSP);

该模型具有相同的设备和控制器。然而,此模型中的频率响应估计器块被配置为使用叠加实验模式。在这种模式下,所有的正弦波都加在一起,同时注入到装置中。与正弦波实验相比,叠加实验必须更快(特别是当你的目标是低频时)。

找到一个工厂产量为-0.5的稳态工作点。将电站线性化,在这个工作点找到基线响应,G2.频率响应估计器块被配置为使用此基线来生成波德图。

op.Outputs.y = -0.5;op_point = findop (plantMDL、人事处、期权);G2 =汇集(线性化(plantMDL op_point) Ts);

PID控制器将设备移动到新操作点(y=-0.5)后10秒开始实验。请注意,建议的实验长度为377秒,远短于sinestream实验中使用的1738秒。模拟模型,再次观察Bode图上的估计进度。

sim(mdlSP);figSP=gcf;保持在…上

利用记录的实验数据进行离线估计

频率响应估计器块具有数据输出,允许您从模拟或实时记录实验数据。控件可以脱机处理该数据集弗雷斯米特命令生成联邦德国对象

20 w = logspace (1, 1);

比较sinestream实验的在线和离线估计结果。

G1frd = frestimate(数据、w、“rad / s”); 数字(figSS);;博德普洛特(gca、G1frd、w、,“o”);传奇(“真相”,“在线”,“离线”

比较叠加实验的在线和离线估计结果。

G2frd = frestimate (dataSP w,“rad / s”);图(figSP);甘氨胆酸bodeplot (G2frd w,“o”);传奇(“真相”,“在线”,“离线”

有关使用实验数据进行脱机估计的详细信息,请参阅采集频响实验数据进行离线估计

另请参阅

相关话题