fast daq on 5 channels

Which product is right for your exact requirements
Post Reply
joejk
User
User
Posts: 4
Joined: Thu Mar 30, 2017 5:11 am

fast daq on 5 channels

Post by joejk »

Hi,
I need to acquire 5 channels of data at 20MS/s on each channel. I need to do this for a set time period (variable from ~1 second to a max of ~1 minute), process the data (involving waveform averaging) which will condense the data which will then be stored in a file, then repeat the process. Ideally, I'd like the data processing/storage to not interrupt the data sampling.

What would be the most appropriate scope and method of implementation (in general terms for now)?
Cheers
Joejk

bennog
Advanced User
Advanced User
Posts: 206
Joined: Mon Nov 26, 2012 9:16 am
Location: Netherlands

Re: fast daq on 5 channels

Post by bennog »

You will need a 8 channel scope with USB 3
What you want will produce 200MB of data per second (100M samples of 2 bytes per sample) , so you need a fast computer to process this data. And you need to use the SDK (the picoscope software will only do 10M samples per second)

If it is ok to do the averaging in the scope and do the other calculations in the PC then there are some more options.

But you still need at least a 5 channel scope (so 8 channel is the only option)

Benno

joejk
User
User
Posts: 4
Joined: Thu Mar 30, 2017 5:11 am

Re: fast daq on 5 channels

Post by joejk »

Thanks for the reply.

I believe you are suggesting the Picoscope 4824 model and writing code using the SDK to acquire the data and then process it according to my requirements. I'd like some more detail about how to do this, e.g. can the 4824 acquire data in block mode or is streaming mode necessary? Unfortunately, the waveforms cannot be averaged without some processing first -- I need to waveform-average the resultant of (waveform -DCaverage(waveform))^2 ) on four of the channels. The fifth channel can be averaged on the scope if that is less complicated or faster wrt data transfer.

The requirement that data sampling not be interrupted while waveforms are processed I would think means that the scope must transfer a block of data whilst filling another block(?). Alternatively, using data streaming, it would seem to me that the data acquisition/processing program would need to be multi-threaded. Or is there another way?

I would gladly move forward with getting a 4824 once I'm relatively assured there are not show-stoppers in this application.
Cheers
Joe

bennog
Advanced User
Advanced User
Posts: 206
Joined: Mon Nov 26, 2012 9:16 am
Location: Netherlands

Re: fast daq on 5 channels

Post by bennog »

Yes I meant the 4824, it seems it can handle your request according the specifications of the scope.

Because you don't want to miss any data between calculations you need to use streaming mode to collect the data.
In block mode you will miss some data samples between the blocks

Your biggest concern will be USB3 bandwidth, and you will need some programming skills and a decent PC.

It should be possible to do it in 1 thread / process depending on the hardware.
But if I should be writing this program I will use 3 threads.
1 data collection thread
1 data processing thread (or 4)
1 data storage thread (at the lowest priority the OS can provide)
All processes will be communicating using queues.

But finally someone from PicoTech needs to confirm this is possible with the 4824 and the SDK and not some one on a forum telling you a nice story 8) a.k.a. known as me.

Benno

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

Re: fast daq on 5 channels

Post by Martyn »

The 4824 can stream at up to 160MS/s shared across 8 channels, so 20MS/s on 5 channels would be suited to s streaming application written with the SDK

There is sufficient data bandwidth on the USB bus, coupled with a deep FIFO memory in the scope, to allow application based processing. The FIFO on the scope and the collection buffer in the driver, will provide protection against data loss so that the application does not need to be constantly reading data.

If you want to discuss your application in more detail then please email support@picotech.com including details of your preferred development environment and programming language.
Martyn
Technical Support Manager

Post Reply