这个例子展示了如何使用频率响应估计块来执行频率响应估计实验,并存储数据以供以后离线估计。在实践中,当您所部署的环境缺乏用于在线估计计算的资源时,您可以使用这种方法对物理工厂实时执行实验。在本例中,为了便于说明,您将在Simulink®中建模的植物上进行实验。金宝app
该示例使用已经包含频率响应估计器块的模型,该频率响应估计块被配置为收集用于离线估计的实验数据。打开模型。
mdl =“collectfreqrespestimdataex.slx”;Open_System(MDL)
该模型包含具有PI控制器的闭环配置的工厂。频率响应估计器块接受控制信号作为输入你
.它将控制信号加上植物输入扰动。
频率响应估计器块被配置为在SINESTREAM模式下运行实验,其中示例中使用了相同的实验参数仿真期间的在线频率响应估计.然而,在这个例子中,评估模式参数设置为离线.在这种配置中,块注入指定的扰动信号并收集响应数据,但不执行估计。该块配置为在频率下使用SINESTREAM信号20 w = logspace (0, 2)
.
模拟模型。该块执行实验并收集响应数据。范围显示了应用的SineStream信号和系统响应。
SIM(MDL)
模型被配置为在块输出端口记录估计数据数据
(看使用信号日志记录导出信号数据有关数据记录的信息)。数据存储在MATLAB工作区中金宝appsimulink.simulationdata.dataset.
目的Logsout.
.因为数据
是唯一的Logged Port,您可以访问第一个条目中的记录数据Logsout.
.这价值
该条目的字段是一个包含四个字段的结构。
logdata = logsout {1} .values
logdata = struct with fields: Ready: [1x1 timeseries]
这准备好
字段是包含逻辑信号的次数,该逻辑信号指示哪些时间步长包含用于估计的数据。对于SINESTREAM信号,该字段表示丢弃估计(沉降周期)的估计的扰动周期。扰动
含有应用于植物的中书扰动。这PlantInpul.
和PlantOutput
TimeSeries在块输入中包含信号你
和y
, 分别。
如果您在具有有限的计算资源的部署环境中收集此数据,则可以使用数据执行频率响应估计离线,使用该数据fr
命令。给fr
这logdata.
结构和您使用的相同频率频率块中的参数。fr
流程logdata.
获取频率响应数据(FRD.
)包含在这些频率下估计响应的模型。
sys_estim =苦恼(logdata,w,'rad / s');大小(sys_estim)
FRD模型具有1个输出,1个输入和20个频率点。
检查估计的频率响应。
图BODE(SYS_ESTIM," b *’)