Hi,

I use a Picoscope 3206D MSO and want to measure the phase difference of two analog signals with vary in frequency from 400 kHz to 600 kHz in steps of 200 Hz. The phase difference is in the order of ~ 0 nS up to 2 nS. Therefore I want to use the ETS mode of the Picoscope. I have chosen to write a C++ program which should do the job. Unfortunatedly the ETS produces strange results. Therefore I looked to the description of the ETS mode.

I don't understand the meaning of the parameters etscycles and etsinterleave (according to pages 75 and 76 of the PicoScope 3000 Series (A API) Programmer's Guide) and the relation of this two to the samplefrequency. Could you explain this better or in another way ? Do you have a timing diagram to show this relation ?

Many thanks in advance.

With kind regards

Pierre

## ETS mode

### Re: ETS mode

Hi PierreH,

In Extended Time Sampling (ETS) mode a 50 sample waveform cycle would consist of one sample from 50 consecutive waveform cycles captured in Real-Time Sample (RTS) mode. In the resulting ETS waveform cycle, ETS sample point 1 would be RTS sample point 1 from RTS waveform cycle 1, ETS sample point 2 would be RTS sample point 2 from RTS waveform cycle 2, and so on. (there is a good visual explanation of this here: https://www.picotech.com/download/manua ... nswers.pdf)

So, etsinterleave is the number of RTS waveform cycles used to donate one sample point towards the ETS waveform cycle, and etscycles is the number of ETS waveform cycles that will be constructed.

In order to compare the phases of 2 frequencies, stepping 200Hz at a time, you would need to hold the two analog frequencies constant for the total number of RTS cycles that you would need to construct your ETS waveform, So, for example, if you want 3 ETS waveforms constructed then etscycles will be 3, and if you want to use (or interleave) 50 sample points from from 50 RTS cycles then you would need an etsinterleave of 50, and you would need to hold the frequencies constant before performing a step increase of 200Hz for a total number of 3 x 50 = 150 cycles, each time.

If you apply this and still get strange results then could you describe what you mean by strange results.

Regards,

Gerry

In Extended Time Sampling (ETS) mode a 50 sample waveform cycle would consist of one sample from 50 consecutive waveform cycles captured in Real-Time Sample (RTS) mode. In the resulting ETS waveform cycle, ETS sample point 1 would be RTS sample point 1 from RTS waveform cycle 1, ETS sample point 2 would be RTS sample point 2 from RTS waveform cycle 2, and so on. (there is a good visual explanation of this here: https://www.picotech.com/download/manua ... nswers.pdf)

So, etsinterleave is the number of RTS waveform cycles used to donate one sample point towards the ETS waveform cycle, and etscycles is the number of ETS waveform cycles that will be constructed.

In order to compare the phases of 2 frequencies, stepping 200Hz at a time, you would need to hold the two analog frequencies constant for the total number of RTS cycles that you would need to construct your ETS waveform, So, for example, if you want 3 ETS waveforms constructed then etscycles will be 3, and if you want to use (or interleave) 50 sample points from from 50 RTS cycles then you would need an etsinterleave of 50, and you would need to hold the frequencies constant before performing a step increase of 200Hz for a total number of 3 x 50 = 150 cycles, each time.

If you apply this and still get strange results then could you describe what you mean by strange results.

Regards,

Gerry

Gerry

Technical Specialist

Technical Specialist

### Re: ETS mode

Hi Gerry,

Thanks for your reaction.

The picture was fine. I got the idea behind ETS.

I tried your advise for etscycles and etsinterleave. See the codedetail below.

etsCycles = 3;

etsInterleave = 50;

status = ps3000aSetEts(unit.handle, PS3000A_ETS_SLOW, etsCycles, etsInterleave, &sampleTimePicoseconds);

After debugging this piece of code, I got a status 13, which means according to page 144 of the Programmer's Guide for the Picoscope 3000 :

PICO_INVALID_PARAMETER A parameter value is not valid

On page 76 of this manual the following text about etscycles and etsinterleave is found:

etsCycles, the number of cycles to store: the driver then selects etsInterleave

cycles to give the most uniform spread of samples. Range: between two and five

times the value of etsInterleave, and not more than the etsCycles value returned

by ps3000aGetMaxEtsValues.

etsInterleave, the number of waveforms to combine into a single ETS capture. The

maximum allowed value for the selected device is returned by

ps3000aGetMaxEtsValues in the etsInterleave argument.

My conclusion from this text is, that etscycles shoud be larger than etsinterleave, which -in my opinion- is in contrast with your explanation.

So, where is my misunderstanding.

With kind regards

Pierre

Thanks for your reaction.

The picture was fine. I got the idea behind ETS.

I tried your advise for etscycles and etsinterleave. See the codedetail below.

etsCycles = 3;

etsInterleave = 50;

status = ps3000aSetEts(unit.handle, PS3000A_ETS_SLOW, etsCycles, etsInterleave, &sampleTimePicoseconds);

After debugging this piece of code, I got a status 13, which means according to page 144 of the Programmer's Guide for the Picoscope 3000 :

PICO_INVALID_PARAMETER A parameter value is not valid

On page 76 of this manual the following text about etscycles and etsinterleave is found:

etsCycles, the number of cycles to store: the driver then selects etsInterleave

cycles to give the most uniform spread of samples. Range: between two and five

times the value of etsInterleave, and not more than the etsCycles value returned

by ps3000aGetMaxEtsValues.

etsInterleave, the number of waveforms to combine into a single ETS capture. The

maximum allowed value for the selected device is returned by

ps3000aGetMaxEtsValues in the etsInterleave argument.

My conclusion from this text is, that etscycles shoud be larger than etsinterleave, which -in my opinion- is in contrast with your explanation.

So, where is my misunderstanding.

With kind regards

Pierre