仿真与测试:通过From Workspace模块导入外部数据

本文研究通过From Workspace模块导入外部数据并进行仿真测试的方法。

1 仿真外部数据

在汽车的电控软件开发中,经常会在公司园区内进行试验或者实车道路试验。在试验的过程中会通过工具软件采集一些数据(如CANape或INCA)并保存到本地。这些数据可以拿回到办公室,在电脑上用Simulink模型仿真,从而分析其中的问题。这时,可以用到From Workspace模块,把测试的数据导入到Matlab中。
在这里插入图片描述
后面博主会用简单的例子说明这个模块的用法。

2 仿真过程

2.1 准备数据

仿真前,需要拿我们的原始数据,处理成Matlab的时间序列。这里的原始数据可以是各种工具导出的各种文件格式,这里博主用一个简单的EXCEL表格作为演示。

如下图所示,Excel表格中的第一列是时间(Time),第二列是车速(VehicleSpeed)。
在这里插入图片描述
通过下面的Matlab脚本,将表格里的数据先导入到Matlab的Workspace中。

function ImportData()

[DataList,~,~] = xlsread('demo.xlsx','sheet1');
TimeList = DataList(:,1);
SpeedList = DataList(:,2);
assignin('base','SpeedSeries',timeseries(SpeedList,TimeList));

end

运行以后,会在Workspace中导入一个TimeSeries序列。双击它就可以看到序列的内容,正是导入的EXCEL的内容。
在这里插入图片描述
现在,就已经把外部文件的数据导入到了Matlab的Workspace中,也就为Simulink中的From Workspace模块做好了准备。

2.2 Simulink仿真

导入好数据到Workspace中以后,就可以以这些数据为输入,在Simulink中仿真我们的控制算法。通常的做法是,把模型中的输入Inport模块全都去掉,换成From Workspace模块。这里博主没有控制算法,就直接使用From Workspace模块和Scope把Workspace中的数据显示成随时间变化的曲线。

1)首先,建立一个空的Simulink模型;

2)拖入一个From Workspace模块,把里面的Data参数改成Matlab工作区的变量名(SpeedSeries),Output Data Type就保持为默认的继承;
在这里插入图片描述
3)在模型中再添加一个Gain模块和一个Scope模块;
在这里插入图片描述

4)仿真模型,就可以在Scope中看到工作区中的数据被显示到了Scope中了;
在这里插入图片描述

3 总结

以上是导入试车测试数据的方法。

扫描二维码关注公众号,回复: 14207120 查看本文章

>>返回个人博客总目录

猜你喜欢

转载自blog.csdn.net/u013288925/article/details/122048826