收集频率响应实验数据离线估计
这个例子展示了如何使用频率响应估计块执行频率响应估计实验和存储数据供以后估计离线。在实践中,您可以使用这种方法来执行实时对物理实验工厂,当你部署环境缺乏资源的在线估计计算。在这个例子中,出于演示目的,执行实验植物建模仿真软件®。金宝app
模型和实验参数
这个例子使用一个模型,已经包含一个频率响应估计块配置为离线评估收集实验数据。
打开模型。
mdl =“CollectFreqRespEstimDataEx.slx”;open_system (mdl)
模型包含一个工厂一个闭环PI控制器的配置。频率响应估计块接受输入的控制信号u
。它助长了控制信号+输入扰动进入工厂。
频率响应估计块被配置为运行实验sinestream模式,相同的实验参数中使用的例子在模拟在线频率响应估计。然而,在这个例子中,评估模式参数设置为离线。在这个配置中,阻止注入指定的扰动信号和收集响应数据,但不执行评估。块被配置为使用一个sinestream信号的频率20 w = logspace (0, 2)
。
收集实验数据
模拟模型。块执行实验,收集响应数据。显示了应用范围sinestream信号和系统响应。
sim (mdl) open_system (“CollectFreqRespEstimDataEx / Scope1”)
模型配置日志的估计数据块输出端口数据
(见使用信号输出信号数据日志记录数据记录的信息)。数据存储在MATLAB工作区金宝appSimulink.SimulationData.Dataset
对象logsout
。因为数据
是唯一登录端口,您可以访问记录的数据在第一项logsout
。的值
领域的入口是一个包含4个字段的结构。
logdata = logsout {1} . values
logdata =结构体字段:准备:[1 x1 timeseries]扰动:[1 x1 timeseries] PlantInput: [1 x1 timeseries] PlantOutput: [1 x1 timeseries]
的准备好了
字段是一个timeseries包含一个逻辑信号,表明这段时间步骤包含用于估算数据。sinestream信号,这指出扰动周期的估计抛弃(结算时间)。摄动
包含sinestream扰动应用于植物。的PlantInput
和PlantOutput
timeseries包含块的信号输入u
和y
,分别。
估计频率响应
如果你收集这些数据计算资源有限的部署环境中,您可以使用离线数据进行频率响应估计,使用frestimate
命令。给frestimate
的logdata
结构和使用的频率相同频率参数块。frestimate
流程logdata
获得一个频率响应数据(的朋友
包含在这些频率估计反应)模型。
sys_estim = frestimate (logdata w,“rad / s”);大小(sys_estim)
朋友模型1输出,输入,和20个频率点。
检查估计频率响应。
图波德(sys_estim," b *’)