Waveform acquire rate

Post your LabVIEW discussions here
Post Reply
engbrech
Newbie
Posts: 0
Joined: Thu Jun 09, 2016 7:45 pm

Waveform acquire rate

Post by engbrech »

I have just starting using Labview 2014 with my new picoscope 2408B. Using the rapidblock example things seem to be working. I am looking at pulses about 20 ns in duration using a 100 ns window for the moment. The waveforms are being acquired well.

The example seems limited to acquiring about 350 waveforms/second. Far below the 80,000 waveforms per second advertised on the website information.

I'm wondering how I should approach programming to try and raise that acquisition rate. I'd like it to be as high as possible.

Thanks for your help.

Jason Engbrecht

Martyn
Site Admin
Site Admin
Posts: 4491
Joined: Fri Jun 10, 2011 8:15 am
Location: St. Neots

Re: Waveform acquire rate

Post by Martyn »

The 80,000 waveforms per second update rate is available when running in Persistence Mode, using the PicoScope 6 software, and is intended for looking at inconsistencies in waveforms. It is discussed in more detail in the relevant section here.

Writing software in LabVIEW, and using Rapid Block Capture, will effect what can be achieved, this will also be dependent upon the specifications of the PC being used.

If you provide some detail on how you have set up the scope, number of segments captured, number of active channels, number of samples per segment, and the sample interval, then it would be possible to check that the scope is performing up to specification.
Martyn
Technical Support Manager

engbrech
Newbie
Posts: 0
Joined: Thu Jun 09, 2016 7:45 pm

Re: Waveform acquire rate

Post by engbrech »

Martyn,


Thanks for your reply. Unfortunately, I will not be near the equipment for a couple of weeks as I have left on vacation.

I did not set up the segments unless that was done automatically by setting's vi. Looking at the documentation, if this wasn't set that could perhaps be at 1 by default. That seems strange for the rapid block example as it seems designed to put the waveforms all into memory.

Regardless, I'll have to wait to check this out further.

Jason

engbrech
Newbie
Posts: 0
Joined: Thu Jun 09, 2016 7:45 pm

Re: Waveform acquire rate

Post by engbrech »

Martyn,

I am now back in the lab and can check on the specifications you requested.

Here are all the details I can think of.

I am inputing a 50 ns pulse train at a rate of 20 kHz generated by a function generator.
I am triggering on channel A and acquiring channels A and B
The timebase is 1 meaning (i believe) I am acquiring at 500 MS/sec on each channel.
I am collecting 100 pretrigger samples and 100 post trigger samples.
I don't explicitly set the number of segments, but if I am reading the documentation correctly, the set up VI for the rapid block example puts that at the number of captures I am using which is 100.

With these settings I achieve about a 320 Hz acquisition rate of waveforms. This is the rate at which a single block of acquisitions (100 captures) comes in.

I have tried playing with all of these parameters with the following results.

Lowering the pulse rate also lowers the acquisition rate when the rate gets below approximately 2 kHz. At a pulse rate of 500 Hz the acquisition rate is 200 Hz and at 100 Hz it is 80 Hz.

Raising the numbers of captures helps a bit. At 500 captures in a block the rat is about 350 Hz. Raising the number of captures further does not have an impact.

Raising the pre and post trigger samples has a small effect. At 1000 for each the rate drops to about 280 Hz

Raising the timebase does not have a significant impact.

I have not yet tried a different computer thought that is a possibility if it seems a significant improvement could be achieved.

Martyn
Site Admin
Site Admin
Posts: 4491
Joined: Fri Jun 10, 2011 8:15 am
Location: St. Neots

Re: Waveform acquire rate

Post by Martyn »

How many waveforms in total are you looking to capture, or are you expecting to run continuously ?
In each waveform is it 100 samples pre trigger and 100 samples post trigger ?
Martyn
Technical Support Manager

engbrech
Newbie
Posts: 0
Joined: Thu Jun 09, 2016 7:45 pm

Re: Waveform acquire rate

Post by engbrech »

I want to run continuously though the current program doesn't do that.
It is 100 Samples both post and pre trigger.

Martyn
Site Admin
Site Admin
Posts: 4491
Joined: Fri Jun 10, 2011 8:15 am
Location: St. Neots

Re: Waveform acquire rate

Post by Martyn »

Are you running this within the LabVIEW environment, or are you creating a standalone application. I would expect the second option would give you an improvement, and would allow you test on different PC's quite easily.

When you say run continuously over what time frame ? And what are you going to do with the data ?
Martyn
Technical Support Manager

Martyn
Site Admin
Site Admin
Posts: 4491
Joined: Fri Jun 10, 2011 8:15 am
Location: St. Neots

Re: Waveform acquire rate

Post by Martyn »

As a quick test I setup PicoScope 6 to capture 10000 buffers, the maximum it permits, at 500MS/s on two channels, using the Rapid Trigger with a 1MHz input signal. It took less than a second to capture the data and display a trace, equating to >10000 waveforms per second. The data file is attached to allow you to perform the test on your PC
Rapid2408Awith1MHz.psdata
(1.19 MiB) Downloaded 549 times
I will carry out some further tests, in a programming environment, and report back via the Helpdesk Ticket you have raised.
Martyn
Technical Support Manager

engbrech
Newbie
Posts: 0
Joined: Thu Jun 09, 2016 7:45 pm

Re: Waveform acquire rate

Post by engbrech »

It has been a while since I was able to explore this issue and I have simply lived with the low rates. However, in the past day or to I looked more closely at the Labview example for the 2000 series. The rapid block example seems to be using the wrong function calls. In the 2000 series programmers guide it is suggested that the GetValuesBulk functions should be used to read the data all at once. However, the examples provided do not use this function. Instead they use the GetValues function for each waveform individually. My quick timing test indicate that that is where the majority of the time delays are. Is there a mistake in the Labview example. Can the GetValuesBulk function be used? I am attempting that now without much luck yet.

Hitesh

Re: Waveform acquire rate

Post by Hitesh »

Hi Jason,

There has been some work on updated examples for the new PicoScope 2200 models, including an example that uses the ps2000aGetValuesBulk() function. They have not been published yet as we are looking at how best to deploy the SDK compared to the current installer which provides drivers and examples.

Please e-mail support@picotech.com indicating whether you are using a 32-bit or 64-bit version of LabVIEW and we will provide with the examples and drivers which you can use.

Regards,

engbrech
Newbie
Posts: 0
Joined: Thu Jun 09, 2016 7:45 pm

Re: Waveform acquire rate

Post by engbrech »

Thanks for this update. The acquisition speed is now nearly what you quoted for the c code. I am now acquiring data at around 5kHz. Roughly a factor of 20 increase.

Post Reply