Virridy Home | Lume — Water Quality Sensing Water for Carbon

Ultrasonic Oscillators vs. an Aerated Tank

Loading…

The channels over time

Fluorescence — TLF amplitude

TLF amplitude, temperature-corrected to 20 °C

SiPM temperature — the confound

Also the check that the tank is one thermal body. If the three traces sit on top of each other, a between-sensor contrast really is differencing out a shared temperature; if they separate, it is not.

ToF amplitude — signal_per_spad_kcps

The everyday fouling detector. No direction is assumed for gas on the face. Accumulating cap fouling is measured to raise this floor, but that is a film on the cap interior, not gas on the window, and earlier versions of this page conflated the two. The only direct measurement on this rig — air deliberately trapped on all three windows at 22:34Z on 2026-08-30 — moved it down, by 152 kcps on 500214 and 71 kcps on 50091.

ToF distance — distance_mm

Valid ranging only. A sentinel is a failure code, not a distance, and is not drawn as one.

Results and logs

Does a burst clear the window at once

The question the duty cycle was built to answer. If an oscillator clears gas and film off the window, it does it at the instant it runs, so the reading moves between two consecutive samples across the burst. The sensors report once a minute, so every burst is bracketed by samples a minute apart on either side, and nothing has to be waited for. The power comes from repeats: each burst is one trial, read against its own baseline in the minutes before it, and the trials are averaged event-locked on switch-on the way repeated stimuli are stacked.

The null is a sham burst at the midpoint of every gap. The identical procedure is run at an instant when the oscillator did nothing, matched trial for trial and hour for hour in the same water, at the same film age and the same temperature. The paired difference between a burst and its own sham is the number that decides this experiment, and it needs no assumption about drift. A step the sham reproduces is the rig.

Is the step just quench

TLF falls as temperature rises and the transducer heats its own water, so a drop at the burst is exactly what quench would also produce. This is the test. It is decided within the trial set rather than against the correction: if quench drives the step, the trials that heated most must have dropped most, and the slope of that relation must be the sensor’s own measured coefficient times the standing level. A slope near zero, or of the wrong sign, cannot be quench however large the heating is.

Does the effect persist, against a measured null

Clearing a bubble or a film changes what the light crosses at the instant it happens, so the effect belongs at the switch and should not accumulate over hours. Both windows are read here. The instant step compares the 20 min before switch-on against the 20 min after switch-off, about 50 min end to end. The persist window reads 60 to 180 min after switch-off, which asks whether it lasted but also collects whatever the tank did meanwhile. Both are judged against a null measured in the same window and air state.

Oscillator episodes — before / during / after

The primary result. For each time an oscillator ran: the mean over the 20 min before switch-on, the mean while it ran, and the mean over the 20 min after switch-off. step is during − before, which the device can produce just by existing in the water. persist is after − before, and that is the number that decides the experiment.

persist is read against a measured null, not against zero. For every episode the same after − before contrast is recomputed at hundreds of anchors inside stretches where nothing was touched, at the same separation. That gives the spread of this number when nothing happened. A persist matters when the undisturbed rig does not produce it — not merely when it is large.

Between-sensor contrast — the temperature-free number

Every stretch where the oscillators were staggered: at least one unit running and at least one not, at the same instant, in the same water. Their difference cannot be quench, cannot be a room-temperature swing and cannot be the pump, because every shared term cancels. Δ is the on-group mean minus the off-group mean; DiD is that difference relative to the same difference in the previous staggered stretch with the same split, which also removes the units' standing disagreement with each other.

Condition means

Mean and SD per condition, every channel at once. A condition that has never been held says so rather than showing a zero.

Interval log

Every interval between state changes, with the condition in force and the mean of each channel over it. dark_wet_clean and dark_dry are the firmware’s own opinion of the chamber — if the challenge flips dark_wet_clean, the device is detecting it with no model at all.

Intervention log

Everything recorded here was performed by hand and stated; nothing is inferred from the data. Annotations mark the charts and move no axis.