Signal 01
CPU load / execution duration
1× is the calibrated baseline · higher means less CPU available to this page
Trailing graph averaging is display-only.
Receiver setup
Receiver settings are locked while a channel test is running. Stop the test to change them.
Calculating total probe cost…
Work and cadence apply to each worker. Changing them or the worker count recalibrates the whole pool. More workers add load and do not guarantee distinct CPU cores. Timed occupancy includes pauses during execution; it is not CPU usage.
Loading graph preference…
Stop visuals, spectrum analysis, local test load, and channel searches. The load probe keeps measuring. Display choices are saved in this browser.
Load periodicity
Frequency on the vertical axis · time on the horizontal axis · black = weak, white = strong
Move over the plot to inspect time, frequency, and amplitude.
Collecting samples…
New columns appear at the right once a second and scroll left. A bright horizontal band shows when that frequency was active. Each column summarizes the FFT window ending at that time. Shorter windows reveal changes sooner; longer windows separate nearby frequencies but spread activity over more time. At least 32 probe samples are needed per window. Set Max Hz to focus on low frequencies, or lower the intensity ceiling to brighten weak activity. Pauses leave blue-black columns; changing the probe signal, sampling settings, or FFT window clears history.
Peaks suggest repeating load; they do not identify its source. The analyzer itself adds periodic work, so compare with quiet measurements before attributing a peak. Faster sampling extends the frequency range but costs more CPU. Frequencies above the measured sampling limit can alias into lower peaks.
For example, alternating 0101 at 1 bit/s repeats every 2 seconds: look for 0.5 Hz, with possible harmonics. Frame timing and graph averaging do not enter this analysis.
Current CPU pressure
Preparing and calibrating the Wasm loop…
Mean probe duration
— baseline — wake-up delay —Calibration jitter
— collecting signalTotal timed occupancy
— effective rate — timer resolution —Signal 01
1× is the calibrated baseline · higher means less CPU available to this page
Trailing graph averaging is display-only.
Signal 02
Only slow frames · height is time over one refresh interval
Unsupervised receiver
No decoded bits yet.
Uses the selected receiver signal and per-worker baselines. Select the same payload and line encoding as the sender.
Binary mode tests every compatible whole-second phase. ASCII mode uses epoch-anchored 8-bit byte boundaries, so at 1 bit/s a byte begins when Unix time in seconds is divisible by 8. Manchester expects 0 as idle/load and 1 as load/idle, using two wire half-symbols per logical bit. Idle before or after an NRZ message is indistinguishable from zero bytes without framing.
Remote channel test
Fastest reliable observation
—Connect both browsers with the same pair code.
BER is the fraction of known 0/1 states decoded incorrectly. Δarea is the difference between integrated load and idle values of the selected signal. Workers are integrated separately and weighted equally; missing worker data reduces coverage. Comparisons use known bits to fit their thresholds and are supervised estimates.
Validation lab
Frames should stall. The worker probe should stay close to 1×.
Busy workers compete with both rendering and the probe.
Attribution log