计算TDMS文件的THD

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值