이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
TDMS 파일 읽기 시작하기
이 예제에서는 TDMS 파일에서 MATLAB®으로 데이터를 읽어 분석하는 방법을 보여줍니다.
예제 TDMS 파일에는 사인파 진폭과 위상의 측정 데이터가 포함되어 있습니다. 측정은 동일한 채널 그룹의 두 채널에서 수행됩니다.
TDMS 파일 내용 검사
tdmsinfo 함수를 사용하여 TDMS 파일에서 채널 그룹과 채널 이름을 얻습니다.
fileName = "SineWave.tdms";
info = tdmsinfo(fileName);
info.ChannelListans=2×8 table
ChannelGroupNumber ChannelGroupName ChannelGroupDescription ChannelName ChannelDescription Unit DataType NumSamples
__________________ ________________ _______________________ _________________ __________________ ____ ________ __________
1 "Measured Data" "" "Amplitude sweep" "" "" "Double" 3500
1 "Measured Data" "" "Phase sweep" "" "" "Double" 3500
TDMS 파일에서 데이터 속성 읽기
tdmsreadprop 함수를 사용하여 파일의 데이터 속성을 봅니다.
tdmsreadprop(fileName)
ans=1×7 table
name description datetime author title datestring timestring
__________ ___________ _____________________________ _______ ___________________________ ____________ __________
"SineWave" "" 2022-01-13 10:03:31.000000000 "Admin" "Amplitude And Phase Sweep" "01/13/2022" "10:03:31"
특정 채널의 속성을 보려면 ChannelGroupName 및 ChannelName 인수를 지정하십시오.
group = "Measured Data"; channel = "Amplitude sweep"; tdmsreadprop(fileName, ChannelGroupName=group, ChannelName=channel)
ans=1×19 table
name description unit_string datatype displaytype monotony 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
_________________ ___________ ___________ ___________ ___________ ________________ ______________ ____________________ _____________________________ _____________________________ ________________ ________________ ____________ __________ _______________ _____________________________ ____________ ________ _______________
"Amplitude sweep" "" "" "DT_DOUBLE" "Numeric" "not calculated" "Sine" 1 2022-01-13 08:38:35.674852848 2022-01-13 08:38:35.674852848 "t" "not calculated" 0.001 3500 0 1904-01-01 05:21:10.000000000 "relative" "Time" "s"
TDMS 파일에서 MATLAB로 타임테이블 데이터 읽기
타임테이블에 데이터를 읽으려면 일반적으로 채널 속성에 포함된 시작 시간과 시간 스텝를 파생시킵니다.
timeStep = tdmsreadprop(fileName, ChannelGroupName=group, ChannelName=channel, PropertyNames="wf_increment")timeStep=table
wf_increment
____________
0.001
startTime = tdmsreadprop(fileName, ChannelGroupName=group, ChannelName=channel, PropertyNames="wf_start_time")startTime=table
wf_start_time
_____________________________
1904-01-01 05:21:10.000000000
시작 시간과 시간 스텝을 tdmsread 함수의 인수로 사용하여 데이터를 테이블로 구성된 셀형 배열로 MATLAB으로 읽어 들입니다. 첫 번째 채널 그룹의 일부 데이터를 봅니다.
data = tdmsread(fileName, StartTime=startTime.wf_start_time, TimeStep=seconds(timeStep.wf_increment));
ttData = data{1};
head(ttData) Time Amplitude sweep Phase sweep
_____________________________ _______________ ___________
1904-01-01 05:21:10.000000000 0 0
1904-01-01 05:21:10.001000000 0 0.063418
1904-01-01 05:21:10.002000000 0 0.12658
1904-01-01 05:21:10.003000000 0 0.18923
1904-01-01 05:21:10.004000000 0 0.25112
1904-01-01 05:21:10.005000000 0 0.312
1904-01-01 05:21:10.006000000 0 0.37163
1904-01-01 05:21:10.007000000 0 0.42975
쌓인 플롯을 사용하여 다양한 채널의 데이터 간의 관계를 시각화합니다.
stackedplot(ttData);
