pmokeDOCS
Interactive tools

Waveform Analyzer

Browser-local lock-in, phase rotation, and Kerr-angle analysis from harmonic components, with results matching the native implementation.

The analyzer runs the same Rust kernels used by native pmoke inside a dedicated Web Worker. Synthetic signals and local CSV files remain in the browser. Plot traces are decimated independently; every exported value comes from the complete analysis input.

SOURCE
Loading analysis core
Loading analysis core0%
INPUT WAVEFORMsignal / time (s)
LOCK-IN X / YV / time (s)
MAGNITUDE / PHASEV / rad / time (s)
KERR ANGLE / FILTER RESPONSErad / frequency (Hz)
ANALYSIS CONTROLBrowser-local processing
FILTERBoxcar legacyNative-equivalent
Outside parity scopelegacy FIR/IIR · phase fitting · standard Kerr-angle calculation
RUN METRICS
Samples
Output samples
Input rate
Output rate
Runtime
Estimated ENBW
Support
Cutoff
N/A · boxcar
Input trim
Settling
N/A · boxcar
Modulation depth
Median Kerr angle

Analysis visualization

The four synchronized plots show the input waveform, lock-in X/Y components, magnitude and phase, Kerr angle, and filter response. Controls cover sample rate, reference frequency, noise, boxcar half-window, stride, phase rotation, harmonic, and Kerr factor. Local CSV analysis and metadata-rich CSV export remain browser-local.

Parity boundary

boxcar_legacy, phase rotation, and Kerr-angle calculation from harmonic components are numerically equivalent to the native implementation. Historical FIR/IIR filters are migration-only and are not active runtime paths. Phase fitting and the standard Kerr-angle calculation are also outside browser parity. Use the native pmoke CLI for the supported production workflow.

CSV input accepts time,signal or one signal column. A time column must be finite, strictly increasing, and uniform. One-column input uses the sample-rate control. The hard limits are 16 MiB, 1,000,000 input samples, and 1,500,000 total harmonic output points.

On this page