From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
06-28-2017 11:58 PM - edited 06-29-2017 12:00 AM
To acquire data from an ultrasonic transducer with high sampling rate of 10 MHz, PCI 5114 (with on board memory of 8 MB) high speed digitizer is being used with LABVIEW 2014 version.
We are using a pulser receiver for giving pulses to ultrasonic transducer. The sync out of pulser receiver has being connected to the trigger input of PCI card and thus in the VI also the trigger source is mentioned as EXT Trigger (PFA the datasheet of pulser receiver)
We need to acquire the ultrasonic signals (reference signal & reflected signal ) with a record length of 1000; and save these signals in a text file/ lvm file, at every 1 ms. As the time taken for the reflected ultrasonic pulse to return to transducer is very critical, the saving of these signals for post processing is our prime requirement.
The VI attached is developed using Producer Consumer Architecture, where the Producer loop is acquiring the data from digitizer & the consumer loop is saving the data at the rate of 240 file/ second approx. (our requirement is to save at a rate of 1000 files/sec; 1 millisecond for saving one file).
The acquisition is happening perfectly fine, but the saving rate is not as per our current requirement.
Please give your valuable suggestions on how to improve the code so as the saving rate of files can be improved.
Will increasing the buffer memory or on board memory on PCI card resolve the issue?
06-29-2017 08:41 AM
06-29-2017 10:36 PM
Thank You
06-30-2017 08:10 AM
With TDMS you would open one file and then write N data sets (that come from the producer loop). Each data set could be a different 'channel' in TDMS or you could append them to the same channel if each data sets length is known. This will save you the overhead of creating a file for every data set.
You could also do a every N implementation where you create a new file every N cycles of the consumer loop (ex. create a file if loop iterator in consumer loop mod N == 0).
07-02-2017 11:32 PM
The length of the data is known i.e. 1000 data points are acquired for every iteration. while saving in tdms format I need to save the time axis also with the data as time data points is important to observe the shift in peaks of ultrasonic waves.
It would be helpful if you can share a simple VI for tdms file saving options with different channel names as suggested by you in the earlier thread.
Thank You