How We Measure: The UWB Hardware Bench Reference Session
A claim without a method line and sample size is merely marketing copy. We document the physical setup, protocol handshake, and statistical distribution of our reference hardware ranging session.
The Objective: Proof of Physical ToF Yield
In RF ranging for autonomous swarms, two failure modes destroy formation integrity before an estimator can even begin: packet dropouts (missing ranging frames) and sentinel codes (unresolved time-of-flight frames where hardware returns error tokens such as 0xFFFF).
To establish our baseline empirical accuracy before flight trials, we built a dedicated hardware diagnostic session suite. Unlike quick smoke tests, this diagnostic utility inspects hardware capabilities via FiRa protocol primitives, verifies app configurations, and executes continuous two-way time-of-flight (TWR) ranging sessions.
Session Statistical Summary
204 / 205
Valid Ranging Frames
0
Sentinel Dropouts
0.722 m
Mean Measured Range
3.3 cm
Standard Deviation (σ)
The Hardware & Protocol Stack
The test bench links two production units of Luftschar's UWB unit mounted on optical rails:
- Anchor (Node 0x0): Configured as FiRa Session Controller, initiating round-trip ranging sequences.
- Tag (Node 0x1): Configured as FiRa Session Controlee, responding with precise hardware timestamp replies.
- RF Configuration: IEEE 802.15.4z HRP UWB, Channel 5 (6489.6 MHz center frequency), 6.81 Mbps data rate, 64 MHz PRF.
- Ranging Cadence: Continuous ~5.1 Hz cycle time (approx. 195 ms per complete frame exchange).
Methodology & Execution
The execution script proceeds through three deterministic checkpoints:
- Board Interrogation: Calls
CORE_GET_DEVICE_INFOandCORE_GET_CAPS_INFOto confirm firmware build, antenna delay calibrations, and protocol capabilities. - Session Configuration with Read-Back: Issues
SESSION_INITandSESSION_SET_APP_CONFIG, then reads every parameter back over SPI to eliminate silent firmware defaults. - Continuous Ranging Run: Dispatches
RANGING_STARTon both nodes and logs raw millimetre-precision ToF packets over a 40-second continuous session window.
// Bench Session Execution
uwb-session-diagnostic --range --seconds 40 --json
// Output Excerpt
total_frames: 205 | valid: 204 | sentinels: 0 | yield: 99.51%
mean: 0.7224 m | std_dev: 0.0331 m | min: 0.658 m | max: 0.789 m
What the Numbers Mean for Swarm Autonomy
A raw standard deviation of 3.3 cm (0.033 m) directly informs our formation Kalman filter covariance tuning:
- With
range_sigma = 0.033 m, the expected lateral uncertainty across our 0.45 m anchor baseline at a typical 15 m follower standoff is approximately:sigma_lateral ≈ range × range_sigma / baseline = 15.0 × 0.033 / 0.45 = 1.10 mThis enables reliable meter-level formation flight without danger of physical airframe collisions. - Zero sentinels across 205 cycles validates that our interrupt-driven SPI telemetry driver does not drop hardware packets or stall the companion computer's real-time loop.