Matlab读取TDMS格式数据
用Labview采集数据存储的格式是tdms格式,如何用Matlab读取数据做进一步的处理?
前言
前言
用Labview采集数据存储的格式是tdms格式,如何用Matlab读取数据做进一步的处理?
常见的有两种方法:
1.使用Matlab提供的ConventTDMS函数,使用简单,但部分数据类型不适用;
2.下载NI官方提供的MATLAB TDM Example函数包,需要配置环境,步骤麻烦一点。
一、方法1:ConventTDMS函数
在Matlab官网下载程序包ConvertTDMS (v10) - File Exchange - MATLAB Central
然后调用里面的convertTDMS.m函数即可
% 输入参数1:0-结构体,1-mat格式
% 输入参数2:要读取的tdms文件,主要要和代码放在同一目录下
data=convertTDMS(0,'filename.tdms'); %读取TDMS文件
但是这种方法不适用于DAQmxRaw NI数据类型格式的数据
出现如下报错:
那么可以考虑第二种方法。
二、方法2:MATLAB TDM Example函数包
1.下载函数包
NI官网下架了,网盘自取
链接: https://pan.baidu.com/s/1SjbWqHhceTm3et8egZka5Q?pwd=s59h 提取码: s59h
2.配置环境
(1)打开应用程序tdm64-gcc-9.2.0.exe,选create

(2)选第二个环境--Next

(3)记住安装路径,Next

(4)全部勾选上,Install

耐心等待安装就可以了,建议科学上网会更快,因为好像要调用github上的一些包
3.添加路径
打开电脑高级系统设置-高级-环境变量

新建系统变量

变量名随意,变量值为刚刚安装的路径

在cmd种检查一下,输入 gcc --version,出现对应的版本号就安装成功了🎉

4.代码使用
打开网盘里另一个文件夹中的MATLAB TDM Example-sample→64-bit→ReadFile.m
修改两处的代码
(1)添加默认的.dll和.h文件路径
.dll文件在MATLAB TDM Example-sample→dev→bin→64-bit→nilibddc.dll
.h文件在MATLAB TDM Example-sample→dev→include→64-bit→nilibddc_m.h
下面代码放上这两个文件的绝对路径
% 直接定义外部dll和h文件的绝对路径
libname = 'nilibddc';
NI_TDM_DLL_Path = 'C:\Users\19046\Desktop\matlab tdms\matlab_tdm_example_sp2010\matlab_tdm_example_sp2010\MATLAB TDM Example\dev\bin\64-bit\nilibddc.dll';
NI_TDM_H_Path = 'C:\Users\19046\Desktop\matlab tdms\matlab_tdm_example_sp2010\matlab_tdm_example_sp2010\MATLAB TDM Example\dev\include\64-bit\nilibddc_m.h';
(2)代码注释
代码最后面,把clear这行注释掉
%Plot Data from channels in this group
plot(chanvals);
%%clear chanvals; %% 把这行代码注释掉
legend(channames);
(3)运行代码
运行ReadFile.m,选择要处理的.tdms或.tdm格式的文件,就能看到自动绘制的所读数据的图像,工作区里的chanvals变量就是读到的数据
例如:打开范例文件SineData.tdm,显示数据图像如下:

参考博客
用Matlab处理TDMS数据(降噪+频谱分析)_tdms文件怎么打开-CSDN博客
Matlab查看tdms文件_matlab tdm example-CSDN博客
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)