1.用采集卡采集一路正弦信号,存为.tdms文件
2.将.tdms文件转成.csv文件或.txt文件或.xlsx文件,使MATLAB可以将数据导入工作空间
法1:将.tdms文件转成.csv文件(依靠LabVIEW程序)
法2:将.tdms文件转成.txt文件或.xlsx文件
3.用Simulink计算FFT,同时计算THD
(1) 新建脚本,输入以下代码并运行,将.csv文件或.xlsx文件中的数据导入MATLAB的工作空间
A=xlsread('D:\研究生\音圈电机\相关程序\数据-正弦波信号生成\100-1.xlsx');
%将Excel中的数据存入矩阵A
%如果读取.csv文件,改为A=csvread('D:\研究生\音圈电机\相关程序\数据-正弦波信号生成\100-1.xlsx');
T=A(:,1); %提取第一列时间到列向量T
C=A(:,2); %提取第二列时间到列向量C
此处注意,数据为采集卡所采集,每个数据对应的时间间隔与采集卡的采样率对应,如采集卡采样频率为5kHz,第一列时间应为0,0.0002,0.0004,0.0006……
脚本运行后,可以看到MATLAB的workspace中生成了矩阵A,列向量T,列向量C,即将.csv文件或.xlsx文件中的数据导入MATLAB的工作空间
(2)创建如下图所示的Simulink文件
①直接搜索“powergui”“From Workspace”“scope”即可找到
②双击“powergui”,出现以下页面,设置仿真类型Simulation type为离散型Discrete,采样时间根据需要设定,这里设置为0.2ms
如果仿真类型Simulation type为连续Continuous且为灰色,无法更改,点击工具栏的小齿轮
将solver改为离散型Discrete即可
②双击“From Workspace”,设置该模块的输入
③双击“scope”,点击View-Configuration Properties
设置采样周期为0.2ms
设置名称为current(也可以设为其他)
(3)运行Simulink后,双击“powergui”,选择tools中的FFT Analysis
选择输入变量为“scope”中设置的current,设置开始时间,周期数,基频,最大频率,然后点击Display即可得到TTF分析结果、THD