LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Optimal way to unpack single channel from advanced TDMS file

Solved!
Go to solution

Hello,

 

I am dealing with large (> many GB) TDMS files and am using the advanced asynchronous TDMS read functions to extract the data. The TDMS file is formatted with a single group containing 2 different channels (CH0/CH1). The data is stored in buffers of 2048 elements, corresponding to 1024 elements for CH0, and 1024 elements for CH1. My question is on the best approach I should take if I only want to read out a single channel and disregard the other.

 

For regular (not advanced) TDMS VIs, I understand that I can choose which channel to read using a configuration VI, however, for advanced TDMS this does not seem to be possible. Currently, I am just reading out the entire buffer, and deleting the elements corresponding to the channel I wish to ignore. This seems quite inefficient and significantly increases the computation time needed to analyze the data.

 

If there isn't a way to do this programmatically on a single TDMS file then I guess I could just write the channels to separate files. To me, this goes against the whole idea of TDMS as a comprehensive organzational tool but could be worthwhile if it proves to reduce computation time. 

0 Kudos
Message 1 of 3
(2,691 Views)
Solution
Accepted by topic author nkmath

What is wrong with using the standard TDMS Read?  You can specify the channel, how many data points to read, and at what data point to start reading at.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 2 of 3
(2,623 Views)

Well.. now I feel sillly. I was under the impression that files that were written using the asynchronous write functions needed to be read out using the asynchronous read functions. I just wrote a a short VI which was able to read out a single channel from my TDMS file iteratively and it appears to work w/o issue. I'll go ahead and do some double checks but I think all is well now. Thanks!

0 Kudos
Message 3 of 3
(2,616 Views)