开始阅读tdms文件
这个例子展示了如何从tdms文件读取数据到MATLAB®进行分析。
示例tdms文件包含正弦波振幅和相位的测量数据。测量在两个通道中,在同一个通道组中。
检查TDMS-File内容
使用tdmsinfo
函数获取tdms文件中的通道组和通道名。
文件名=“SineWave.tdms”;tdmsinfo(文件名);信息。ChannelList
ans =2×8表数据类型NumSamples ChannelGroupNumber ChannelGroupName ChannelGroupDescription ChannelName ChannelDescription单元 __________________ ________________ _______________________ _________________ __________________ ____ ________ __________ 1“测量数据”“”“振幅扫“”“”“”“双3500 1“测量数据”“扫”阶段“”“”“”“双3500
从TDMS-File读取数据属性
使用tdmsreadprop
函数从文件中查看数据属性。
tdmsreadprop(文件名)
ans =表1×7datetime作者名称描述标题datestring timestring __________ ___________ _____________________________ _______ ___________________________ ____________ __________ " SineWave”“2022-01-12 23:33:31.000000000“Admin”“振幅和相位扫描”“01/13/2022 10:03:31”
指定一个ChannelGroupName
而且ChannelName
参数来查看特定通道的属性。
组=“测试数据”;频道=“振幅扫描”;tdmsreadprop(fileName, ChannelGroupName=group, ChannelName=channel)
ans =表1×19名称描述unit_string数据类型displaytype单调NI_ChannelName NI_ExpIsRelativeTime NI_ExpStartTimeStamp NI_ExpTimeStamp NI_ExpXDimension novaluekey wf_increment wf_samples wf_start_offset wf_start_time wf_time_pref wf_xname wf_xunit_string _________________ ___________ ___________ ___________ ___________ ________________ ______________ ____________________ _____________________________ _____________________________ ________________ ________________ ____________ _________________________ _____________________________ ____________ ________ _______________ " 振幅扫”“”“”“DT_DOUBLE”“数字”“不”“计算正弦“1 2022-01-12 22:08:35.674852848 2022-01-12 22:08:35.674852848“t”“不计算“0.001 3500 0 1903-12-31 19:00:00.000000000“相对”“时间”“s”
将TDMS-File中的时间表数据读取到MATLAB中
若要将数据读入时间表,请导出开始时间和时间步长,通常包含在通道属性中。
timeStep = tdmsreadprop(fileName, ChannelGroupName=group, ChannelName=channel, PropertyNames=“wf_increment”)
步伐=表格Wf_increment ____________ 0.001
startTime = tdmsreadprop(fileName, ChannelGroupName=group, ChannelName=channel, PropertyNames=“wf_start_time”)
开始时间=表格wf_start_time _____________________________ 1903-12-31 19:00:00.000000000
属性的开始时间和时间步长作为参数tdmsread
函数,将数据读入MATLAB作为单元格数组的时间表。查看来自第一个通道组的一些数据。
data = tdmsread(fileName, StartTime= StartTime . txt)wf_start_time步伐=秒(timeStep.wf_increment));ttData =数据{1};头(ttData)
ans =8×2时间表时间振幅扫描相位扫描_____________________________ __________________________ 1903-12-31 19:00:00.000000000 00 1903-12-31 19:00:00.002000000 0 0.063418 1903-12-31 19:00:00.003000000 0 0.12658 1903-12-31 19:00:00.004000000 0 0.25112 1903-12-31 19:00:00.005000000 0 0.312 1903-12-31 19:00:00.000000000 0.37163 1903-12-31 19:00:00.000000000 0.42975
使用堆叠图来可视化不同通道数据之间的关系。
stackedplot (ttData);