1. 在matlab中准备数据
.mat
文件中包含时间向量和需要分析的数据
load('fcssiabc061302.mat');
提取时间和需要分析的数据
time = fcssiabc061302.X.Data; % 时间向量
signal = fcssiabc061302.Y(1).Data; % A相电流数据
将数据转换为“structure with time”格式
% 转为列向量
time = time';
data = signal';
% 创建timeseries数据
inputData = timeseries(data,time);
save("inputData.mat","inputData","-v7.3");
运行以上代码,将数据加载到workspace中。
2. 在 Simulink 中创建模型
A. 导入数据到Simulink
- 打开 Simulink 并创建一个新的模型,从 Simulink 库中拖动一个 From Workspace 块到模型中,将输出连接到示波器
- 在 From Workspace 块的参数设置中,将变量名设置为
inputData
。
B. 添加 Powergui 模块
- 从 Simulink 库中拖动一个 Powergui 块到模型中,求解器类型选为离散,采样时间1e-6
C. 模型运行环境配置
- 在模型设置中将求解器选为定步长
- 在数据输入/输出处取消”Single simulation output“的勾选。(如果不取消勾选,进行FFT分析的时候,signal option的列表会显示empty)
3. 运行仿真并进行 FFT 分析
- 将仿真的运行时间设置为涵盖输入信号的整个时间范围,运行仿真,打开示波器查看数据无误后按照以下设置把采样到的数据,保存在工作区
- 再次运行仿真,双击Powergui 块,选择
FFT Analysis
工具
- 这时会在Structure with time模块的下拉列表中显示刚刚在示波器中导出的数据Scopedata,进行 FFT 分析