LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

high-speed data acquisition and processing problem

Hi all

 

I need to measure several high-speed channels continually and each measurement has to be processed.

The processing time is too big and I have a DAQ buffer overflow problem because I need to read the data much faster (but it is impossible because of the processing time...)

Anybody knows how to solve this problem?

 

Nick

0 Kudos
Message 1 of 17
(3,425 Views)

You need to give a bit more information. What scan rate are you trying to achieve, what processing are you doing and what do you do with the processed data. Your vi or a simplifed version which demonstrates your problem would help.

0 Kudos
Message 2 of 17
(3,416 Views)

I have no VI. I just want to know theoretically.

For example: the DAQ time ~1 sec, but the processing time around 4 sec. So, I have to read fresh data each second, but I can do it only every 5 sec...

I could make a buffer to store unprocessed data but then I will have another problem - buffer overflow. The program has to work continually without any stops for very long time.

 

0 Kudos
Message 3 of 17
(3,412 Views)

Then you say the DAQ time take 1 sec, and the processing time about 4 second. How do you know this? Without having any VIs. And why do you have to read your DAQ unit every second. Also are you sure your processing part of your program is optimal. It is quite easy for a beginner to write Labview code that is very slow then dealing with arrays.

 I am quite sure you have some Labview program. But you for some reason do not like the thought of posting your code. Just post them and let us take a look. Hard to help not knowing any thing



Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
0 Kudos
Message 4 of 17
(3,403 Views)

Yes, I have a program, but it is large enough to share (more then 400 VI)... The processing code is huge also. I need to measure about 110 high-speed channels with sRate=51200 and resolution ~ 0.31 Hz (it is around 163k of number of samples). I can make a small application later to share it here.

0 Kudos
Message 5 of 17
(3,399 Views)

You should put your data collection and processing in two separate loops to speed up the program. A good place to start is the producer/consumer template that comes with Labview.

 

 

(Edit: You posted right before me. You may want to just save to something fast like .tdms and handle the processing at a later point).

0 Kudos
Message 6 of 17
(3,398 Views)

But it would be nice to have a "reat-time" system. Smiley Happy

0 Kudos
Message 7 of 17
(3,394 Views)

Here is a small example

0 Kudos
Message 8 of 17
(3,393 Views)

Do you need the full FFT or, is it only a part of the FFT you need? Like only the lower part of the spectrum say 0 to 10 Hz



Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
0 Kudos
Message 9 of 17
(3,380 Views)

I do not need the FFT. It was just an example I made for 2 min. As I said the processing module is huge (about 100 subVI) and contains are a lot of mathematics.

I do not ask you to optimize this module, but I want you to give me any solution to manage both DAQ and processing module with only one condition: DAQ time ~ 1 sec, and Processing time up to 4 sec.

0 Kudos
Message 10 of 17
(3,378 Views)