主要内容

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

这个例子展示了如何使用Frequency Response Estimator块来执行频响估计实验,并存储数据以供以后脱机估计。在实践中,当您部署的环境缺乏用于在线估计计算的资源时,您可以使用这种方法针对物理设备实时执行实验。在本例中,为了说明目的,您将在Simulink®中建模的植物上执行实验。金宝app

模型及实验参数

这个例子使用了一个模型,该模型已经包含了一个频率响应估计器块,用于收集离线估计的实验数据。

打开模型。

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

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

Frequency Response Estimator块配置为以正流模式运行实验,使用示例中使用的相同实验参数仿真过程中的在线频响估计.然而,在本例中评估模式参数设置为离线.在这种配置中,block注入指定的扰动信号并收集响应数据,但不进行估计。该块被配置为在频率上使用一个正流信号W = logspace(0,2,20)

收集实验数据

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

sim (mdl) open_system (“CollectFreqRespEstimDataEx / Scope1”)

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

Logdata = logsout{1}.日志含义值
logdata = struct with fields: Ready: [1x1 timeseries]摄动:[1x1 timeseries] PlantInput: [1x1 timeseries] PlantOutput: [1x1 timeseries]

准备好了字段是一个时间序列,其中包含一个逻辑信号,该信号指示哪些时间步骤包含用于估计的数据。对于一个正弦流信号,该字段指示估计要丢弃哪些扰动周期(沉降周期)。摄动包含应用于该设备的正弦扰动。的PlantInput而且PlantOutput时间序列包含块输入处的信号u而且y,分别。

估计频率响应

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

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

检查估计的频率响应。

图波德(sys_estim," b *’)

另请参阅

相关的话题