single shot acquisition using full buffer size

Forum for discussing PicoScope version 6 (non-automotive version)
Post Reply
Reinier
User
User
Posts: 8
Joined: Wed Sep 05, 2007 3:00 pm
Location: Nijmegen

single shot acquisition using full buffer size

Post by Reinier »

Hi,

Yesterday I received my new 5204. I have been experimenting and reading documentation, but so far no success. I need to sample one channel at (approximately) 32MSa/s and I want to use the full 128 MSamples. This will give me 4 seconds of data.
questions:
- how do I do this in with PicoScope 6 (6.0.11.2)?
- is it possible to oversample with 1GHz in order to get a higher resolution. (The signal bandwith I'm interested in is only 0-5 MHz)
Reinier Gerritsen
http://www.mylaps.com - Sports Timing

ziko
Advanced User
Advanced User
Posts: 1705
Joined: Fri Dec 01, 2006 10:03 am
Location: St Neots

Post by ziko »

Hi and thank you for your post.

You cannot achieve this in PicoScope 6 as half the memory is used as a buffer. However if you wish to write your own software you can achieve this (there will be some small ovehead), also if you download the SDK there is a programming example that does this functionality.

You can achieve oversampling at 1GS/s however you would have to make sure the collection time is small enough as we limit the number of samples when using res enhancement or oversampling, due to the long processing time.

Hope this helps.

Kind regards

Ziko
Ziko

Technical Specialist

Reinier
User
User
Posts: 8
Joined: Wed Sep 05, 2007 3:00 pm
Location: Nijmegen

Post by Reinier »

Hi Ziko,

Thanks for your reaction. Unfortunately it was not the answer I was hoping for... Any chance on having this single shot, all memory feature soon in PicoScope? I'd rather not program it myself.
You can achieve oversampling at 1GS/s however you would have to make sure the collection time is small enough as we limit the number of samples when using res enhancement or oversampling, due to the long processing time.
Can you be more specific? I can imagine that processing at 1GS/s is difficult. Can you give me some numbers? If I want an effective sampling speed of 32MS/s and 100MS of data, what oversampling can be achieved? Or is the result of oversampling calculated after the acquisition is completed and thus reducing the effective buffer size? Is there an API to do this?

Kind regards,
Reinier Gerritsen
http://www.mylaps.com - Sports Timing

ziko
Advanced User
Advanced User
Posts: 1705
Joined: Fri Dec 01, 2006 10:03 am
Location: St Neots

Post by ziko »

Hi, speaking to the software engineer he says

"1. There are plans to have a long single-shot capture with the whole memory depth, but not in the immediate future.

2. Resolution Enhance is not exactly the same as oversampling, since we are not actually sampling any faster, so working at 1GS/s always requires a 1GS/s actual scope sampling rate and always produces output data at 1GS/s regardless of the resolution increase (This is fully documented in the latest PS6 help file). The primary effects of the resolution enhancement being an increase in the effective resolution and an attenuation of high frequencies (low-pass filter). The best way to see what is happening is to use the Spectrum view to observe the low-pass effects of the resolution enhance feature.

At present, we can't provide 100M points of data with resolution enhancement on, since this is too much data to download and process whilst keeping the frame-rates reasonable. The limit is somewhere around the 1M mark.
"

Kind regards
Ziko

Technical Specialist

Sven
User
User
Posts: 2
Joined: Wed Jan 16, 2008 8:15 am

Post by Sven »

Reinier wrote:… I want to use the full 128 MSamples. …
ziko wrote:…
You cannot achieve this in PicoScope 6 as half the memory is used as a buffer. However if you wish to write your own software you can achieve this (there will be some small ovehead), also if you download the SDK there is a programming example that does this functionality.
…

Hello I have read the topic „single shot acquisition using full buffer sizeâ€

ziko
Advanced User
Advanced User
Posts: 1705
Joined: Fri Dec 01, 2006 10:03 am
Location: St Neots

Post by ziko »

Hi I forwarded your query to one of the software engineers and here is his input:

"You have opened the device, but not called ps5000SetChannel to switch channel B off. This needs to be done as when the unit is first opened the drivers default state is to enable both channels. This means that the maximum number of samples that can be collected for one channel is 64MB ( the actual number is available from ps5000MemorySegments maxSamples parameter divided by two.


To collect the full memory for one channel you should first call:


ps5000SetChannel (handle, PS5000_CHANNEL_B, 0, 1, PS5000_20V);


The last two parameters do not really matter as the channel is being disabled; you just need to be in range.
"

Hope this helps
Ziko

Technical Specialist

Sven
User
User
Posts: 2
Joined: Wed Jan 16, 2008 8:15 am

Post by Sven »

Great it works, thank you for your support.


But now I have one additional question.

When you say that

Code: Select all

ps5000SetChannel (handle, PS5000_CHANNEL_B, 0, 1, PS5000_20V);
make the channel settings.

Are these lines

Code: Select all

unit->channelSettings[0].range = 3; 
unit->channelSettings[0].enabled = TRUE; 
unit->channelSettings[1].range = 99; 
unit->channelSettings[1].enabled = FALSE;
that I have found in the example file useless?

So I have to use this

Code: Select all

ps5000SetChannel (handle, PS5000_CHANNEL_A, 1, 1, PS5000_100MV);
ps5000SetChannel (handle, PS5000_CHANNEL_B, 0, 1, PS5000_20V);
instead?

Kind regards Sven

gruntman
Advanced User
Advanced User
Posts: 109
Joined: Thu Sep 28, 2006 3:50 pm

Post by gruntman »

Sven,

Yes this is correct. Statements like 'unit->channelSettings[0].range = 3' are simply used within the program itself, but have no direct control over the unit. ps5000SetChannel would be the function that directly controls the scope.

Regards,

Richard Boyd
Technical Specialist
http://www.pc-oscilloscopes.com

Post Reply