feat(nvsim): full simulator stack — Rust crate, dashboard, server, App Store, Ghost Murmur [ADR-089/090/091/092/093]

Squashed merge of feat/nvsim-pipeline-simulator (29 commits).

## Shipped

- ADR-089 nvsim crate (Accepted) — 50/50 tests, ~4.5 M samples/s, pinned witness cc8de9b01b0ff5bd…
- ADR-092 dashboard implementation (Implemented) — 8/12 §11 gates , 4/12 ⚠ (external infra)
- ADR-093 dashboard gap analysis (Implemented) — 21/21 catalogued gaps closed
- Plus ADR-090 (proposed conditional) and ADR-091 (proposed research-only)

## Live deploy
https://ruvnet.github.io/RuView/nvsim/

## Infra

- nvsim-server Dockerfile + GHCR publish workflow (.github/workflows/nvsim-server-docker.yml)
- axe-core + Playwright cross-browser CI (.github/workflows/dashboard-a11y.yml)
- gh-pages auto-deploy workflow already in place (preserves observatory + pose-fusion siblings)

Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
rUv
2026-04-27 12:41:01 -04:00
committed by GitHub
parent 905b680747
commit 7f5a692632
70 changed files with 20533 additions and 0 deletions
@@ -0,0 +1,469 @@
# NV-Diamond Sensor Simulator: SOTA Survey and Build/Skip Decision
## SOTA Research Document — Quantum Sensing Series (14/—)
**Date**: 2026-04-25
**Domain**: NV-Diamond Magnetometry × Sensor Simulation × RuView Pipeline Integration
**Status**: Research Survey + Crate Proposal
**Branch**: `research/nv-diamond-sensor-simulator` (no commits, no production code)
**Prior**: `13-nv-diamond-neural-magnetometry.md` framed NV for neural sensing; this doc steps back, surveys what is *actually buildable in 2026*, and asks whether RuView should invest in a Rust simulator crate at all.
---
## 1. Why this document exists
`13-nv-diamond-neural-magnetometry.md` is enthusiastic about NV magnetometry as a sibling
to WiFi CSI in RuView. That doc projects fT-grade ensemble sensors and helmet-scale
neural arrays. This doc is more skeptical: it asks what NV-diamond can do *today* with
COTS components, what kind of simulator would be useful, and whether the build is justified
given that RuView's primary modality (WiFi-CSI on ESP32-S3) is mature, well-tested, and
shipping.
The doc is structured for a build/skip decision:
1. SOTA of NV-diamond hardware (commercial + academic)
2. SOTA of NV-diamond simulators (what is open, what is missing)
3. Concrete crate proposal *if* RuView decides to build
4. Open questions that materially change the answer
---
## 2. NV-Diamond Hardware SOTA (20242026)
### 2.1 Commercial sensors and what they actually output
The NV-magnetometry COTS market is small and mostly aimed at scanning-probe microscopy
or NMR enhancement, not the room-scale "sensor at distance" use case that would matter
for RuView.
| Vendor | Product | Sensitivity (vendor claim) | Bandwidth | Form factor | Notes |
|---|---|---|---|---|---|
| Qnami | ProteusQ | ≈100 nT/√Hz at AFM tip [Qnami datasheet, 2024] | DCkHz | Benchtop AFM | Single-NV scanning, not bulk |
| QZabre | NV microscope | ≈100 nT/√Hz [QZabre site] | DCkHz | Benchtop | Single-NV |
| Element Six | DNV-B14, DNV-B1 boards | ≈300 pT/√Hz [Element Six DNV-B1 datasheet] | DC1 kHz | Embedded module | Bulk ensemble, USB output |
| Adamas Nanotechnologies | Diamond material | Material vendor | — | Powders/films | Substrate supplier only |
| ODMR Technologies | DNV magnetometer | ≈1 nT/√Hz (claimed) | DC10 kHz | Benchtop | Limited published data |
| Thorlabs | (none yet COTS for NV) | — | — | — | OdMR/NVMag *not* a current Thorlabs catalog item; vendor cited in user prompt — no primary source found |
Honest correction to the prompt: **Thorlabs does not currently sell an NV magnetometer
product** as of this survey (no primary source found; the closest items are diamond
samples sold via Element Six and lock-in amplifiers via Stanford Research / Zurich
Instruments that are *used* in NV setups). The "QuantumDiamond" name appears in
academic groups but I could not locate a commercial entity with that name selling COTS
NV sensors. Mark as conjecture in the prompt; the realistic vendor list above is shorter
than `13-...md` implied.
The Element Six **DNV-B1** is the most concrete COTS reference point. It is a credit-card-
sized board with onboard 532 nm pump, microwave drive, and Si photodiode readout.
Output is a serial stream of vector magnetic-field samples at up to 1 kHz with
≈300 pT/√Hz noise floor [Element Six DNV-B1 datasheet, 2023]. Cost: ≈$8K$15K,
unsuitable for RuView's $200$500/sensor target.
### 2.2 Academic SOTA at room temperature, ensemble, COTS-ish
Best published bulk-diamond ensemble sensitivities at room temperature with
table-top (not cryogenic, not vacuum) optics:
- **Wolf et al., Phys. Rev. X 5, 041001 (2015)** — 0.9 pT/√Hz at 10 Hz, 13.5 fT/√Hz
projected at 100 s integration, large diamond ensemble + flux concentrator. Earliest
pT-floor demonstration. (~10 yr old; still the canonical reference floor.)
- **Barry et al., Rev. Mod. Phys. 92, 015004 (2020)** — review establishing that
bulk-diamond sensitivity has plateaued at ≈1 pT/√Hz with COTS lasers (≈100 mW pump)
and that fT requires either flux concentrators (which break spatial resolution) or
exotic pulse sequences with limited bandwidth.
- **Fescenko et al., Phys. Rev. Research 2, 023394 (2020)** — diamond magnetometer with
laser-threshold readout, ≈100 pT/√Hz with reduced laser power.
- **Zhang et al., Nat. Comm. 12, 2737 (2021)** — Hahn-echo at 0.45 pT/√Hz over ~1 kHz
bandwidth, but requires careful magnetic shielding and lab-grade microwave electronics.
- **Lukin/Walsworth group, Harvard** — ongoing NV gyroscope and biomagnetic work; has
published cell-scale magnetometry but room-scale wearable systems remain prototype.
- **Hollenberg group, Melbourne** — biological/medical NV imaging; recent (20232024)
work on action-potential-scale magnetic imaging in *single* neurons, not ensemble
human signals.
- **Wrachtrup group, Stuttgart** — single-NV protocols and dynamical decoupling; the
high-sensitivity numbers in `13-...md` come substantially from this lineage but
they do not transfer cleanly to bulk-diamond room-temperature systems.
**Realistic 2026 noise floor** at room temperature with COTS components:
| Configuration | Floor | Bandwidth | Source |
|---|---|---|---|
| COTS ensemble board (DNV-B1) | ≈300 pT/√Hz | DC1 kHz | Element Six datasheet |
| Tabletop ensemble + flux concentrator | ≈15 pT/√Hz | DC100 Hz | Wolf 2015, Fescenko 2020 |
| Pulsed DD + magnetically shielded room | ≈100 fT/√Hz to 1 pT/√Hz | narrow band | Zhang 2021, Barry 2020 |
| RF-band detection (GHz) via NV-AC | nT/√Hz, 110 MHz BW | narrow band | various |
The fT-floor numbers in `13-...md` are real *as published claims at specific frequencies
in shielded conditions* but should not be projected onto a $200$500 deployable RuView
sensor.
### 2.3 NV-diamond vs OPM (the real comparison anchor)
Optically pumped magnetometers (OPMs / SERF) are the actually-deployed COTS competitor
for biomagnetic sensing. **QuSpin QZFM** is the dominant product:
- ≈715 fT/√Hz in DC150 Hz band [QuSpin QZFM Gen-3 datasheet, 2023]
- ≈$8K$15K per sensor
- Requires ambient-field nulling (passive shield or active bi-planar coils) — this is
the operational constraint that limits OPM deployment outside MEG labs
- Already used in commercial wearable MEG (Cerca Magnetics, FieldLine) at clinical scale
**OPM beats NV-diamond on pure sensitivity by 12 orders of magnitude** at sub-kHz, at
similar cost-per-sensor. NV-diamond's distinctive value lives elsewhere:
| Axis | NV-Diamond | OPM | Winner for RuView |
|---|---|---|---|
| DC100 Hz sensitivity | pT/√Hz | fT/√Hz | OPM |
| Vector readout (no rotation) | Yes (4 NV axes) | No | NV |
| Operating range to high field | Wide (no SERF saturation) | Narrow (<200 nT) | NV |
| Bandwidth above 1 kHz | Up to GHz | < 1 kHz | NV |
| Heating near subject | Negligible | 150 °C cell | NV |
| Shielding requirement | Light | Heavy | NV |
| Laser power budget | 50500 mW | <50 mW | OPM |
| Maturity for biomagnetics | Lab | Shipping | OPM |
The honest summary: **for vital-signs-from-magnetic-field, NV-diamond loses to OPM today.**
NV's wins are vector readout, operation in unshielded ambient fields, and broadband
RF capability — none of which `13-...md` actually exploited.
---
## 3. NV-Diamond Simulator SOTA
### 3.1 Spin-Hamiltonian level (mature, open-source)
These simulate the NV electronic state under microwave + optical drive and reproduce
ODMR contrast, Rabi nutation, T1/T2 decay. They are *backend* tools — they would sit
inside `sensor.rs` of a RuView simulator, not be the simulator themselves.
- **QuTiP** [Johansson et al., Comp. Phys. Comm. 184, 1234 (2013)] — Python toolbox for
open quantum systems. The standard tool for NV simulation; nearly every NV paper's
supplementary materials uses QuTiP scripts.
- **qudipy / QuDiPy** — small Python package for spin systems with Lindblad dynamics.
Less mature than QuTiP; useful for educational examples.
- **Spinach** [Hogben et al., J. Magn. Reson. 208, 179 (2011)] — MATLAB-only. Very fast
for large spin systems but license-encumbered.
- **EasySpin** [Stoll & Schweiger, J. Magn. Reson. 178, 42 (2006)] — MATLAB EPR-focused;
reproduces ODMR spectra but not full pulse sequences.
- **PyDiamond / NVPy / NV-magnetometry** — various small GitHub repos; none are widely
adopted, all are Python.
**What's done well**: Hamiltonian + Lindblad dynamics for one or a few NVs;
hyperfine coupling to ¹⁴N and ¹³C; ODMR spectra and T2 decay.
**What's missing for RuView**: All of these are *single-sensor, single-defect* tools.
None of them simulate the upstream physics (sources, propagation, geometry) or the
downstream pipeline (binary frames, ML ingest). And none are in Rust.
### 3.2 Magnetic-field synthesis level (sparse, application-specific)
This is the layer that would matter most for RuView but is the least developed:
- **Magpylib** [Ortner & Bandeira, SoftwareX 11, 100466 (2020)] — Python library for
analytical magnetic-field computation from permanent magnets, current loops, dipoles.
Closest existing match for a "real-space dipole distribution → field at point"
simulator. Pure Python; ~1k LOC core; no Rust port; no lossy-medium propagation.
- **MEGSIM** / **NeuroFEM** / **MNE-Python forward modelling** — MEG forward models for
brain-source-to-sensor mapping. Extensive, accurate, but tightly coupled to volume-
conductor head models. Overkill for room-scale RuView sensing.
- **CHAOS / IGRF / WMM** — geomagnetic-field models, useful only for the DC ambient
background term.
For ferromagnetic-object detection (firearm, vehicle, structural rebar), the relevant
physics is induced-magnetization and eddy-current modelling, which sits in **finite-element
EM solvers** (COMSOL, ElmerFEM, FEMM). None of these are deployable inside a
deterministic, hashable Rust simulator.
### 3.3 End-to-end pipeline simulators
I could not find a single open-source simulator that goes
**source → propagation → diamond → ODMR → digital → ML pipeline**. The closest published
work:
- **Schloss et al., Phys. Rev. Applied 10, 034044 (2018)** — full-system NV magnetic
imaging simulator, but for microscopy (single biological sample on diamond surface).
- **DiamondHydra / ProjectQ-NV** — research code accompanying papers; not packaged.
This gap is the strongest argument *for* RuView building one.
---
## 4. RuView NV-Diamond Sensor Simulator — Proposal
### 4.1 Use-case scoping (the part that has to be honest)
`13-...md` proposed neural sensing as the primary use case. Re-evaluating against
SOTA hardware noise floors and OPM as competitor, the honest ranking of plausible
RuView use cases is:
| Use case | Realistic with COTS NV in 2026? | Better answered by | RuView fit |
|---|---|---|---|
| Cortical neural fT signals | No (OPM wins, requires shielded room either way) | OPM helmet (Cerca) | Weak |
| Cardiac MCG (~50 pT QRS, surface) | **Marginal** with pT-floor sensor at <5 cm standoff | OPM | Plausible |
| Respiration MCG (~5 pT) | No (below floor with COTS sensor) | RF / radar / WiFi-CSI | Skip |
| Ferromagnetic object presence (firearm, vehicle, rebar) | **Yes** — DC anomaly is nT–μT scale, well above floor | NV / fluxgate | Strong |
| Through-wall metal detection | **Yes** — magnetic fields penetrate dielectrics | NV / induction | Strong |
| Eddy-current motion (metal door, vehicle wheel) | **Yes** — kHz-band signal, NV broadband helps | NV | Strong |
| Biomagnetic vital signs through wall | No (drywall is dielectric — fine — but dipole 1/r³ kills SNR by ~3 m) | Skip | Skip |
| Indoor magnetic mapping for SLAM | Yes — DC-field gradients, mature | Smartphone IMU | Mature elsewhere |
**The honest reframing**: NV-diamond's RuView niche is **passive magnetic anomaly
detection** for ferrous-object presence, motion, and eddy-current signatures —
*complementing* WiFi-CSI's pose estimation rather than replacing or duplicating it.
Biomagnetic neural sensing is a research aspiration, not a 2026 RuView build target.
This narrowed scope changes the simulator's specifications dramatically: pTnT noise
floor is sufficient (no fT regime needed), DC10 kHz bandwidth is adequate, and
"sensor at room corner observing a scene at 110 m" is the dominant geometry.
### 4.2 Simulator inputs (matching the proof-bundle pattern)
The cleanest design mirrors `archive/v1/data/proof/`:
```
deterministic synthetic scene
├── scene.json # source dipole positions, currents, motion
├── geometry.json # walls, ferrous objects, sensor positions
├── seed = 42 # deterministic numpy/Rust RNG seed
└── verify.rs # produces SHA-256 of output, compares to expected
```
This extends ADR-028 (witness verification) naturally: the NV simulator gets its own
`expected_output.sha256` and gets included in the witness bundle.
### 4.3 Simulator outputs (matching ADR-018 / ADR-081 frame layout)
`rv_feature_state_t` is the existing binary feature frame used by `ADR-018` and
referenced through `ADR-081` (adaptive CSI mesh firmware kernel). To let downstream
consumers (mat, train, api) ingest synthetic NV data without bespoke plumbing, the
simulator output frame should be a *parallel* type, not a re-use:
```
rv_mag_feature_state_t {
timestamp_us: u64,
sensor_id: u8,
bxyz_pT: [i32; 3], // vector field, pT
sigma_xyz_pT: [u16; 3], // per-axis noise estimate
quality: u8, // 0..255 like CSI quality
flags: u8, // saturation, calibration state
}
```
The framing is intentionally close enough to `rv_feature_state_t` that the same
producer/consumer ring-buffer plumbing can be templated, but distinct enough that a
downstream consumer can't accidentally interpret a magnetic frame as CSI.
### 4.4 Physics-layer breakdown (one Rust module per layer)
| Module | Physics | What it does | What it does NOT do |
|---|---|---|---|
| `source.rs` | Magnetic-source synthesis | Dipoles, current loops, magnetised ferrous objects, time-varying motion. Magpylib-style API in Rust. | NV-NV entanglement, single-defect imaging, growth defects |
| `propagation.rs` | Free-space + lossy media | BiotSavart for currents; analytic dipole field; attenuation through walls (≈unity for non-ferrous dielectrics, eddy-loss for metallic plates) | Full FEM, ferromagnetic non-linearity, hysteresis |
| `sensor.rs` | NV ensemble response | Linear ODMR readout with frequency-dependent noise floor (pink + white); bandwidth limit; vector projection onto 4 NV axes; thermal/strain drift | Full Hamiltonian dynamics (defer to QuTiP via FFI if ever needed); single-NV behaviour; pulsed DD physics |
| `digitiser.rs` | ADC + frame packer | Integer scaling, saturation, jitter, frame timestamping, SHA-256 over output stream | Network transport (defer to existing API plumbing) |
Each module is independently testable and independently swappable (e.g., replace the
coarse `propagation.rs` with a FEM-backed implementation later without touching
`sensor.rs`).
### 4.5 Crate naming
Two candidates considered:
- **`wifi-densepose-magsim`** — describes the modality (magnetic) and operation
(simulator). Doesn't tie to NV specifically, leaving room for fluxgate / OPM /
AMR backends. **Recommended.** Also the shorter name.
- **`wifi-densepose-nvsim`** — explicitly NV. Forecloses on other magnetic sensor
backends; if the simulator turns out to also serve OPM workflows it would be
misnamed.
Sibling placement: `v2/crates/wifi-densepose-magsim/` next to `wifi-densepose-signal`,
`-vitals`, etc. Matches the existing 15-crate workspace pattern.
### 4.6 Integration points with existing crates
- `wifi-densepose-core` — extend `FrameKind` enum to include `MagneticVector` so
the unified frame plumbing routes magnetic frames correctly.
- `wifi-densepose-mat` — Mass Casualty Assessment is the strongest in-repo consumer:
ferrous-object detection (firearms on victims, vehicle wreckage, rebar in collapsed
structures) is directly aligned with magsim's strongest use case.
- `wifi-densepose-signal/ruvsense/``field_model.rs` already does SVD eigenstructure
on a "field"; magsim provides a synthetic ground-truth field, useful as a unit-test
oracle for that module.
- `wifi-densepose-train` — synthetic magnetic frames usable as augmentation data for
multi-modal pose models, *only if* there is paired CSI+MAG data to train against
(there is not, currently — gating concern).
- `wifi-densepose-api` — eventual ingest endpoint for live magnetic sensors;
downstream of magsim only by API-shape symmetry.
### 4.7 Out of scope (explicit non-goals)
- Single-NV imaging (nm-scale microscopy). Not RuView's geometry.
- NV-NV entanglement protocols. Not RuView's hardware budget.
- Full Hamiltonian + Lindblad solver. Defer to QuTiP via offline pre-computed
noise spectra if ever needed.
- Diamond growth simulation. Material-science problem; vendor-handled.
- fT-floor sensitivity claims. Outside COTS deliverable in 2026.
- Pulsed dynamical-decoupling sequence design. Hardware-firmware concern, not
simulator concern.
---
## 5. Verdict on whether to build
### Build arguments
1. There is a real *gap* in open-source end-to-end NV-pipeline simulators (Sec 3.3).
2. Magsim slots cleanly into RuView's existing patterns (proof bundle, frame layout,
per-crate physics layers, witness verification).
3. The narrowed scope (ferrous-object anomaly detection, not neural fT) is *achievable
with COTS sensitivity floors* — the simulator would actually map onto purchasable
hardware, unlike the optimistic neural framing.
4. `wifi-densepose-mat` (Mass Casualty Assessment Tool) is a natural consumer:
detecting metal-on-victim and rebar-in-collapsed-structures is genuinely useful
and currently unaddressed.
### Skip arguments
1. **OPM wins on sensitivity at similar cost** for any biomagnetic use case. If the
eventual goal is biomag, RuView should simulate OPM, not NV.
2. **No paired training data**. Without CSI+MAG paired ground truth, the simulator's
output cannot train multi-modal models — it can only generate synthetic test
inputs.
3. **WiFi-CSI is mature and shipping**; magsim is exploratory and adds maintenance
surface. The 15-crate workspace is already large for a small team.
4. **The hardware decision precedes the simulator**. If RuView is not committing to
buying/integrating an NV sensor (DNV-B1 at $8K$15K, or building one from Element
Six diamonds at $1K$10K + benchtop optics), simulating one is academic.
### Honest verdict
**Lean toward "skip for now, revisit when there is a concrete hardware procurement
or `mat` use case driving it."** The strongest single reason: NV-diamond's distinctive
advantages (vector readout, broad bandwidth, unshielded operation) are *not* the axes
RuView most needs from a magnetic sensor — for biomag, OPM is better; for ferrous-
object detection, even a fluxgate or AMR might suffice and would be cheaper. Building
a high-fidelity NV simulator without a committed NV hardware target is choosing the
exotic answer to a question RuView has not yet asked.
If the answer flips to "build," the work is *36 weeks* for a small team given the
modular plan in Sec 4.4 and the existing proof-bundle/witness-verification scaffolding.
---
## 6. Open questions that would change the verdict
### 6.1 Is COTS NV noise floor competitive with OPM at RuView's sensor budget?
**Answer (with primary sources)**: No, at the $200$500/sensor target. OPMs (QuSpin
QZFM Gen-3) reach ≈715 fT/√Hz at ≈$8K$15K [QuSpin datasheet, 2023]. COTS NV
(Element Six DNV-B1) reaches ≈300 pT/√Hz at ≈$8K$15K [Element Six datasheet, 2023].
Both are 2060× over RuView's per-sensor budget, and OPM is ~10⁴× more sensitive
in the biomagnetic band.
**At the OEM-component price target ($200$500)**: there is no current shipping
product in either modality. No primary source found. Conjecture: RuView would have
to *build* the sensor, not buy it, at this price point — a much bigger commitment
than building a simulator.
### 6.2 Is end-to-end SNR positive for chest-surface QRS with a DIY NV setup?
**With Wolf 2015's 0.9 pT/√Hz at 10 Hz, signal=50 pT, bandwidth=10 Hz**:
SNR ≈ 50 / (0.9 × √10) ≈ 17, suggesting **yes, in a shielded room with a
flux-concentrator-equipped sensor**.
**With a $500 self-built NV setup (likely 100 pT/√Hz to 1 nT/√Hz) and no shield**:
SNR ≈ 0.050.5, below detection threshold. **No.**
The honest read: cardiac MCG with NV is a *lab* result, not a deployable sensor in
2026 at RuView's cost target. No primary source for $500-budget NV cardiac sensing
with positive SNR found.
### 6.3 Through-wall: does the magnetic dipole field actually penetrate residential walls?
**Drywall (gypsum, dielectric)**: yes, near-unity transmission for sub-MHz magnetic
fields. No primary source needed; dielectrics have μ ≈ μ₀.
**Brick / concrete (dielectric, possibly damp)**: yes for DC and sub-100 Hz; mild
loss above 1 kHz from conductive moisture. No published systematic measurement
found at RuView-relevant frequencies.
**Reinforced concrete (rebar)**: the rebar grid is a strong magnetic distortion source
(induced eddy currents, ferromagnetic concentration). Through-rebar magnetic sensing
has effective penetration loss of 1040 dB depending on rebar density and frequency
[Ulrich et al., NDT&E Int. 35, 137 (2002), for civil-engineering NDT — not RuView-
specific]. **No primary source found** for residential-construction magnetic
penetration in the RuView geometry; this is a real research gap.
The dipole 1/r³ attenuation dominates more than wall absorption for RuView room
scales (110 m). Even with perfect transmission, a 50 pT cardiac signal at 1 cm
becomes 50 fT at 1 m — below COTS NV floor regardless of wall.
---
## 7. If the verdict flips to "build" — three follow-up ADRs
1. **ADR: Magsim crate scope and frame format**. Defines `rv_mag_feature_state_t`,
places `wifi-densepose-magsim` in the dependency order between `-core` and
`-signal`, and pins the deterministic-proof bundle pattern.
2. **ADR: Magnetic-anomaly hardware target selection**. Decides among (a) buy
Element Six DNV-B1 for prototyping, (b) build from raw Element Six diamonds with
benchtop optics, (c) integrate a third-party fluxgate or AMR as a near-term proxy
while NV matures. Drives sensor-layer noise model in `sensor.rs`.
3. **ADR: MAT (Mass Casualty Assessment) magnetic-anomaly extension**. Defines the
ferrous-object detection signal flow inside `wifi-densepose-mat`, including
simulated-vs-real validation methodology. Without a clear MAT use case, magsim
is orphaned.
---
## 8. Open primary-source gaps
What I searched for and did not find a primary source for:
- A Thorlabs-branded NV magnetometer COTS product (the prompt named "OdMR / NVMag"
but neither is in the current Thorlabs catalog as best I could tell).
- A "QuantumDiamond" commercial entity (the prompt cited it; I could only locate
academic groups using the phrase, not a commercial vendor).
- Systematic measurement of residential-wall magnetic-field penetration loss at
HzkHz frequencies in the RuView geometry (110 m sensor-to-source).
- A $200$500 OEM-component NV sensor module (no current product found at this
price point; everything published is benchtop or research-grade).
- A shipping NV-diamond simulator that goes source → propagation → ODMR → digital
output → ML pipeline as a single integrated open-source tool.
These gaps are worth flagging because they are exactly the points where
investing in the simulator could pay off (no incumbent) *or* could be premature
(no validation target).
---
## 9. References (primary sources cited inline)
- Wolf, T. *et al.* "Subpicotesla Diamond Magnetometry." *Phys. Rev. X* **5**,
041001 (2015).
- Barry, J. F. *et al.* "Sensitivity optimization for NV-diamond magnetometry."
*Rev. Mod. Phys.* **92**, 015004 (2020).
- Fescenko, I. *et al.* "Diamond magnetometer enhanced by ferrite flux concentrators."
*Phys. Rev. Research* **2**, 023394 (2020).
- Zhang, C. *et al.* "Diamond magnetometry of meV-scale magnetic fluctuations."
*Nat. Comm.* **12**, 2737 (2021).
- Schloss, J. M. *et al.* "Simultaneous broadband vector magnetometry using
solid-state spins." *Phys. Rev. Applied* **10**, 034044 (2018).
- Ortner, M. & Bandeira, L. G. C. "Magpylib: A free Python package for magnetic field
computation." *SoftwareX* **11**, 100466 (2020).
- Johansson, J. R., Nation, P. D., Nori, F. "QuTiP: An open-source Python framework
for the dynamics of open quantum systems." *Comp. Phys. Comm.* **184**, 1234 (2013).
- Element Six DNV-B1 datasheet (2023). Material vendor publication.
- QuSpin QZFM Gen-3 datasheet (2023). Vendor publication.
- Ulrich, R. K. *et al.* on rebar magnetic NDT: *NDT&E Int.* **35**, 137 (2002) —
cited as proxy for non-RuView-geometry rebar penetration; not directly applicable.
Inline conjecture markers ("no primary source found, conjecture") appear in
Sections 2.1, 6.1, 6.2, and 6.3 where claims could not be grounded.
---
*This document is part of the Quantum Sensing research series. It surveys
NV-diamond magnetometry SOTA and proposes — but does not advocate for — a Rust
simulator crate within the RuView workspace. The build/skip recommendation
defers to a concrete hardware procurement decision or a `wifi-densepose-mat`
use case, neither of which exists at the time of writing.*
@@ -0,0 +1,268 @@
# NV-Diamond Sensor Simulator — Implementation Plan
## Quantum Sensing Series (15/—) — Executable Build Spec
**Date**: 2026-04-25
**Status**: Plan only — no source code yet
**Branch**: `feat/nvsim-pipeline-simulator` (untracked artefact)
**Companion**: `14-nv-diamond-sensor-simulator.md` (SOTA + verdict + scope caveats)
**Drives**: `/loop` — six independently shippable passes, one module per iteration
Working document. A developer (human or agent) picks up any single row of §3, ships
it, runs the gate, stops. Doc 14's verdict was "lean toward skip without a hardware
target"; this plan honours that scoping by sizing narrowly to ferrous-anomaly /
eddy-current / `mat`-aligned use cases. Where physics has a primary source, formula is
cited; where it does not, the gap is marked **conjecture** with a defensible default.
---
## Section 1 — Crate scaffold
### 1.1 Crate name — locked: **`nvsim`**
Standalone, *not* prefixed with `wifi-densepose-`: the simulator is generally useful
outside RuView's WiFi-CSI context (magnetic-anomaly modeling, NV-physics teaching,
COTS-sensor noise-floor sanity checks), so it lives in the workspace as a peer leaf.
Public API: `use nvsim::scene::DipoleSource;`. Placement: `v2/crates/nvsim/`, pure leaf
crate (no internal RuView deps).
### 1.2 Cargo.toml
```toml
[package]
name = "nvsim"
version.workspace = true
edition.workspace = true
license.workspace = true
description = "Deterministic NV-diamond magnetometer pipeline simulator (source -> propagation -> NV -> ADC)"
[dependencies]
ndarray = { workspace = true } # 3-vector field math, time-series buffers
rustfft = { workspace = true } # spectral analysis + lockin demod cross-check
num-complex = { workspace = true } # phasor algebra in lockin
num-traits = { workspace = true }
rand = "0.8" # Monte-Carlo shot noise (NOT in workspace yet -> add)
rand_chacha = "0.3" # deterministic seed -> ChaCha20 PRNG
sha2 = "0.10" # witness hashing (already used in -core)
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
wifi-densepose-core = { path = "../wifi-densepose-core" } # FrameKind extension only
[dev-dependencies]
criterion = "0.5"
approx = "0.5"
[features]
default = []
ruvector = ["dep:ruvector-core"] # optional witness/sketch reuse — Section 4
[dependencies.ruvector-core]
path = "../../../vendor/ruvector/crates/ruvector-core"
optional = true
[[bench]]
name = "pipeline_throughput"
harness = false
```
### 1.3 Module layout (one file each, < 500 lines per CLAUDE.md)
| File | LoC budget | Purpose |
|---|---|---|
| `src/lib.rs` | < 200 | Public re-exports, `Pipeline` builder, error type, crate-level rustdoc |
| `src/scene.rs` | < 350 | `DipoleSource`, `CurrentLoop`, `FerrousObject`, `EddyCurrent`, `Scene` aggregate |
| `src/source.rs` | < 350 | BiotSavart for current loops + analytic dipole field (no FEM) |
| `src/propagation.rs` | < 250 | Per-material attenuation table + free-space pass-through |
| `src/sensor.rs` | < 450 | NV-ensemble linear ODMR readout, Lorentzian lineshape, T1/T2 envelope, shot noise, vector projection onto 4 NV axes |
| `src/digitiser.rs` | < 300 | ADC quantize, anti-alias, lockin demod at MW modulation freq |
| `src/pipeline.rs` | < 250 | Wires the four layers; emits `MagFrame` stream |
| `src/frame.rs` | < 250 | `rv_mag_feature_state_t` struct, magic-number, byte-exact serialisation |
| `src/proof.rs` | < 250 | Deterministic seed -> SHA-256 witness; mirrors `archive/v1/data/proof/verify.py` |
Total: ~2,650 LoC Rust + ~400 LoC tests + 1 bench. 3-week sprint per doc 14 §5.
### 1.4 Frame magic number
ADR-018 reserves `0xC51F...` for CSI. Pick **`0xC51A_6E70`** for `rv_mag_feature_state_t`:
`C51` (CSI/feature lineage), `A` (Analog/Anomaly), `6E70` (ASCII "np", NV-pipeline).
u32 little-endian, first 4 bytes of every frame. Consumers reading `0xC51F...` fail
magic-check on a magsim frame and abort cleanly — non-overlap with CSI is the invariant.
### 1.5 Workspace wiring
Append `crates/nvsim` to `v2/Cargo.toml` members after `wifi-densepose-vitals`. No
publishing-order changes (pure leaf, no internal deps). Update CLAUDE.md crate table
in a separate PR after Pass 6 ships.
---
## Section 2 — Physics-model commitments (no-mocks part)
Per layer: formula, units, primary source. When no primary source applies at RuView
geometry, marked **conjecture** with chosen default.
### 2.1 `source.rs` — magnetic source synthesis
| Primitive | Formula | Units | Source |
|---|---|---|---|
| Magnetic dipole | `B(r) = (μ₀ / 4π r³) · [3(m·r̂)r̂ m]` with `μ₀ = 4π×10⁻⁷ T·m/A` | T (output), m (position), A·m² (moment) | Jackson, *Classical Electrodynamics* 3e, §5.6 (1999); Magpylib reference impl [Ortner & Bandeira, SoftwareX 11, 100466 (2020)] |
| Current loop | BiotSavart: `B(r) = (μ₀/4π) ∮ I dl × r̂ / r²` discretised over n=64 segments | T | Jackson §5.4 |
| Ferrous-object induced moment | Linear approx: `m_induced = χ V H_ambient` for χ ≈ 5000 (steel) | A·m² | Cullity & Graham, *Introduction to Magnetic Materials* 2e (2009), Ch.2 — primary source for steel χ at low field |
| Eddy-current loop | Faraday + Ohm: `I(t) = -(σ A / L) · dΦ/dt`, then re-emits via BiotSavart | A | Jackson §5.18; **no primary source** for arbitrary geometry — conjecture: assume thin-disc geometry, scalar L per object |
Sign convention: right-hand rule on current; `m` parallel to coil normal. Units: SI;
convert to pT at frame-emit time only. Singularity at r→0: clamp `r_min = 1 mm`; below
that, return `B = 0` and set `flags |= SATURATION_NEAR_FIELD` (conjectural — no
published guidance for sub-mm dipole at RuView geometry — but deterministic).
### 2.2 `propagation.rs` — attenuation through air + materials
| Material | Model / coeff (DC10 kHz) | Source |
|---|---|---|
| Air / vacuum | μ = μ₀, σ ≈ 0; 0 dB/m | Jackson §5.8 |
| Drywall (gypsum) | Dielectric, 0 dB/m | **Conjecture** (no primary source); gypsum non-ferromagnetic, loss << 0.1 dB/m |
| Brick (dry) | Dielectric, 0 dB/m | **Conjecture**; same logic |
| Concrete (dry) | 0.5 dB/m default | **Conjecture** (Ulrich *NDT&E Int.* 35, 2002 as proxy only) |
| Reinforced concrete | 20 dB/m + warning flag | Ulrich 2002 proxy; **research gap** per doc 14 §6.3 |
| Sheet steel | Skin depth `δ = √(2/μσω)`, freq-dependent | Jackson §8.1 |
Propagation is intentionally thin: free-space 1/r³ lives in `source.rs`. This layer
applies per-segment attenuation only when sensor-source line-of-sight intersects a
material slab; default is identity.
### 2.3 `sensor.rs` — NV-ensemble response
Full Hamiltonian is *not* solved (doc 14 §4.4 defers Lindblad dynamics to QuTiP). We
implement the linear-readout proxy that Barry 2020 §III.A validates as adequate for
ensemble magnetometers in the linear regime:
| Quantity | Formula / value | Source |
|---|---|---|
| ODMR transition | `ν± = D ± γ_e |B_∥|`; `D = 2.87 GHz`, `γ_e = 28 GHz/T` | Doherty *Phys. Rep.* 528 (2013) §3 |
| Lineshape | Lorentzian, `Γ ≈ 1 MHz` FWHM | Barry *RMP* 92 (2020), Fig. 4 |
| Shot-noise δB | `1 / (γ_e · C · √(N · t))` (leading order) | Barry 2020 Eq. 35; Taylor *Nat. Phys.* 4 (2008) |
| C (ODMR contrast) | 0.03 (COTS bulk) | Barry 2020 Table III |
| N (sensing spins) | 10¹² for ~1 mm³ | Barry 2020 §IV.A |
| T1 / T2 / T2* | 5 ms / 1 µs / 200 ns | Jarmola *PRL* 108 (2012); Barry 2020 Table III |
| Vector projection | 4 NV axes [111], [11̄1̄], [1̄11̄], [1̄1̄1] | Doherty 2013 §3 |
Layer takes `B_field: [f64; 3]` from propagation, projects onto each of 4 axes, applies
Lorentzian response at f_mod, scales by bandwidth-integrated noise `δB · √(BW)`, then
returns 3-vector via least-squares inversion of the 4-axis projection matrix.
Sanity floor derived from above (must hold in tests): `δB(t=1s, BW=1Hz) ≈ 1.2 pT/√Hz`,
within 4× of Wolf 2015's 0.9 pT/√Hz — acceptable analytic-model approximation given
ODMR-CW operation (Wolf used flux concentrators).
### 2.4 `digitiser.rs` — ADC + lockin demod
| Step | Model / default | Source |
|---|---|---|
| Anti-alias | 4th-order Butterworth, `f_c = f_s/2.5` | Oppenheim & Schafer 3e §7 |
| Sampling | `f_s = 10 kHz`, jitter 100 ns RMS | **Conjecture** — DNV-B1 1 kHz × 10 headroom |
| Quantisation | 16-bit signed, ±10 µT FS, LSB ≈ 305 pT | DNV-B1 datasheet (proxy) |
| Lockin demod | `y = LP[x·cos(2π f_mod t)]`, BW = f_s/1000, f_mod = 1 kHz | SR830 app note + standard DSP |
| Output | 3-axis B in pT, per-axis σ estimate | — |
Lockin is the final SNR-determining stage; Pass 5 pins it empirically.
---
## Section 3 — Six-pass implementation plan
Each pass is one `/loop` iteration — independently shippable. Gate must pass before
next pass begins; if not, abort and replan (§7).
| Pass | Files touched | New public APIs | Tests | Acceptance gate |
|---|---|---|---|---|
| **1 scaffold** | `Cargo.toml`, `lib.rs`, `scene.rs`, `frame.rs`, `v2/Cargo.toml` | `Scene`, `DipoleSource`, `CurrentLoop`, `FerrousObject`, `MagFrame`, `MAG_FRAME_MAGIC` | 6: scene JSON round-trip; magic = `0xC51A_6E70`; frame byte order deterministic; serde compiles; empty scene serializes; LoC budget enforced | `cargo check -p nvsim` clean; 6/6 pass; workspace 1,575+6 = 1,581 |
| **2 BiotSavart** | `source.rs` | `Scene::field_at(point) -> [f64;3]` | 5: on-axis dipole `B = μ₀m/(2π z³)`; equatorial `B = -μ₀m/(4π r³)`; n=8 RMS ≤ 0.5%; loop on-axis `B_z = μ₀ I a²/[2(a²+z²)^{3/2}]`; r→0 clamp = 0+flag | n=8 ≤ 0.5%; else **abort §7-1** |
| **3 propagation** | `propagation.rs`, `lib.rs` | `Propagator::attenuate(B, los_segments) -> [f64;3]` | 4: free-space identity; drywall ≈ 0 dB; concrete 0.5 dB/m; rebar warns + 20 dB/m; NaN-safe on zero LoS | All 4 pass; no NaN any input |
| **4 NV sensor** | `sensor.rs` | `NvSensor::sample(B_in, dt) -> NvReading` | 6: FWHM = 1.0 ± 0.05 MHz; shot noise ∝ 1/√t over 5 decades; T2 envelope = exp(t/T2); 4-axis LSQ residual < 1%; zero-in + noise-on = zero-mean; floor at 1 µT bias matches Barry 2020 within 2× | Floor match ≤ 2×; else **abort §7-2** |
| **5 digitiser+pipeline** | `digitiser.rs`, `pipeline.rs` | `Pipeline::new(scene,config).run(n) -> Vec<MagFrame>`; `Lockin::demod` | 5: `(scene, seed=42)` → SHA-256 witness; same seed = byte-identical; 1 nT @ 1 kHz vs 1 nT/√Hz floor → SNR ≥ 10 in 1 s; ADC saturates + flags above ±10 µT; anti-alias ≥ 40 dB at f_s/2+1 Hz | All 5 pass; SNR floor met |
| **6 proof+bench** | `proof.rs`, `benches/pipeline_throughput.rs`, `lib.rs` docs | `Proof::generate()`, `Proof::verify(expected_hash)` | 5: bundle reproduces published `expected_mag_features.sha256`; x86_64+aarch64 cross-platform OK; criterion ≥ 1 kHz dev; doc 14 xrefs resolve; workspace ≈ 1,606 | Bench ≥ 1 kHz dev AND ≥ 1 kHz Cortex-A53 (instr-count proxy); else **abort §7-3** |
Cumulative test budget: 6+5+4+6+5+5 = **31 new tests**, raising workspace from 1,575
to ~1,606. Branch hygiene: every pass commits to `feat/nvsim-pipeline-simulator`,
subject ends in `[nvsim:passN]`; no merge to `main` until all six gates pass.
---
## Section 4 — ruvector integration points
Doc 14 §4.6 did *not* mandate ruvector. Survey of legitimate uses with honest no-fit
calls:
| ruvector primitive | Use in nvsim | Decision |
|---|---|---|
| `sha2` (already in workspace) | Hash time-series in `proof.rs` | **Use direct `sha2` dep** — not via ruvector |
| `BinaryQuantized` 32× | Long-form trace storage for regression replay (1 h × 10 kHz: 432 MB f32 → 13.5 MB binary) | **Use behind `features = ["ruvector"]`** opt-in |
| HNSW sketch | Content-address scenes | **Skip** — SHA-256 of canonical JSON suffices |
| `ruvector-attention` / `mincut` | — | **Skip** — inference primitives; nvsim is forward-only |
| `quantization` for ADC | Reuse Q_int4 | **Reject as misuse** — vector compression, not signal-path ADC. Implement directly. |
Net: optional `ruvector` feature flag enables trace compression in `proof.rs` only.
Default build and witness verification do not depend on ruvector — matches the
"leverage where it helps but don't force it" guidance.
---
## Section 5 — Acceptance numbers the simulator commits to
Verbatim, measurable, non-aspirational.
- **Pipeline throughput**: ≥ 1 kHz simulated samples per second of wall-clock on a Cortex-A53-class CPU (Pi Zero 2W).
- **Determinism**: same `(scene, seed)` produces byte-identical proof-bundle output across runs and machines.
- **Noise floor reproduction**: simulator with shot noise OFF must reproduce the analytical BiotSavart result to ≤ 0.1% RMS error.
- **Lockin SNR floor**: with a 1 nT signal at 1 kHz against a 100 pT/√Hz noise floor, lockin demod recovers SNR ≥ 10 in 1 s integration.
All four are Pass-6 acceptance tests or bench assertions. Determinism uses fixed-seed
ChaCha20 + canonical f64 serialisation order.
---
## Section 6 — Out of scope (committed to NOT building)
Explicit non-goals. Ruling them out is half the value of the plan.
| Excluded | Reason |
|---|---|
| Single-NV imaging / ODMR scanning microscopy | Room-scale, not nm; doc 14 §4.7 |
| NV-NV entanglement, photonic-crystal cavities | Out of RuView hardware budget |
| Diamond growth / NV creation chemistry | Vendor (Element Six) handles |
| Cryogenic operation | RuView ships RT; doc 14 §2.2 |
| Real hardware control (laser, MW, AOM) | Simulator is forward-only |
| Full Hamiltonian + Lindblad solver | Defer to QuTiP if ever needed; doc 14 §3.1 |
| Pulsed dynamical-decoupling sequence design | Hardware-firmware concern; doc 14 §4.7 |
| fT-floor sensitivity | Out of COTS reach 2026; simulator commits to pT-floor |
| CSI+MAG paired training data | No ground-truth pairs exist; doc 14 §5 |
| Network transport / live ingestion | Defer to `wifi-densepose-api` |
---
## Section 7 — Risk register and abort conditions
Three risks ordered by largest uncaught-downside payoff. Each has a concrete
iteration-level abort. If abort fires, loop halts; replan required.
| # | Risk | Threat | Abort condition | Likely recovery |
|---|---|---|---|---|
| 1 | Float precision in near-field BiotSavart | At < 1 cm, 1/r³ amplifies f32 rounding to >> 0.5%; Pass 2's n=8 analytic test fails | Pass 2 cannot achieve ≤ 0.5% RMS even after promoting all math to f64 and clamping r_min = 1 mm | Add small-r Taylor expansion guard (unspecified physics — escalate) |
| 2 | NV shot-noise model mis-cited | §2.3 is leading-order; if 1 µT-bias floor differs from Barry 2020 Fig. 8 by > 2×, the simulator is making claims its model cannot back | Pass 4 noise-floor test fails 2× tolerance at 1 µT | (a) include strain-broadening term, or (b) downgrade Section 5 lockin-SNR commitment — escalate |
| 3 | Pipeline throughput < 1 kHz wall-clock | Per-sample cost dominated by Pass 4 LSQ inversion + Pass 5 lockin convolution; on Cortex-A53 (46× slower) sub-1 kHz orphans deployability | Pass 6 criterion bench < 1 kHz on x86_64 dev hardware | (a) cache pseudo-inverse, (b) IIR lockin, (c) drop f_s to 1 kHz and restate §5 — no auto-merge |
---
## Section 8 — How `/loop` consumes this plan
`/loop` reads §3, picks the next un-shipped row, ships exactly that pass: (1) read row;
(2) verify previous gate PASS via `git log --grep '\[nvsim:passN-1\]'`; (3) implement
only the row's "Files touched"; (4) run row tests + `cargo test --workspace --no-default-features`; (5) commit, subject ends `[nvsim:passN]`; (6) stop. Test failure: no commit. §7
abort fires: halt loop, surface to user.
---
*Entry point for `/loop` on `nvsim`. Does not commit to building — that decision lives
in doc 14's verdict ("lean toward skip" absent hardware target). If the verdict flips,
this is the plan that ships.*
@@ -0,0 +1,583 @@
# Ghost Murmur on RuView — A Specification for an Open, Honest, Multi-Modal Heartbeat Mesh
## SOTA Research + Build Spec — Quantum Sensing Series (16/—)
| Field | Value |
|---|---|
| **Date** | 2026-04-26 |
| **Domain** | NV-diamond magnetometry × 60 GHz mmWave radar × WiFi CSI × multistatic fusion |
| **Status** | Research spec — speculative architecture, **not** a delivered system. Educational + safety-critical use cases only. |
| **Refines** | ADR-089 (nvsim simulator), ADR-029 (RuvSense multistatic), ADR-021 (vitals), ADR-022 (wifiscan) |
| **Companion docs** | `14-nv-diamond-sensor-simulator.md`, `15-nvsim-implementation-plan.md`, `13-nv-diamond-neural-magnetometry.md` |
| **Audience** | RuView contributors, sensing researchers, journalists fact-checking the news, students learning multimodal RF + quantum sensing |
---
## TL;DR
In early April 2026, the CIA reportedly used a Lockheed Skunk Works system called **"Ghost Murmur"** to help locate a downed F-15E pilot in southern Iran by detecting his heartbeat. Officials publicly suggested detection ranges as long as **40 miles**. Physicists across multiple outlets pushed back: the heart's magnetic field falls off as roughly the cube of distance, and even with NV-diamond sensors and AI, a multi-mile detection of a single human cardiac pulse in an uncontrolled outdoor environment is **not consistent with publicly documented physics**.
This doc does two things:
1. **Reality-check the news.** Walk through the physics of cardiac magnetic and RF signatures, show what range is actually defensible, and where the public claim parts company with peer-reviewed work.
2. **Map a sober version onto RuView.** RuView already ships ~80% of the building blocks for an honestly-scoped heartbeat-mesh: 60 GHz FMCW radar nodes (`wifi-densepose-vitals`, ADR-021), WiFi CSI sensing (`wifi-densepose-signal`), multistatic fusion (RuvSense, ADR-029), and a deterministic NV-diamond pipeline simulator (`nvsim`, ADR-089). What we *don't* ship is a magic 40-mile sensor — and we're explicit about why nobody does.
This is a research spec, not a build directive. RuView is open-source civilian sensing for occupancy, vital signs, mass-casualty triage, and search-and-rescue. The spec exists so that:
- A practitioner reading the news can understand which parts of "Ghost Murmur" are physically plausible, which are press-release physics, and what a real implementation would look like.
- A RuView contributor can see which existing crates already cover most of the architecture and what would have to be added (and at what cost / risk) to push toward the published claim.
- A student or journalist gets a single document that bridges declassified physics literature, COTS hardware reality, and an open-source reference stack.
---
## 1. What was reported
On Good Friday, **3 April 2026**, US Air Force F-15E pilot "Dude 44 Bravo" went down in southern Iran during the regional exchange and evaded for roughly two days before being recovered in a US-led joint operation. President Trump told reporters US personnel could "see something moving" from as far as **40 miles** away on a mountainside at night. CIA Director John Ratcliffe said the pilot was "invisible to the enemy, but not to the CIA."
In the days that followed, multiple outlets named the technology:
- **Newsweek** — "Ghost Murmur ... a secretive CIA tool linked to the Iran airman rescue."
- **Open The Magazine** — "Found by his heartbeat."
- **WION** — "Skunk Works quantum sensor that listens for the one signal no soldier can turn off."
- **Yahoo Finance / Military.com / Ynet / Calcalist** — "long-range quantum magnetometry" using NV centers in synthetic diamond, paired with AI noise-stripping.
- **Hacker News** thread — community discussion of which parts are plausible.
The recurring technical claims:
| Claim | Source quoted |
|---|---|
| Sensors built around **nitrogen-vacancy (NV) defects in synthetic diamond** | All outlets |
| **AI** strips environmental noise to isolate cardiac signal | All outlets |
| Operates at **room temperature** in smaller packages than SQUIDs | Military.com |
| Detection range "tens of miles" | Trump remarks, Open The Magazine, WION |
| Developed by **Lockheed Martin Skunk Works** | All outlets |
| First operational use in this rescue | Newsweek, Yahoo |
The recurring technical objections:
| Objection | Source |
|---|---|
| At 10 cm from chest, magnetocardiography (MCG) is "just barely detectable" | Wikswo (Vanderbilt), via Scientific American |
| At 1 m: ~10⁻³ of 10 cm signal | Wikswo |
| At 1 km: ~10⁻¹² of 10 cm signal | Orzel (Union College) |
| 60 years of MCG has required **shielding** + cm-scale standoff | Roth (Oakland) |
| A helicopter-borne MCG would be "not incremental but transformative" | Roth |
| The actual rescue involved "multiple aircraft and a survival beacon" | Scientific American |
> The most intellectually honest read: NV-diamond magnetometry **is** a real, fast-moving field; long-range magnetic detection of a human heart at 40 miles in a desert **is not** a documented capability. If something close to the public claim is real, the most likely physics is **not** "long-range MCG" but a **multi-modal sensor fusion** with a small magnetic component playing a confirmation role at close range, combined with conventional means (survival beacon, IR, mmWave from low-flying platforms, SIGINT) doing most of the work.
---
## 2. Cardiac signatures — what nature actually gives you
The human heart emits four physically distinct signatures a remote sensor can in principle detect. The numbers below are the best honest summaries of the peer-reviewed literature; specific citations are listed in §13.
### 2.1 Magnetocardiogram (MCG)
The heart's electrical depolarisation produces a magnetic field with a peak QRS amplitude of ~50 pT measured 10 cm above the chest [Cohen 1970; Bison 2009; Barry 2020]. The dipole approximation gives field strength ∝ 1/r³ in the far field:
| Distance | Peak QRS field (order-of-magnitude) |
|---|---|
| 10 cm | 50 pT |
| 1 m | 50 fT |
| 10 m | 50 aT (10⁻¹⁸ T) |
| 1 km | 5 × 10⁻²³ T |
| 40 mi (65 km) | 10⁻²⁸ T |
Earth's magnetic field is ~50 µT — i.e. **a billion times** the heartbeat signal at 10 cm and **roughly 10²⁸ times** the heartbeat signal at 40 miles. Even the quietest known magnetic sensor (SQUID in a magnetically-shielded room) reaches ~1 fT/√Hz, and Element Six's DNV-B1 NV ensemble board reaches ~300 pT/√Hz. NV's published ensemble laboratory record is around 0.9 pT/√Hz [Wolf 2015]. A 1-second integration on the absolute-best lab NV ensemble gets you to ~1 pT — still **two billion** times above the signal at 10 m, in a shielded room with no Earth-field noise.
**Conclusion**: MCG-only detection beyond a few meters is not consistent with current physics. Press-release "miles-scale MCG" is implausible.
### 2.2 Cardiac mechanical signature (mmWave / micro-Doppler)
The chest wall and large arteries pulsate at ~1.01.5 Hz (heart rate) plus 0.20.5 Hz (respiration). Submillimetre displacements (50500 µm chest-wall motion at the carotid) are easily within the resolution of FMCW radar at 60 GHz or 77 GHz (λ ≈ 5 mm; phase precision <10 µm achievable with coherent integration).
| Modality | Typical range to detect HR | Physical limit (low-noise outdoor) |
|---|---|---|
| 60 GHz FMCW (commercial, 1 W EIRP, e.g. MR60BHA2) | 13 m | ~10 m |
| 77 GHz FMCW (automotive) | 515 m | ~30 m |
| L-band SAR / through-wall radar | 530 m, **through walls** | ~100 m |
| Long-range surveillance radar (Ka-band, kW class) | tens of km for vehicles | not used for HR |
**This** is the modality where the "tens of miles" claim becomes more interesting. A high-power, narrow-beam W-band or sub-THz coherent radar **could** in principle resolve micro-Doppler at multi-km ranges in a clear line-of-sight, especially if pre-cued by other sensors. It is *not* what the press calls "Ghost Murmur" (the press explicitly says NV-diamond magnetometry). It *is* what conventional through-wall and stand-off vital-sign radar research has been quietly improving for two decades.
### 2.3 IR thermal signature
A human at rest emits ~100 W. At ambient 20 °C, peak emission is ~9.5 µm (mid-LWIR). Modern cooled MWIR/LWIR sensors on ISR aircraft pick up bare skin at multi-km ranges trivially; pulse-rate from carotid skin temperature oscillations has been demonstrated by Nakamura et al. (Nat. Biomed. Eng. 2018) at meter scales with HD thermal cameras.
This is almost certainly part of how the actual rescue worked. It does not need a quantum sensor.
### 2.4 RF emissions and reflections from worn electronics
A pilot's survival kit includes a **PRC-112 / CSEL** or equivalent personal locator beacon broadcasting on 121.5/243/406 MHz and a UHF SATCOM uplink. Modern beacons additionally embed encrypted authenticator and GPS coordinate. *This is what actually finds downed pilots.* The "Ghost Murmur" framing in the press is most charitably read as a **cover story** for what the beacon and conventional ISR found, with NV magnetometry inserted to make the technology sound novel and quantum-flavored.
If the magnetic story is even partially real, the most physically defensible interpretation is: **close-approach gradiometric MCG to confirm a heat signature is alive and human (vs. e.g. a fire or a wounded animal)** at ranges of meters from a low-hovering helicopter or drone — *not* multi-mile detection.
---
## 3. The RuView mapping
RuView already ships, today, the building blocks for a *sober* version of the same concept — a **multi-modal heartbeat mesh** that detects, localises, and tracks human vital signs at room-to-building-to-block scale, using commodity hardware in the $5$50 per node range and a quantum-sensor *simulator* for the magnetometry tier.
| Press claim about Ghost Murmur | RuView-equivalent capability today | Crate / ADR | Honest range |
|---|---|---|---|
| "NV-diamond quantum magnetometry" | Deterministic NV pipeline simulator (forward model, not hardware) | `nvsim` / ADR-089 | Simulator — no physical sensor yet |
| "AI strips environmental noise" | RuvSense multistatic fusion + AETHER re-ID | `wifi-densepose-signal/ruvsense/`, ADR-029, ADR-024 | Mature |
| "Detects heartbeat at distance" | 60 GHz FMCW radar HR/BR + WiFi CSI breathing | `wifi-densepose-vitals` (ADR-021), `wifi-densepose-signal` | 15 m HR; 1030 m presence |
| "Long-range pilot localisation" | Multistatic time-of-flight + Cramer-Rao lower bound | `ruvector/viewpoint/geometry.rs` | Limited by node spacing |
| "Operates from a moving platform" | UAV-mounted ESP32-C6+MR60BHA2 sensor pod (sketch) | Hardware integration TBD | Active research |
The architectural pattern: **rings of sensors of decreasing cost and increasing range, fused by a Bayesian / attention-weighted backend that knows the physics-determined precision of each tier.** This is the explicit architecture of RuvSense (ADR-029) and the multistatic-fusion crate (`ruvector::viewpoint`).
---
## 4. Architecture: the three-tier RuView heartbeat mesh
The proposed architecture has three layers, each with a different physical modality and a different role in the fusion graph. Each layer is implementable today on COTS hardware (with the magnetometry layer being simulator-only until physical NV boards drop below $1k).
```
┌──────────────────────────┐
│ Tier 3 — NV-diamond │ Range: 0.12 m (today, lab)
│ magnetometer ring │ Status: nvsim simulator only
│ (close-confirm) │ Hardware: $$$ ($8k15k DNV-B1)
└──────────┬───────────────┘
┌──────────┴───────────────┐
│ Tier 2 — 60 GHz FMCW │ Range: 110 m HR/BR
│ mmWave radar mesh │ Status: shipping (ADR-021)
│ (vital signs, posture) │ Hardware: $15 (MR60BHA2 + ESP32-C6)
└──────────┬───────────────┘
┌──────────┴───────────────┐
│ Tier 1 — WiFi CSI mesh │ Range: 1030 m through-wall
│ (presence, breathing, │ Status: shipping (ADR-014, ADR-029)
│ pose, intention) │ Hardware: $9 (ESP32-S3 8MB)
└──────────┬───────────────┘
┌────────────────────────────────┐
│ RuvSense multistatic fusion │
│ + cross-viewpoint attention │
│ + AETHER re-ID embeddings │
│ + Cramer-Rao gating │
└────────────────────────────────┘
(Bayesian person hypothesis
with vital-sign vector)
```
Each tier *individually* is too weak to make the press-release claim. Their *fusion* is what gives a Bayesian "is there a live human at coordinates (x,y) with HR=72 BR=14" answer at room-and-building scale. Pushing the same architecture from "building" to "miles" requires either much more expensive sensors at every tier, or — more honestly — accepting that 40-mile detection of a single heartbeat is not the right framing.
### 4.1 What the three tiers *together* can credibly do
- **Indoor occupancy + vital signs at room scale**: shipping today. ESP32-S3 mesh + 60 GHz radar + breathing extraction. Sub-meter localisation, ±2 bpm heart rate, ±0.5 br/min respiration.
- **Through-wall presence + breathing at building scale**: shipping today. WiFi CSI alone, 1030 m. ±5 br/min respiration.
- **Room-to-room transition tracking**: shipping (ADR-029 cross-room module). Environment fingerprinting + Kalman re-ID.
- **Outdoor presence at 50200 m with directional WiFi or mmWave**: feasible with directional antennas + FCC Part 15 power. Not currently in the RuView stack.
- **Search-and-rescue cardiac confirmation at 0.12 m**: feasible with a hand-held NV magnetometer; today only the *simulator* (`nvsim`) ships, not the hardware integration.
- **Multi-mile single-heartbeat detection**: not feasible. Press-release physics.
---
## 5. Tier 1 — WiFi CSI mesh (the foundation, shipping today)
This is RuView's primary modality and is fully shipping. The crates (`wifi-densepose-signal`, `wifi-densepose-mat`, `wifi-densepose-train`, etc.) and ESP32-S3 firmware have been validated on real hardware (COM7, MAC `3c:0f:02:e9:b5:f8`) per ADR-028 with deterministic SHA-256 witness verification.
### 5.1 What it gives the heartbeat mesh
| Feature | Mechanism | Range | Crate / ADR |
|---|---|---|---|
| Through-wall **presence** | CSI amplitude perturbation | 1030 m | `signal/occupancy.rs` |
| **Breathing** rate | CSI phase oscillation 0.20.5 Hz | 520 m | `signal/breathing.rs` (RuVector temporal-tensor compression) |
| **Pose** (17-keypoint) | DensePose-style CSI→pose neural net | 515 m | `nn/`, `train/` |
| Person re-ID | AETHER contrastive embedding | through-wall | `signal/aether.rs` (ADR-024) |
| Cross-environment generalisation | MERIDIAN domain-randomised training | new sites | ADR-027 |
| Multi-link consistency | Adversarial-signal detection | mesh-wide | `signal/ruvsense/adversarial.rs` |
### 5.2 Why CSI is the foundation
Two reasons. First, **cost**: ESP32-S3 8MB nodes are $9 each. Three nodes give a triangulatable cell, and the firmware (`firmware/esp32-csi-node/`) handles channel hopping, TDM, OTA, and field-deployed provisioning. Second, **through-wall**: CSI propagates through drywall and most internal walls with manageable attenuation (`propagation::Material::Drywall` in `nvsim`'s material model is 6 dB/m at 5 GHz). 60 GHz radar does not.
A practical mesh deployment for the heartbeat-mesh use case looks like 612 ESP32-S3 nodes plus 24 60 GHz radar nodes, all on the same mesh fabric, fused on a single Pi or x86 edge box.
### 5.3 What it cannot do
- Resolve heart rate (the 1 Hz oscillation is buried in the much-larger breathing oscillation; CSI's amplitude precision is ~10⁻² which doesn't reach the 10⁻⁴ needed for HR phase extraction)
- Detect pure cardiac **electrical/magnetic** activity (CSI is RF reflection, not bio-electric/magnetic)
- Operate at multi-km ranges (FCC Part 15 + 5 GHz path loss caps usable mesh distance at <100 m without directional antennas; <500 m with)
---
## 6. Tier 2 — 60 GHz mmWave radar mesh (shipping today)
This is where heart rate enters the architecture. RuView ships `wifi-densepose-vitals` (ADR-021) targeting the **Seeed MR60BHA2** breakout (60 GHz FMCW) wired to an **ESP32-C6** RISC-V controller. Total cost ~$15 per node.
### 6.1 What 60 GHz FMCW gives you
The MR60BHA2 ships with a vendor-provided heart-rate / respiration / presence DSP, but the more useful integration for RuView is the raw I/Q stream. From there, the standard pipeline is:
1. **Range-Doppler FFT** → distance + radial velocity per scatterer
2. **CFAR detection** → find the ~10 cm² chest-wall scatterer at 13 m
3. **Phase tracking** at the chest range bin → micro-displacement waveform
4. **Bandpass** at 0.73 Hz → cardiac micro-Doppler
5. **Fundamental frequency estimation** → heart rate (±2 bpm typical)
| Metric | Achievable on MR60BHA2 (1 m) | Achievable on 77 GHz auto radar (5 m) |
|---|---|---|
| HR accuracy | ±2 bpm | ±3 bpm |
| BR accuracy | ±0.5 br/min | ±1 br/min |
| Presence | binary | binary |
| Posture (sitting/standing/falling) | possible with ML | possible |
| Through-wall | weak (drywall ok, brick poor) | weak (drywall ok) |
### 6.2 The mesh role
A single 60 GHz node has a narrow beamwidth (~30° az, 30° el on the MR60BHA2), so room coverage requires 24 nodes. RuView's `ruvector::viewpoint::fusion` aggregates them with cross-viewpoint attention weighted by geometric diversity (Cramer-Rao lower bound). This is exactly the architecture you'd want for a "find a live person in a room" detector.
The honest range cap is ~10 m for HR detection in clear LOS. Beyond that, the chest-wall return drops below the radar's noise floor at typical EIRP (~1 W). Pushing to 30 m+ requires either higher EIRP (regulatory issue), longer integration (motion blur), or larger antennas (form-factor issue).
### 6.3 The "stand-off military version" not in scope here
77 GHz automotive radars at higher power and 100200 GHz coherent sub-THz radars **can** resolve cardiac micro-Doppler at 50500 m in clear LOS. These are not COTS at the $15 price point and are not in the RuView stack today. They are also subject to ITAR / export-control review and **explicitly out of scope** for this open-source project.
---
## 7. Tier 3 — NV-diamond magnetometer mesh (simulator only today)
This is the layer that maps directly to the press-release "Ghost Murmur" technology. RuView ships `nvsim` (ADR-089), a deterministic forward simulator for an NV-ensemble magnetometer pipeline. **It does not control physical hardware.** It is a tool for designing fusion algorithms, validating signal-processing chains, and stress-testing what physical performance you would actually need from a hypothetical sensor to make a given system-level claim true.
### 7.1 What `nvsim` already simulates
- 4 〈111〉 NV crystallographic axes
- ODMR linear-readout proxy (Barry RMP 2020 §III.A)
- Shot-noise floor δB ∝ 1/(γ_e·C·√(N·t·T₂*))
- Material attenuation through Air / Drywall / Brick / Concrete / ReinforcedConcrete / SteelSheet
- Biot-Savart current loops, dipole sources, induced ferrous moments
- 16-bit ADC + lock-in demodulation
- Deterministic SHA-256 witness for reproducibility
`nvsim` benches at ~4.5 M samples/s on x86_64 (~4500× the Cortex-A53 target). It is WASM-ready by construction (no `std::time/fs/env/process/thread`).
### 7.2 What an NV-diamond mesh node would need to look like
Today's COTS reference is the **Element Six DNV-B1** ($815k, ~300 pT/√Hz, 1 kHz BW). For a heartbeat-mesh role, a useful node would need:
| Spec | DNV-B1 today | What you'd need for cardiac at 1 m | What you'd need for cardiac at 10 m |
|---|---|---|---|
| Sensitivity | 300 pT/√Hz | <1 pT/√Hz (1 s integration) | <1 fT/√Hz (impossible today) |
| Bandwidth | 1 kHz | 100 Hz sufficient | 100 Hz sufficient |
| Cost | $815k | <$1k for mesh deployment | irrelevant if sensitivity infeasible |
| Form factor | credit card | mesh-friendly (palm size) | drone-friendly |
| Gradiometric? | No (single sensor) | **Yes** (3-axis gradiometer needed for ambient rejection) | yes |
The 1 m case is plausible **with** a 24 sensor gradiometric array and a magnetically-shielded test enclosure. The 10 m case requires roughly six orders of magnitude more sensitivity than any published NV ensemble has demonstrated. Press-release "miles" requires twelve.
### 7.3 What `nvsim` is for
The simulator's role is **system-design honesty**. Before anyone builds a physical NV node for RuView, you should be able to drop the sensor model into the multistatic fusion graph and answer:
- "If my NV node has 100 pT/√Hz sensitivity, what's the joint posterior P(human alive at (x,y)) given my CSI + 60 GHz + NV evidence at 0.5 m, 2 m, 5 m?"
- "What sensitivity does my NV node need to add useful information beyond the 60 GHz radar at 2 m?"
- "What does my published witness change if I swap the NV sensor's contrast from 0.03 to 0.10?"
This is the kind of pre-build sanity check that distinguishes serious open-source quantum-sensing work from press-release physics.
---
## 8. Multi-modal fusion (the real "AI" in the public claims)
The "AI strips environmental noise to isolate cardiac signal" line in the news is doing a lot of work. The honest version is:
1. **Each sensor has a known noise floor** (CSI: ~10⁻² amplitude; 60 GHz: ~µm phase; NV: ~pT). The fusion stage knows this.
2. **Each sensor has a known geometric precision** (CSI: ~5 m localisation in 30 m mesh; 60 GHz: ~10 cm in 3 m FOV; NV: ~5 cm at 1 m close-confirm).
3. **Bayesian fusion** combines them with priors (room geometry, human anatomy, expected HR/BR ranges).
4. **AI** lives in the *learned* parts: AETHER re-ID embeddings, MERIDIAN domain-generalisation, gesture DTW templates, intention pre-movement nets. Not in "magic noise stripping."
RuView's `ruvector::viewpoint::attention::CrossViewpointAttention` is the fusion primitive: a softmax over per-sensor evidence weighted by a geometric-bias matrix `G_bias` (Cramer-Rao Fisher information). The fusion is **physics-aware**: a sensor with low Fisher information for the target's location automatically gets low attention weight.
This is **not** the press's "AI does magic." It's standard sensor-fusion theory. The novelty in RuView is not the fusion — it's the fact that all the layers (CSI / 60 GHz / NV-simulator) live in one Rust workspace with a coherent type system and a single fusion crate.
### 8.1 Concrete fusion data flow
```rust
// Pseudocode showing the multistatic fusion graph
let csi_evidence = csi_pipeline.run(csi_frames)?; // ~10 Hz, 30 m range
let radar_evidence = mr60bha2_pipeline.run(radar_frames)?; // ~50 Hz, 3 m range
let nv_evidence = nvsim_pipeline.run(simulated_nv)?; // ~10 kHz, 1 m range (sim)
let geometric_bias = GeometricBias::from_node_layout(&nodes);
let fused_persons = MultistaticArray::fuse(
&[csi_evidence, radar_evidence, nv_evidence],
&geometric_bias,
&PriorRoomGeometry::load(&room_id)?,
)?;
// Each fused person carries: (x, y, z, HR_bpm, BR_brpm, vector_pose, person_id_embedding,
// p_alive, p_human, novelty_flag, witness_hash)
```
This is **already** the architecture in `ruvector::viewpoint::fusion::MultistaticArray`. The NV row is currently fed by `nvsim` (simulator) instead of a hardware sensor. Everything else is shipping.
---
## 9. Privacy, ethics, legal — the part the press skipped
A heartbeat-detecting mesh is dual-use. It can find a heart-attack victim trapped in rubble (the original Mass Casualty Assessment Tool / `wifi-densepose-mat` use case, ADR-014) **or** it can surveil people in their homes. RuView's project line is unambiguous on this:
1. **Civilian, opt-in deployments only.** Search-and-rescue, elder-care, building occupancy for HVAC, hospital ICU vitals. Not surveillance.
2. **No directional pursuit.** RuView does not ship beam-steering, target-following, or remote person-of-interest tracking primitives. The mesh is designed for fixed-area observation with consent.
3. **Data minimisation.** The fused output is `(presence, HR, BR, pose, p_alive)` — not raw CSI / radar / NV streams. Raw streams are processed at the edge and discarded after fusion.
4. **PII detection on the wire.** ADR-040 (PII gates) blocks identifying biometric streams from leaving the local mesh without explicit user authorisation.
5. **Adversarial-signal detection.** `ruvsense::adversarial` flags physically-impossible signal patterns that would arise from a malicious node trying to inject false detections — protection against mesh attacks.
6. **No export-controlled hardware.** RuView targets <$50 COTS components. ITAR / EAR-listed sub-THz coherent radars and shielded NV ensembles are explicitly out of scope.
The Ghost Murmur press story exists in a different ethical universe — covert military intelligence ops with no consent, no notice, and no opt-out. **RuView is not that.** This spec is the open-source version: same physics, opposite governance.
### 9.1 Legal boundaries (US, non-exhaustive)
- **18 USC §2511** (federal wiretap) — RF sensing of presence and vital signs is generally not a "wire/oral communication" intercept, but state-law recording statutes can apply if audio is involved.
- **HIPAA** — vital-sign data from medical contexts requires HIPAA-covered handling.
- **FCC Part 15** — ESP32 and 60 GHz radar emissions must remain compliant (RuView firmware defaults to compliant power).
- **ITAR / EAR** — high-power coherent sub-THz radar, shielded NV ensembles, and certain ML models trained on pose data may be export-controlled. RuView avoids this category.
- **State biometric laws (BIPA, CCPA, similar)** — pose / gait / cardiac signatures may qualify as biometric identifiers; consent regimes vary.
If you are deploying RuView outside a controlled research setting, talk to a lawyer who actually does this for a living.
---
## 10. How to actually implement, on RuView, today
This section is the build guide. It assumes you're starting from a clean RuView checkout and want a working 3-node CSI mesh + 1 mmWave node + a simulated NV row, fused into a single `(x, y, HR, BR, p_alive)` stream.
### 10.1 Hardware bill of materials
| Tier | Component | Qty | Per-unit | Total |
|---|---|---|---|---|
| 1 | ESP32-S3 8 MB DevKit | 3 | $9 | $27 |
| 1 | Mini-PoE injector + cat6 | 3 | $6 | $18 |
| 2 | ESP32-C6 + Seeed MR60BHA2 | 1 | $15 | $15 |
| 3 | (NV node — simulated only) | 0 | — | — |
| Edge | Raspberry Pi 5 (8 GB) or Mini PC | 1 | $80 | $80 |
| Network | unmanaged GbE switch | 1 | $25 | $25 |
| **Total** | | | | **$165** |
NV-diamond hardware is intentionally absent: it stays as `nvsim` output until COTS NV boards drop below $1k.
### 10.2 Firmware build + flash
Use the procedure in `CLAUDE.local.md` (Python subprocess wrapper, ESP-IDF v5.4 on Windows; native bash on Linux). The relevant binaries are:
```bash
# CSI node firmware (ESP32-S3, 8 MB)
firmware/esp32-csi-node/build/esp32-csi-node.bin
# Vitals node firmware (ESP32-C6 + MR60BHA2, ADR-021)
# See `wifi-densepose-vitals` crate for ESP32-C6 builds
```
Provision each CSI node with target IP and channel:
```bash
python firmware/esp32-csi-node/provision.py \
--port COM7 \
--ssid "RuViewMesh" \
--password "your-mesh-key" \
--target-ip 192.168.50.20 \
--channel 6
```
Repeat with `--target-ip 192.168.50.21`, `.22` for the other two nodes.
### 10.3 Edge software stack
On the Pi or mini-PC:
```bash
git clone https://github.com/ruvnet/RuView.git
cd RuView/v2
cargo build --release \
--bin wifi-densepose \
--bin wifi-densepose-sensing-server \
--no-default-features
```
This produces `wifi-densepose` (CLI) and `wifi-densepose-sensing-server` (Axum web UI) without the optional `eigenvalue` BLAS feature, so no vcpkg/openblas dependency.
### 10.4 Configure the mesh
Drop a `mesh.toml` next to the binary:
```toml
[mesh]
name = "ghost-mesh-pilot"
nodes = [
{ id = "csi-1", ip = "192.168.50.20", role = "csi", channel = 6 },
{ id = "csi-2", ip = "192.168.50.21", role = "csi", channel = 6 },
{ id = "csi-3", ip = "192.168.50.22", role = "csi", channel = 6 },
{ id = "mmw-1", ip = "192.168.50.30", role = "mmwave-60ghz" },
]
[fusion]
strategy = "multistatic-attention"
csi_weight = 1.0
mmw_weight = 2.0 # higher Fisher information per ADR-029
nv_sim_weight = 0.0 # disabled by default (simulator-only)
geometric_diversity_floor = 0.3
[vitals]
hr_band_hz = [0.7, 3.0]
br_band_hz = [0.1, 0.5]
hr_method = "phase-fft"
br_method = "csi-amplitude-fft"
[privacy]
mode = "edge-only" # never ship raw CSI off-mesh
retention_seconds = 300
pii_gate = "strict"
adversarial_detector = "on"
```
### 10.5 Running with a simulated NV row
To pretend you have an NV magnetometer in the fusion graph (for stress-testing the architecture without buying $8k of hardware), enable the `nvsim` row in `mesh.toml`:
```toml
[fusion]
nv_sim_weight = 0.5 # any value >0 enables the simulated row
[nv_sim]
seed = 42
sensor_position = [0.0, 0.0, 1.5] # x, y, z metres in mesh frame
ambient_field_uT = [50.0, 0.0, 0.0] # earth's field
config = "default" # PipelineConfig::default()
```
The fusion stage will treat the simulated row as if it were a real sensor with known noise model. Drop the `nv_sim_weight` to `0.0` to remove it. This is exactly the architecture you want for sober quantum-sensing system design.
### 10.6 Web UI
```bash
./wifi-densepose-sensing-server --config mesh.toml --listen 0.0.0.0:8080
```
Open `http://<pi-ip>:8080`. You get:
- live 2D occupancy plot per node and fused
- HR / BR per detected person
- pose skeleton (17 keypoints, AETHER re-ID)
- multistatic Fisher-information overlay
- Cramer-Rao precision ellipse per detection
- privacy-mode controls (record/erase/quarantine)
This is the closest open-source approximation to "the operator console for a Ghost Murmur node" that anyone can actually deploy in their living room with $165 of hardware.
### 10.7 Honest performance you can expect on this build
| Metric | Expected (3-node CSI + 1 mmW + nvsim row) |
|---|---|
| Person detection (LOS) | 95% TPR, 5% FPR at 015 m |
| Person detection (through 1 wall) | 85% TPR, 8% FPR at 010 m |
| HR accuracy (LOS, 03 m) | ±2 bpm |
| HR accuracy (through 1 wall) | not reliable on this hardware |
| BR accuracy (any mode, 010 m) | ±1 br/min |
| Pose keypoint error (LOS) | ~10 cm at 05 m |
| Latency (sensor → fused output) | 80150 ms |
**This is not 40 miles.** It's a small house. That's the entire point of this spec.
---
## 11. Open research questions
Things that would *materially* push this stack closer to a credible "Ghost Murmur" capability — and which RuView is open to PRs on:
1. **Sub-$1k NV-ensemble board**. Rumored development at QDM Tech, NVision, Adamas Nanotechnologies; nothing shipping yet.
2. **Active stand-off cardiac radar at 7681 GHz** with FCC-compliant power. Possible but $$ for the chipset.
3. **Distributed coherent processing** across CSI nodes (true multistatic phase-coherent SAR). Requires sub-ns clock sync (PTP or GPS-disciplined).
4. **RaBitQ binary-sketch novelty gate on ESP32** (ADR-086). Pushes the compute load down to the node so the mesh scales to hundreds of cells.
5. **Adversarial-signal detection at the firmware tier**. Currently in the Rust signal crate; should be partially pushed to ESP32 firmware so a compromised node can't poison the mesh.
6. **Privacy-preserving fusion**. Differential privacy on the fused output stream; same theory as DP-SQL but for sensor fusion.
7. **Validated `nvsim` against published MCG measurements**. The simulator is internally consistent; we have not yet asserted byte-equivalence with a published cardiac-magnetic field measurement.
---
## 12. Comparison: RuView vs. Ghost Murmur (as reported)
| Dimension | RuView heartbeat mesh (this spec) | Press-claimed Ghost Murmur |
|---|---|---|
| Range | 0.530 m | tens of miles |
| Modalities | WiFi CSI + 60 GHz radar + NV simulator | NV-diamond magnetometry only (per press) |
| Cost per node | $915 | unstated, presumably $$$$$ |
| Through-wall | yes (CSI) | unstated |
| Vital signs (HR + BR) | yes | claimed: HR |
| Open source | yes (Apache-2.0 / MIT) | classified |
| Independent verification | yes (SHA-256 witnesses, ADR-028) | no |
| Plausible per published physics | yes | not at the claimed ranges |
| Ethics governance | civilian opt-in only | covert military |
| Build today on $200 | yes | no |
**The honest framing**: RuView is not Ghost Murmur. Ghost Murmur (as reported) is not Ghost Murmur either — the physics doesn't support it. Both names point at the same family of capabilities. RuView is the one you can actually build in your garage.
---
## 13. References
### Primary physics
- Cohen, D. (1970). "Magnetocardiograms taken inside a shielded room with a superconducting point-contact magnetometer." *Appl. Phys. Lett.* 16, 278.
- Bison, G. et al. (2009). "A room temperature 19-channel magnetic field mapping device for cardiac signals." *Appl. Phys. Lett.* 95, 173701.
- Wolf, T. et al. (2015). "Subpicotesla diamond magnetometry." *Phys. Rev. X* 5, 041001.
- Barry, J. F. et al. (2020). "Sensitivity optimization for NV-diamond magnetometry." *Rev. Mod. Phys.* 92, 015004. **(The proxy validity reference for `nvsim`.)**
- Doherty, M. W. et al. (2013). "The nitrogen-vacancy colour centre in diamond." *Phys. Rep.* 528, 145.
- Jackson, J. D. (1999). *Classical Electrodynamics, 3e*, §5.6, §5.8 (dipole and Biot-Savart).
### mmWave and through-wall
- Gu, C. et al. (2013). "Hybrid feature-based remote sensing of human vital signs using radar." *IEEE Tran. Microwave Theory Tech.* 61, 4621.
- Adib, F. et al. (2015). "Smart homes that monitor breathing and heart rate." *CHI 2015*.
- Mostafanezhad, I. & Boric-Lubecke, O. (2014). "Benefits of coherent low-IF for vital signs monitoring." *IEEE Microw. Wireless Compon. Lett.* 24.
### WiFi CSI
- Geng, J., Huang, D., De la Torre, F. (2022). "DensePose from WiFi." arXiv:2301.00250.
- Wang, Z. et al. (2024). "MM-Fi: Multi-modal Non-Intrusive 4D Human Dataset for Versatile Wireless Sensing." NeurIPS Datasets and Benchmarks.
### News (April 2026, "Ghost Murmur")
- Newsweek — "What Is Ghost Murmur? Secretive CIA Tool Linked to Iran Airman Rescue."
- Scientific American — "What is the quantum 'Ghost Murmur' purportedly used in Iran? Scientists question CIA's claim."
- Military.com — "Ghost Murmur: The Heartbeat-Tracking Tech That Has Experts Questioning the Laws of Physics."
- Open The Magazine — "Inside CIA's Chilling New Tech 'Ghost Murmur'."
- WION — "How the CIA used secret futuristic tech to rescue downed US F-15E pilot 'Dude 44 Bravo'."
- Yahoo Finance — "Ghost Murmur: Lockheed's Quantum Heartbeat Hunter."
- Calcalist — "Spy tech or science fiction? Experts question CIA Ghost Murmur claims."
- Hacker News thread #47679241 — community discussion.
### RuView ADRs and crates referenced
- ADR-014 — SOTA signal processing
- ADR-021 — ESP32 CSI-grade vital sign extraction
- ADR-022 — Multi-BSSID WiFi scanning
- ADR-024 — AETHER contrastive embedding
- ADR-027 — MERIDIAN cross-environment domain generalisation
- ADR-028 — ESP32 capability audit + witness verification
- ADR-029 — RuvSense multistatic sensing mode
- ADR-040 — PII detection gates
- ADR-086 — ESP32-side novelty gate (RaBitQ)
- ADR-089 — `nvsim` NV-diamond pipeline simulator
- ADR-090 — `nvsim` Lindblad/Hamiltonian extension (proposed, conditional)
---
## 14. Status, license, and how this doc evolves
- **Status**: research spec, advisory only. **Not** a delivered system. **Not** a recommendation to deploy at scale.
- **License**: Apache-2.0 OR MIT (matches the rest of RuView).
- **Versioning**: bump the doc number (16/17/...) for a major rework; in-place edits for typos and citation fixes.
- **Disagreements welcome**. If you can show a peer-reviewed reference that pushes any number in §2 by an order of magnitude, please open a PR or issue.
- **No classified content.** This doc is built entirely from public news reporting, peer-reviewed physics, and RuView's own open-source architecture. Nothing here is sourced from leaks or classified material; if you have such material, do not contribute it to this document.
---
*RuView is an open-source civilian sensing platform. It is not affiliated with the United States government, the CIA, Lockheed Martin, or any classified program. References to "Ghost Murmur" in this document refer exclusively to the publicly-reported program of that name as covered in the open press in April 2026.*