非线性植物的频率响应的在线估计

这个例子说明了如何使用频率响应估计块进行植物频率响应的在线估计。对于非线性植物,估计在不同的标称工作点产生不同的频率响应。

实时频率响应估计

频率响应描述系统对正弦输入信号的稳态响应。如果系统是线性的G小号),输出信号为同频率、不同幅度、不同相移的正弦波。A频率响应数据(的朋友)模型,该模型在多个频率存储的频率响应的信息是这样的任务,分析植物动力学,验证线性化结果,设计一个控制系统,并估计一个参数模型是有用的。

有不同的方式,以获得的朋友在Simulink环境中建万博1manbetx模。最常用的方法是将Simulink模型线性化,直接从得到的状态空间系统中计算频率响应。万博1manbetx当Simulink万博1manbetx模型不能线性化时,可以使用frestimate命令或使用模型线性化电路应用与一些扰动信号运行模拟。此后,该厂频率响应根据所收集的试验数据离线估计。这种方法被称为离线估计

这个例子展示了一种替代方法在线评估利用频响估计块的方法是进行实验并在仿真过程中估计频响。虽然本例使用Simulink中建模的工厂,但如果Simulink中没有工厂模型,则可以在目标万博1manbetx系统上部署该块,并实时对物理工厂进行频率响应估计。有关更多信息,请参见在线频率响应估计基础

非线性植物模型

本例使用非线性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,选项);X0 = [op_report.States(1).X; op_report.States(2).X];Y0 = op_report.Outputs.y;U0 = op_report.Inputs.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(mdlSS);

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

在实验过程中,当实验模式Sinestream中,块内喷射正弦信号转换成到另一后植物一个频率,从最低到最高。与比较叠加模式下,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控制器对注入的正弦波进行抑制,有效地抑制了负载扰动。因此,该控制器在实验过程中保证了装置不偏离标称工作点太远,减少了装置非线性对估计结果的影响。模拟该模型并在Bode图上观察在实验过程中估计的响应是如何演变的。估计结果与基线非常吻合。

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

利用叠加模式进行在线估计

打开另一个模型,scdfreeSuperposition。在这个模型中,频率响应估计块被配置为仅摄输出。在这种配置中,可定位以阻止控制环的外侧。当块空闲时,进入萨姆块扰动信号为0,因此该循环不受影响。

mdlSP =“scdfreSuperposition”;open_system (mdlSP);

这种模式具有相同的工厂和控制器。然而,在该模型中的频率响应估计块被配置成使用叠加实验模式。在这种模式下,所有的正弦波叠加在一起,并在同一时间注射到厂。与sinestream实验相比,叠加实验是必须快(尤其是当你的目标低频率)。

查找-0.5厂输出稳态工作点。线性化的工厂发现在这个工作点基线反应,G2。的频率响应估计块被配置为使用该基线,以产生Bode曲线。

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

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

sim (mdlSP);figSP = gcf;持有;

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

频率响应估计块有一个数据外港,使您可以根据仿真或实时记录实验数据。您可以在数据集脱机过程frestimate命令生成一个的朋友对象。

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

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

G1frd = frestimate(dataSS,W,“弧度/秒”);图(无花果);甘氨胆酸bodeplot (G1frd w,“o”);传奇(“真相”'线上'“离线”

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

G2frd = frestimate(dataSP,W,“弧度/秒”);图(figSP);bodeplot(GCA,G2frd,W,“o”);传奇(“真相”'线上'“离线”

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

也可以看看

相关的话题