Max sampling rate in streaming mode?

Post your MATLAB discussions here
Post Reply
Posts: 0
Joined: Wed Mar 30, 2016 3:10 pm

Max sampling rate in streaming mode?

Post by stu_J »


I'm using 3204A streaming mode example code provided by SDK. I wanted to continously storing data with sampling rate at 15.625MS/s (64ns interval) for 1min(both A and B channels enabled). As I read that ps3000a series can achieve up to 15.625MS/s sampling rate when 2 channels enabled. But when I tried to capture data, it seemed that it was not fast enough to capture data in 'real-time', i.e. when I run the capturing 30s, the data collected finally only had duration like 3s.

Then I increased the two buffersize parameters, overviewBufferSize of the driver to 50 000 000 samples, and maxSamples to be stored in finalBuffers. It did increase the time duration of the stored data to tens of seconds, but still not the same as real-time. But what I want to do is to process the data in say, every 10ms, which will give me 312500 samples during collection, which is far too less compared to 50 000 000 and will overwrite the driver buffer during collection, so I'll loss a lot of data.

Does anyone know how I could collect real-time data at such a sampling rate? Any suggestions will be great!


Advanced User
Advanced User
Posts: 2856
Joined: Tue May 31, 2011 3:43 pm
Location: St. Neots, Cambridgeshire

Re: Max sampling rate in streaming mode?

Post by Hitesh »

Hello J,

I noticed from a previous post that you may be using the PS3000a_IC_Generic_Driver_2buffers_Streaming_SimpleTrig example script.

I would recommend using the PS3000A_IC_GENERIC_DRIVER_STREAMING.m example and the Instrument Driver and associated files from the ps3000a_BETA folder from our submission on File Exchange.

This has improvements to streaming mode data capture and also demonstrates the copying of data from the temporary application buffers into a larger buffer, from which you can then process the data.

Please also check the streaming interval returned from the call to the ps3000aRunStreaming() function in this example to confirm the sampling rate that the device is collecting data at.


Software Dev. Engineer

Post Reply