Difficulty getting waveform data from Pico Scope: Unwanted Phase Shift

Post general discussions on using our drivers to write your own software here
Post Reply
Posts: 0
Joined: Mon Jan 15, 2024 7:36 pm

Difficulty getting waveform data from Pico Scope: Unwanted Phase Shift

Post by kallenberge »


I am new to the use of picoscopes. I am trying to pull waveform data from my new PicoScope 3404D using python. I have used one of the scripts from the github repository (https://github.com/picotech/picosdk-python-wrappers) to pull the waveforms from two channels (Channel A & B). Currently, I am using a Rigol DG4062 to send a 7MHz sine wave (with 500 mVpp) through a BNC splitter to these two channels on the PicoScope.

When I run the python script (attached to this post), I am able to plot the two waveforms. However, about half of the time, the signals appear to have a slight phase shift (~ 15 degrees) and even a slight change in the amplitude. I have attached the plots produced by the python script for both cases (one where the signals are shifted and one where they are properly aligned). I can not figure out why this is happening. I have modified many aspects of the script including the timebase, trigger, and even tried different channels, but no matter what, I can't get rid of this occasional phase shift. I also tried running the streaming mode python script from the github repository and the same phase shift still occasionally takes place.

The phase shift doesn't appear every time I trigger the scope. Sometimes it appears and sometimes it doesn't and there doesn't seem to be any consistent pattern for when it appears either.
I am pretty sure it has something to do with the timing for how the buffer is pulled from the scope since the phase shift never appears when I am viewing the waveforms in the PicoScope Software. I have attached a screenshot of the waveforms viewed from the PicoScope Software for comparison.

Since the signal is transmitted directly from the function generator through a splitter and in to the two channels on the scope (and even through two BNC cables of equal length), I don't see why there should be any difference in the waveforms detected on the scope.

Does anyone know what may be the problem here ?
Is there anything I need to change in the python script to ensure that the two channels are synchronized ?
Any insight would be greatly appreciated.

Evan K.
PcioScope Software Pic.png
Python Shifted Waveform.png
Python NonShifted Waveform.png
(7.1 KiB) Downloaded 131 times

Post Reply