主要内容

非线性装置频率响应的在线估计

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

实时频率响应估计

频率响应描述系统对正弦输入信号的稳态响应。如果系统是线性的G年代)时,输出信号为相同频率的正弦波,但幅度和相移不同。频率响应数据(的朋友该模型在多个频率下存储频率响应信息,可用于分析设备动态、验证线性化结果、设计控制系统和估计参数模型等任务。

有不同的方法来获得的朋友在Simulink环境下的金宝app模型。最常用的方法是将Simulink模型线性化,直接从得到的状态空间系统中计算频率响应。金宝app当Simulink金宝app模型不能线性化时,可以使用frestimate命令或使用模型线性化电路应用程序运行模拟与一些扰动信号。然后,根据采集到的实验数据,对装置的频率响应进行离线估计。这种方法叫做离线估计

这个例子展示了一个替代方案在线评估使用频响估计块的方法是在仿真过程中进行实验并估计频响。虽然本例使用了在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] = findop(plantMDL,op,options);x0 = [op_report.States(1).x;op_report.States(2).x];y0 = op_report.Outputs.y;u0 = op_report. input .u;

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

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

使用Sinestream模式进行在线估计

该模型scdfreSinestream包括植物在PID控制回路中使用控制器c.中还包含了频率响应估计器块控制动作+扰动输出配置。在该配置中,您将块插入控制器和工厂之间的控制循环中。

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

您可以使用启动/停止开始和停止在线估计实验的信号。当块空闲时,控制信号通过块而不发生任何变化。

在实验中,当实验模式Sinestream时,块从低到高,一个频率接一个频率地向装置注入正弦信号。相比之下叠加模式下,实流实验侵入性更小,更准确。然而,这需要更长的时间来进行实验。

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

op.Outputs.y = 0.5;op_point = findop(plantMDL,op,options);G1 = c2d(线性化(plantMDL,op_point),Ts);

PID控制器将装置移动到新的工作点(y = 0.5)后10秒开始实验。实验开始后,PID控制器尝试抑制注入的正弦波,这是有效的负载扰动。这样,控制器保证了实验过程中对象不会离标称工作点太远,减小了对象非线性对估计结果的影响。模拟模型,在波德图上观察估计响应在实验过程中如何演变。估计结果与基线吻合较好。

sim (mdls等);figSS = gcf;持有

使用叠加模式的在线估计

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

mdlSP =“scdfreSuperposition”;open_system (mdlSP);

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

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

op.Outputs.y = -0.5;op_point = findop(plantMDL,op,options);G2 = c2d(线性化(plantMDL,op_point),Ts);

PID控制器将装置移动到新的工作点(y = -0.5)后10秒开始实验。请注意,推荐的实验长度是377秒,比实流实验中使用的1738秒短得多。模拟模型,在波德图上再次观察估计的进展。

sim (mdlSP);figSP = gcf;持有

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

频响估计器块有一个数据输出端口,允许您从模拟或实时记录实验数据。方法可以脱机处理该数据集frestimate命令生成的朋友对象。

W = logspace(-1,1,20);

比较来自正流实验的在线和离线估计结果。

G1frd = fretifate (dataSS,w,“rad / s”);图(无花果);甘氨胆酸bodeplot (G1frd w,“o”);传奇(“真相”“在线”“离线”

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

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

有关使用实验数据进行离线估计的更多信息,请参见收集频响实验数据进行离线估计

另请参阅

相关的话题