Evaluation practice · E54 · Engineering practice

A hundred updates per second is not a hundred independent measurements

A sensing report becomes more useful when it separates sampling rate, window length, hop size, queue delay and physiological validation.

Audio callback / queueWindowed estimatorTiming instrumentation
A 50 ms window advanced by 10 ms overlaps its predecessor by 40 ms; update frequency must not be confused with independent evidence.
Figure 1. Overlapping is not independent. A 50 ms window advanced by 10 ms overlaps its predecessor by 40 ms; update frequency must not be confused with independent evidence. Source timing; illustrative signal. Original vector illustration.

Follow the information

From input to outcome

Adjacent windows share 40 of their 50 ms of evidence. A higher display/update rate therefore does not create independent measurements or establish the accuracy of a physiological estimate.

Adjacent windows share 40 of their 50 ms of evidence. A higher display/update rate therefore does not create independent measurements or establish the accuracy of a physiological estimate.
Figure 2. Information flow. Solid arrows carry observations, tensors or artifacts; other routes are explicitly labelled. Signal shapes, matrices and network icons are schematic, not measured samples or literal neuron counts. Open full-size SVG ↗ On narrow screens, scroll the diagram horizontally.

Read this alongside Figure 1: A 50 ms window advanced by 10 ms overlaps its predecessor by 40 ms; update frequency must not be confused with independent evidence. The module map and layer-level figures below expand the operations in this route.

A hundred updates per second is not a hundred independent measurements: system and evaluation map48 kHz samples: Hardware stream → Overlapping windows: 50 ms evidence each → 10 ms hop: 100 updates per second → Queue + filters: Additional temporal behavior → Displayed trace: Motion proxy, not diagnosis. A high-level module map; comparison branches and training details are explained in the article.EVALUATION PRACTICE / E54 / MODULE MAP01 INPUT48 kHz samplesHardware stream02 MODULEOverlapping windows50 ms evidence each03 MODULE10 ms hop100 updates per second04 MODULEQueue + filtersAdditional temporal behavior05 OUTPUTDisplayed traceMotion proxy, not diagnosis
Source-grounded module map. Boxes summarize operations, not individual neurons; comparison arms and training paths are detailed below. On a small screen, scroll the diagram horizontally.
48 kHz samples — Hardware stream

The architecture in context

The system we are building

The archived acoustic report motivates an ambitious noncontact measurement application. The engineering question is narrower: how quickly can the pipeline produce a useful, calibrated estimate from a given window of data? Sampling frequency, display refresh and estimation latency are different quantities.

Who does what in the stack

Audio callback / queue
Defines the acquisition boundary.
Windowed estimator
Trades context against update rate.
Timing instrumentation
Needed to measure end-to-end delay rather than infer it from FPS.

The companion callback code copies input into a queue while writing the carrier. The main loop supplies estimation and filtering. This is a sensible starting architecture, but it needs bounded buffering, timestamps and quality flags before a display rate can be interpreted as a real-time sensing guarantee.

Framework responsibility map. Each row maps a library or custom component to its job; rows are not a sequential inference graph.
Framework responsibility map. Each row maps a library or custom component to its job; rows are not a sequential inference graph. Open full-size SVG ↗

Open up the implementation

An update rate is not physiological validity

A concrete operation-level view of this implementation; no unobserved neural architecture is implied.
A concrete operation-level view of this implementation; no unobserved neural architecture is implied. Open full-size SVG ↗

A100 Hz display update can look responsive while each estimate still depends on a 50 ms window and on callback/queue latency. Relating frequency variation to breathing adds motion geometry, multipath, microphone and loudspeaker behavior, and an independent physiological reference. None follows from the recurrence alone.

The mathematical contract

updaterate=1/hop,windowsupport=50 ms\mathrm{update rate}=1/\mathrm{hop},\qquad \mathrm{window support}=50\,\mathrm{ms}

A convincing sensor model needs a measurement chain and uncertainty analysis, not a decorative person illustration. The technical diagram therefore shows waveform acquisition, estimator support and validation boundary. Person-specific claims require synchronized reference measurements and failure cases.

Implementation and resource card

Capacity / budget
Shares E53’s 48 kHz/20 kHz/50 ms/10 ms signal path. The report is not a clinical performance dataset.
Execution evidence
This revision inspects and explains the archived implementation. It does not rerun the original workload. No unrecorded convergence time, throughput or accelerator result is supplied.
Current reproduction context
Current workstation, supplied by the author: Apple M4, 128 GB unified RAM, 40 GPU cores and 16 CPU cores. This is context for prospective reproduction, not attribution of every archived run. Python and framework versions are not fully locked for these historical sources; declarations, when available, are identified separately.

From explanation to a reproducible check

Measure callback-to-output latency with timestamps rather than frame rate. Validate on a synthetic acoustic signal first. Keep a proposed human-reference study separate from this archived prototype and avoid diagnostic claims.

Preserve input identities, configuration and failure records with the result. A successful numerical check only establishes the operation it exercises: it does not certify an entire dataset, model or deployed system. Reproduce the interface on a small deterministic input before optimizing throughput or increasing workload size.

A closer look at the implementation

The code that carries the idea

The three-line callback is deliberately small. It does not estimate respiration, guarantee bounded queue delay or synchronize a reference sensor. Overlapping 50 ms windows updated every 10 ms share most of their samples, so their errors are correlated.

Python · file · lines 80–82
def audio_callback(indata, outdata, frames, time, status):
    outdata[:] = pilot_tone.reshape(-1, 1)
    input_queue.put(indata.copy())

Verbatim archive excerpt from ghost_v2.py (companion source E53). Context-dependent historical code, not a standalone runnable program. Comments retain their original wording; the article distinguishes implemented behavior from stale or overbroad comments.

The boundary that matters

The historical report’s stronger physiological and time–frequency claims are not adopted here. A parametric single-tone estimator can exploit assumptions that a generic spectrum does not; it does not abolish uncertainty or establish medical performance. No microphone or speaker was activated for this article.

Keep building

Other posts of interest