主要内容

采集频响实验数据进行离线估计

该示例显示了如何使用频率响应估计器块执行频率响应估计实验并将数据存储以供稍后的估计离线。在实践中,当您的部署环境缺乏用于在线估计计算的资源时,您可以使用这种方法实时对实际工厂进行实验。在此示例中,出于说明目的,您在Simulink®中建模的植物上执行实验。金宝app

模型及实验参数

本例使用的模型已经包含了一个频率响应估计块,该块被配置为收集实验数据进行离线估计。

打开模型。

mdl =“CollectFreqRespEstimDataEx.slx”;open_system (mdl)

该模型包含一个具有PI控制器的闭环配置的设备。频率响应估计块接受控制信号作为输入u.它将控制信号加上一个摄动输入装置。

频率响应估计器块被配置为在正流模式下运行实验,与示例中使用的实验参数相同模拟过程中的在线频率响应估计.然而,在本例中估计模式参数设置为离线.在这种配置中,块注入指定的扰动信号并收集响应数据,但不执行估计。该块被配置为使用频率的正弦流信号w = logspace(0,2,20)

收集实验数据

模拟模型。该模块进行实验并收集响应数据。示波器显示应用的正弦流信号和系统响应。

sim (mdl) open_system ('collectfreqrespestimdataex / scope1'

该模型配置为在块输出端口处记录估计数据数据(见使用信号记录导出信号数据有关数据记录的信息)。数据存储在MATLAB工作空间作为金宝appSimulink.SimulationData.Dataset对象logsout.因为数据是唯一登录的端口,可以在第一个条目中访问登录的数据吗logsout.的该条目的字段是包含四个字段的结构。

logdata = logsout{1}。值
logdata = struct with字段:准备好:[1x1次数]扰动:[1x1次次] plantinput:[1x1倍] plantOutput:[1x1倍增]

准备好了字段是一个时间序列,其中包含一个逻辑信号,指示哪些时间步长包含用于估计的数据。对于一个正弦流信号,这个字段指示估计要丢弃的扰动周期(稳定周期)。摄动包含应用于植物的顺流扰动。的PlantInputPlantOutpul.Timeseries包含块输入的信号uy,分别。

估计频率响应

如果在计算资源有限的已部署环境中收集此数据,则可以使用该数据离线执行频率响应估计frestimate命令。给frestimatelogdata结构和频率是一样的频率块中的参数。frestimate流程logdata获取频率响应数据(的朋友)模型,该模型包含在这些频率下的估计响应。

sys_estim = frestimate (logdata w,“rad / s”);尺寸(sys_estim)
FRD模型有1个输出,1个输入,20个频率点。

检查估计的频率响应。

图波德(sys_estim,'b *'

另请参阅

相关话题