该示例显示了如何使用频率响应估计器块执行频率响应估计实验并将数据存储以供稍后的估计离线。在实践中,当您的部署环境缺乏用于在线估计计算的资源时,您可以使用这种方法实时对实际工厂进行实验。在此示例中,出于说明目的,您在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倍增]
的准备好了
字段是一个时间序列,其中包含一个逻辑信号,指示哪些时间步长包含用于估计的数据。对于一个正弦流信号,这个字段指示估计要丢弃的扰动周期(稳定周期)。摄动
包含应用于植物的顺流扰动。的PlantInput
和PlantOutpul.
Timeseries包含块输入的信号u
和y
,分别。
如果在计算资源有限的已部署环境中收集此数据,则可以使用该数据离线执行频率响应估计frestimate
命令。给frestimate
的logdata
结构和频率是一样的频率块中的参数。frestimate
流程logdata
获取频率响应数据(的朋友
)模型,该模型包含在这些频率下的估计响应。
sys_estim = frestimate (logdata w,“rad / s”);尺寸(sys_estim)
FRD模型有1个输出,1个输入,20个频率点。
检查估计的频率响应。
图波德(sys_estim,'b *')