模型重构-释放数据潜力
一次实验中会尽可能多的采集数据,但最终数据处理只会用到一部分,为了进一步解放数据的潜力,需要对采集的信号进行复现以进行二次处理。本文将利用Simulink讲述一种数据可视化复现的流程,挖掘数据隐藏的潜力,从实现高效利用数据的目的。例子复现了两次实验采集的a相电流。
软件
- MATLAB 2021a
加载mat文件数据至Simulink模型
源代码
%{
此处代码用于重构模型,将mat文件中数据导入Simulink
%}
clear;clc
load('EMF.mat')
ia.signals.values = data{3}.Values.data(10001:20000,1);
Fs=10000; %离散系统采样频率,更改采样频率需赋值
Ts = 1/Fs;
L = size(ia.signals.values,1); %查询size(ia.signals.values)第一个维度的长度,即数据的个数(长度)
t = (0:L-1)*Ts;
ia.time = t;
至此,数据已加载至工作空间。为了让数据在Simulink中复现,需要使用From workspace模块,并对求解器、仿真步长、仿真时间进行设置。
- 求解器——
Configuration Parameters>Solver selection
,设置固定步长、discrete(no continuous states) - 仿真步长——
Configuration Parameters>Solver details
,与加载数据采样时间相同 - 仿真时间——时间长度不能超过加载数据的时间长度 ,以代码为例,采用频率为10k,截取了10000个点,故仿真时间不能超过1s。
代码演示
加载csv文件数据至Simulink
源代码
%{
此处代码用于重构模型,将csv文件中数据导入Simulink
%}
clear;clc
AAA = xlsread('tek0014_HFSI_no_load.csv');
ia.signals.values = AAA(21:1000020,2);
Fs=1000000; %离散系统采样频率,更改采样频率需赋值
Ts = 1/Fs;
L = size(ia.signals.values,1); %查询size(ia.signals.values)第一个维度的长度,即数据的个数(长度)
t = (0:L-1)*Ts;
ia.time = t;