LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Working with Large data sets Waveforms

When collection data at a high rate ( 30K ) and for a long period (120 seconds) I'm unable rearrange the data due to memory errors, is there a more efficient method?

0 Kudos
Message 1 of 4
(2,527 Views)

What are you really trying to do with this VI and why?  There are a lot of manipulations on that array that eat up some memory and don't make sense as to why your are doing it.

 

Why are you transposing the 2-D array, then removing an element from a 1-D array to just append it to the front of the waveform?

 

If you could provide some context of what that 2-D array contains, and what you want to do with it in the end, perhaps there are much easier ways to do that job than what you are doing now.

Message 2 of 4
(2,520 Views)
I have a DAQ engine that collects data in blocks when available, after the test is run I need to post process it. To make post processing easier I want to take the blocks and append them together to make one continuous trace for each channel of data. Any suggestions would be appreciated . 
0 Kudos
Message 3 of 4
(2,499 Views)

Some suggestions:

  1. Preallocate your final data before you start your calculations.  The build array you have in your loop will tend to fragment memory, giving you issues.
  2. Use the In Place Element to get data to/from your waveforms.  You can use it to get single waveforms from your 2D array and Y data from a waveform.
  3. Do not use the Transpose and autoindex.  It is adding a copy of data.
  4. Use the Array palette functions (e.g. Reshape Array) to change sizes of current data in place (if possible).
You may want to read Managing Large Data Sets in LabVIEW.

Your initial post is missing some information.  How many channels are you acquiring and what is the bit depth of each channel?  30kHz is a relatively slow acquisition rate for a single channel (NI sells instruments which acquire at 2GHz).  120s of data from said single channel is modestly large, but not huge.  If you have 100 channels, things change.  If you are acquiring them at 32-bit resolution, things change (although not as much).  Please post these parameters and we can help more.
0 Kudos
Message 4 of 4
(2,476 Views)