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

该示例示出了如何使用频率响应估计块执行的频率响应估计和实验存储供以后估计脱机的数据。在实践中,你可以使用这种方法来对一个物理设备,当你的部署环境是短期的在线估计计算资源进行实时实验。在这个例子中,用于说明目的,你在模仿的Simulink植物进行实验。万博1manbetx

模型及实验参数

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

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

该模型包含一个带有PI控制器的闭环配置的工厂。频率响应估计块接受控制信号作为输入u。它将控制信号加上一个扰动输入到植物输入。

频率响应估计块被配置为在sinestream模式下运行实验,在示例中使用相同的实验参数仿真过程中的在线频率响应估计。但是,在本例中估计模式参数设置为离线。在这种配置中,块注入指定的扰动信号并收集响应数据,但不执行估计。该块被配置为在频率上使用sinestream信号W = LOGSPACE(0,2,20)

收集实验数据

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

sim (mdl)

该模型被配置成在块输出端口来记录估计数据数据(见使用信号日志导出信号数据(万博1manbetxSimulink)获取有关数据记录的信息)。数据存储在MATLAB工作空间中万博1manbetxSimulink.SimulationData.Dataset对象logsout。因为数据是唯一被记录的端口,您可以在第一个条目中访问记录的数据吗logsout。的该条目的字段是包含四个字段的结构。

logdata = logsout {1} . values
logdata =结构与字段:准备就绪:[1×1的时间序列]扰动:[1×1的时间序列] PlantInput:[1×1的时间序列] PlantOutput:[1×1时间序列]

准备好了字段是一个timeseries,其中包含一个逻辑信号,指示哪个时间步长包含用于估计的数据。对于sinestream信号,该字段指示估计要放弃哪些扰动周期(稳定周期)。摄动包含应用于该植物的正弦扰动。的PlantInputPlantOutputtimeseries包含块输入处的信号uy,分别。

估计频率响应

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

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

检查估计的频率响应。

图波德(sys_estim," b *’)

另请参阅

相关话题