Test and Measurement Forum

downsample modes execution time

Post your C and C++ discussions here

downsample modes execution time

Postby jowlo » Wed Mar 01, 2017 2:47 am

Hi!

I am experimenting with the downsampling modes on a Picoscope 6404D in rapid block mode, using the linux driver from the debian repos, currently libps6000 1.4.6-6r13 amd64.

I am stopping the time it takes my software (mostly the driver with ps6000GetValuesBulk() ) to transfer the data from the scope to my local buffer. I am using rapid block mode to acquire the data.
Surprisingly (for me) all downsampling modes actually take more time to transfer the data over into my buffers than transferring the complete block without any downsampling - i did not expect this, especially when using decimation.

Some values:
200000 segments
3137 samples per segment
at a sampling rate of 3.125e+08Hz

No downsampling:
~ 7000ms

With decimation, factor 10 (313 samples per segment buffer):
~ 10900ms

Even worse: decimation with factor2 (1568 samples per segment buffer)
~ 42900ms


The data sheet is pretty clear on the fact, that downsampling is done in hardware, and there is no cpu load from the driver during above measured time.

Is this expected, or am i doing something wrong?

Thanks in advance,
jowlo
jowlo
Newbie
 
Posts: 0
Joined: Wed Nov 30, 2016 11:45 am

Re: downsample modes execution time

Postby Hitesh » Wed Mar 01, 2017 9:30 am

Hi jowlo,

Are you using a USB 3.0 connection?

If you increase the downsampling factor to something like 20, 50 and 100 is there any improvement in the transfer rate?

Regards,
Hitesh

Technical Support Engineer
Hitesh
Site Admin
Site Admin
 
Posts: 2518
Joined: Tue May 31, 2011 3:43 pm
Location: St. Neots, Cambridgeshire

Re: downsample modes execution time

Postby jowlo » Wed Mar 01, 2017 9:39 am

Hi Hitesh,

yes, i am using USB 3.0. Although even without downsampling the effective transfer rate never reaches USB 3-max.

Further increasing the downsampling factor does speed up the transfer:

Settings as in opening post:
downsampling factor 20 (156 samples per segment):
decimation: ~ 6530ms
averaging: ~ 20400ms

downsampling factor 50 (62 samples per segment):
decimation: ~ 2880ms
averaging: ~ 8460ms

downsampling factor 100 (30 samples per segment):
decimation: ~ 1675ms
averaging: ~ 4440ms


Interesting...

Edit: Added averaging measurements.
jowlo
Newbie
 
Posts: 0
Joined: Wed Nov 30, 2016 11:45 am

Re: downsample modes execution time

Postby Hitesh » Mon Mar 06, 2017 3:11 pm

Hi jowlo,

Would it be possible to post your code here or e-mail it to support@picotech.com please?

Thanks,
Hitesh

Technical Support Engineer
Hitesh
Site Admin
Site Admin
 
Posts: 2518
Joined: Tue May 31, 2011 3:43 pm
Location: St. Neots, Cambridgeshire


Return to C and C++

Who is online

Users browsing this forum: No registered users and 0 guests