Showing results for 
Search instead for 
Did you mean: 

Acquire signals using Labview and Process them using Matlab

Go to solution

That's a good point but for some reason even in different blogs on the internet it is mentioned that Labview is better than matlab at real time data acquisition. Maybe the transfer rate of data is faster and in general it is easier to use?




0 Kudos
Message 11 of 14

Thank you for your message, I will try to describe the operation in more details:

I will use a 10 MHz transducer so in order to get good data the sample rate should be 10 times larger so around 100 MS/s (reference: My application is not a continuous signal, it is a pulsed signal of 5 microseconds width that will be repeated every 200 microseconds (5 kHz). The step accuracy will be 0.01 microsecond (based on the sample rate chosen).


As I mentioned previously, I am scanning an area which will need around 100 strokes to complete. Each stroke will take around 4-5 seconds to complete. There will be a small delay in measurements between each stroke (for the transducer to reach the new location) so each stroke data can be considered separately.

I will use only 1 channel.


("how fast can you stream the data to disk?") I'm not sure how to find the required speed. I was planning on using a USB cable as the connection with the oscilloscope but if that won't give enough speed then I can use a gigabit Ethernet instead which should be much faster (reference:




0 Kudos
Message 12 of 14
Accepted by topic author Kamelbh

You plan to sample at 100MHz for 5 microseconds = 500 samples, acquiring these samples every 200 microseconds.  I'm unclear about the meaning of a "stroke", but if I assume you are taking 100 strokes that take 5 seconds to complete, this might mean that the entire duration of data acquisition would be 500 seconds.


For now, I'm going to ignore how you set up the DAQ equipment (I'm sure NI makes suitable hardware to do this, but it's outside my personal experience -- I'm more a KHz guy).  You want to take 500 samples every 200 microseconds, which comes out to 500 * 5KHz = 2.5M samples/second.  This is well within the range of streaming capabilities of modern PCs and LabVIEW, particularly if you "package" the data properly (I'd start by sending 500 points at a time using TCP/IP, but if this is too slow, gather 5 to 50 500-point samples together for transfer -- experiment).


LabVIEW is good for doing this data acquisition as it is inherently parallel.  By using Producer/Consumer and LabVIEW Real-Time designs, you can have your DAQ loop "export" (through a Queue or RT FIFO) the data to a Consumer that assembles TCP/IP packets and sends them to the Host PC for streaming, or even streams them directly if necessary.


LabVIEW is designed for this type of code.  MatLab's design is focused on matrix processing, with DAQ added on.  I appreciate the simplicity of staying with a single (MatLab) platform, and if it will work for you and you are more comfortable with it, go ahead.  But for pure ease of acquiring data from instruments, LabVIEW is hard to beat ...


Bob Schor

Message 13 of 14

Hi Bob,


Thanks for your reply it was helpful. I'll give it a try with Matlab 1st since it is available before deciding on switching to labview.




0 Kudos
Message 14 of 14