Simulink模型仿真数据记录
模型仿真过程中的数据记录对于学术研究、算法的仿真验证和嵌入式开发的测试阶段都是至关重要的环节。将模型仿真的数据导出到工作空间,除了ConfigurationParametersDataImportExport对话框外,还有一些其他的手段。如使用信号日志(Signallogging)功能记录仿真数据,测试点(Testpoint)方式可以通过浮动示波器展示波形等。
1。信号日志
右击模型中希望记录过程数据的信号线,打开属性对话框,勾选Logsignaldata的勾选框。设置之后的信号上出现一个蓝色探针符号,表示此信号的数据记录功能已开,如图所示。
设置图所示模型中Clock模块输入和积分器输出信号,单击仿真,工作空间中会出现一个名为out。logsout的变量,其类型为Simulink。SimulationData。Dataset,内部包含了仿真过程的采样时间信息。在CommandWindow中输入变量名可以看到其结构的说明和提示,如图所示。
out。logsoutansSimulink。SimulationData。Datasetlogsoutwith2elementsNameBlockPath1〔1x1Signal〕test26Clock2〔1x1Signal〕test26IntegratorUsebraces{}toaccess,modify,oraddelementsusingindex。
根据提示可以得知模型仿真中保存了2个信号量,合并保存为变量out。logsout。如果要分别获取其内容,需要使用此类型的内建方法getElement等根据索引号1或来获取。在CommandWindow中输入signallout。logsout。getElement(1),返回结果如下所示。signallout。logsout。getElement(1)signallSimulink。SimulationData。SignalPackage:Simulink。SimulationDataProperties:Name:PropagatedName:BlockPath:〔11Simulink。SimulationData。BlockPath〕PortType:outportPortIndex:1Values:〔11timeseries〕
signall有一个Values成员,这里保存了仿真采样时间信息和信号数据,再度访问即可看出其内部数据结构。在CommandWindow中输入signal1。Values即可得到返回信号值的信息,如下所示。signall。Valuestimeseries常见属性:Name:Time:〔58x1double〕TimeInfo:〔1x1tsdata。timemetadata〕Data:〔58x1double〕DataInfo:〔1x1tsdata。datametadata〕
signall。Values是一个时间序列对象(timeseriesobject),其成员Time即仿真时间列向量,Data即为Clock模块输出的信号数据序列。使用M代码将这些数据绘制为图像:plot(signall。Values。Time,signall。Values。Data,b);xlabel(time);ylabel(signall。Values。Data)
2。DataInspector
信号日志还可与DataInspector联合使用,记录模型仿真过程中的数据。记录按钮右侧的下拉框提供相关的功能,如图所示。
Inspector需要同信号线的信号日志功能联合使用,如果模型中没有设置开启信号日志功能的信号线,则不能启动记录仿真。选中希望记录的信号线,单击记录菜单栏中的LogUnlogSelectedSignals可以增设删除信号日志功能点,如图所示,相对于打开信号线的属性对话框再勾选,稍微方便一些。
通过ConfigurationParameter对话框的DataImportExport页面,单击图所示ConfiguresignalstoLog按钮启动SimulinkSignalLogSelector对话框,如图所示,从所有具有信号日志功能的信号线中选择期望记录的信号线。
勾选需要记录的信号后可关闭SimulinkSignalLoggingSelector并启动模型仿真。仿真结束后,信号记录也同时完成了。这时可以在记录菜单栏中按下启动Inspector以观察记录的数据波形。不仅可以一次记录多个信号数据,还可以记录多次仿真的数据过程。图所示模型中Clock与Integrator模块的输出同时被选中并记录。
3。参考内容
〔1〕孙忠潇。Simulink仿真及代码生成技术入门到精通〔M〕。北京:北京航空航天大学出版社,2015。
本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。
作者郭志龙
编辑郭志龙
校对郭志龙