主要内容

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

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

实时频率响应估计

频率响应描述系统对正弦输入信号的稳态响应。如果系统是线性的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] = 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秒,开环带宽为20 rad/s。

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

使用sinstream模式进行在线估计

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

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

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

在实验中,当实验模式Sinestream,块将一个频率接一个频率的正弦信号注入到设备中,从最低到最高。相比叠加模式下,正流实验侵入性更小,也更准确。然而,进行实验需要的时间要长得多。

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

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

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

sim (mdls等);无花果= gcf;持有

基于叠加模式的在线估计

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

mdlSP =“scdfreSuperposition”;open_system (mdlSP);

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

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

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

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

sim (mdlSP);figSP = gcf;持有

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

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

20 w = logspace (1, 1);

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

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

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

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

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

另请参阅

相关的话题