Scope

Scope#

class Scope(resourceName, name)#

Bases: Hardware

Scope abstract base for oscilloscopes.

Provides common acquisition timing (Duration, NSample), trigger configuration (TriggerMode, TriggerSource, TriggerSlope, TriggerLevel), measurement helpers (peak-to-peak, extrema, mean, RMS, std), and sine-fit quantities (SineAmplitude, SineFrequency, SinePhase, SineOffset). Concrete subclasses implement vendor-specific connections and I/O.

Example:

sc = Tektronix1104("USB0::...", name="Scope");
sc.connect();
sc.Duration = 0.01; sc.NSample = 2500; sc.IsEnabled = [true true false false];
sc.set();
sc.read();
sc.plot();
Constructor Summary
Scope(resourceName, name)#
Property Summary
Duration double {mustBePositive} = 0.1#

Total record length [s]

HorizontalOffset double = 0#
IsEnabled logical#

Per-channel enable flags

Max#

Max per channel

Mean#

Mean per channel

Min#

Min per channel

NSample double {mustBeInteger,mustBePositive} = 2500#

Number of samples to acquire

NSampleMax double#

Maximum supported samples per record

PeakToPeak#

Peak-to-peak per channel

Rms#

RMS per channel

Sample double#

Latest acquired samples [nCh x NSample]

SampleUnit string#

Engineering unit for samples (e.g., ā€œVā€)

SamplingRate#

Sampling rate [Hz]

SamplingRateMax double#

Maximum supported sampling rate [Hz]

SineAmplitude#

Fitted sine amplitude per enabled channel

SineFit SineFit1D#

Sine fits per enabled channel

SineFrequency#

Fitted sine frequency per enabled channel [Hz]

SineOffset#

Fitted sine DC offset per enabled channel

SinePhase#

Fitted sine phase per enabled channel [rad]

Std#

Standard deviation per channel

TimeList#

Time vector corresponding to Sample

TrapezoidalAmplitude#
TrapezoidalDuration#
TrapezoidalFit TrapezoidalFit#
TrapezoidalOffset#
TriggerLevel double = 0.1#

Trigger threshold (in SampleUnit)

TriggerMode string {mustBeMember(TriggerMode,{'Normal','Auto','Software'})} = "Normal"#

Trigger mode

TriggerSlope string {mustBeMember(TriggerSlope,{'Rise','Fall'})} = "Rise"#

Trigger edge

TriggerSource string = "External"#

Trigger source identifier

VerticalCoupling string {mustBeMember(VerticalCoupling,{'DC','AC'})} = "DC"#

Input coupling per channel

VerticalOffset double = 0#

Vertical offset per channel (in SampleUnit)

VerticalRange double = 10#

Vertical range per channel (in SampleUnit)

Method Summary
doTrapezFit()#

Fit each channel with a sine model using SineFit1D.

Returns:

Sine fits for enabled channels

Return type:

SineFit1D array

plot(ax)#

Plot captured waveforms vs time.

Parameters:

ax (axes, optional) – Target axes (default: create new figure)