phoq · src/phoq/instruments.py · Oscilloscope

Scope Sweep, Line by Line

How phoq's oscilloscope turns light on a photodiode into a triggered, digitized trace with measurements. The walk follows one sweep through acquire() and the helpers it calls, record(), _front_end(), _digitize() and measure(), in the order they run. Every curve on the screen is the array that line produced on the bench below: the lines were replayed with the same random seed and checked against acquire() itself, sample for sample.

laser −10 dBm, gain-switched pulses 1 ns FWHM at 50 MHz, RIN −130 dBc/Hz → PD-1 (0.95 A/W, 1 GHz, 50 Ω load) → CH1
OSC-1: 10 ns/div, 5 GS/s, 1 GHz front end, 20 000-point memory, 8-bit ADC, CH1 500 µA/div at −3 div, edge trigger ↑ CH1 at 0.704 mA
OSC-1 · CH1 PD-1RUN
1 / 1
acquire() record() _front_end() _digitize() measure()