SignalExpress

cancel
Showing results for 
Search instead for 
Did you mean: 

How to save a very large number of samples?

I will need to sample 12 channels of signal with 10Mhz bandwidth simultaneously using two NI-PCI-5105 for about 60ms (12 x 3.6 million samples) at 60Msamples/s, and save it to file(s).
I'm currently testing the system with only one channel to take 6 million samples at 60Msamples/s. The project file is attached with this mesage. After I pushed the [Run Once] button, I can see the memory usage was climbing up for a couple minutes up to about 1.7GB, and then it stop with an error popup window: LabVIEW: Memory if full. VI "ExportLVMBlockState Time-WDT 3.vi" was stopped at node 0xEE8 of subVI "cmb_ex_CreateSignalChunkStringSub.vi".
The windows xp computer than I was using has about 3.4GB of physical memory.
 
Please advice me a solution for this problem.
 
Thank You,
Sofyan Tan
0 Kudos
Message 1 of 3
(6,781 Views)
 

Currently, SignalExpress will not handle this amount of data.  You have two options, depending upon whether you want to repetitively do this task or do it single-shot.

  1. You can use two instances of the NI-SCOPE Soft Front Panel if you have a way to simultaneously trigger both devices.  A simple digital trigger will do it (wire the trigger to the digital input of both devices and set both to digital trigger).  Setting both devices to the same analog trigger parameters may work - take the same channel in both devices, just don't fetch it from the second.  Unfortunately, the Soft Front Panel does not support internal synchronization.  Divide the channel count evenly between the two devices and the internal memory of the 5105 should be sufficient to take 60ms of data.  Take one data set, then manually save the data to disk.  I would recommend the HWS format or flat binary for this amount of data.  With HWS, you can save both sets of data into the same file.
  2. Use LabVIEW and NI-SCOPE to program it yourself.  This is not particularly difficult, but does require use of some less commonly used functions.  The NI-SCOPE examples should give you the information you need.  The rough sequence of events is - synchronize the scope cards, take a set of data, fetch data in chunks from the scope cards and write to disk.  If you take this route, I would recommend you read Managing Large Data Sets in LabVIEW.

You may wish to repost your question to the NI-SCOPE forum for more feedback.  Let us know if you need more help.

0 Kudos
Message 2 of 3
(6,750 Views)

DFGray, thank you for your advice. I will first try these methods, and if I get stuck with any difficulty, I will post more detail question to NI-SCOPE forum.

0 Kudos
Message 3 of 3
(6,739 Views)