Skip to content

Real-Time RF Directional Tracking with Multi-Modal Fusion

A Lightweight Kalman+DOMA System for Opportunistic Indoor Positioning

Benjamin J. Gilbert
College of the Mainland – Robotic Process Automation • Spectrcyde RF Quantum SCYTHE
bgilbert2@com.edu


Abstract

We present a lightweight, fully reproducible pipeline for real-time RF directional tracking that fuses Wi-Fi CSI, BLE RSSI, and UWB. A six-state constant-velocity Kalman filter with adaptive per-sensor covariance handles multi-rate, asynchronous observations; an optional DOMA neural prior provides learned dynamics for challenging kinematics. The system exposes a FastAPI WebSocket with QuestDB persistence and sustains <30 ms end-to-end latency on edge hardware. On synthetic benchmarks, we observe 15–25% ADE reductions versus single-modality baselines. All figures/tables auto-generate from logs for reviewer-safe reproducibility.

Index Terms— multi-modal fusion, Kalman filtering, Wi-Fi CSI, BLE RSSI, UWB, real-time tracking, reproducibility


I. Introduction

Opportunistic RF sensing offers low-cost situational awareness but suffers from partial observability, asynchronous rates, and nonstationary noise. Single-modality pipelines underperform when channels fade or occlude. We target a systems-first design that (i) fuses heterogeneous modalities in real time, (ii) adapts measurement noise on the fly, (iii) optionally leverages learned priors, and (iv) ships with streaming APIs and storage. The emphasis is Guangdong pragmatism: small kit, low latency, one-command reproducibility, no fragile dependencies.

III. System Architecture

A. Streaming API + Storage

  • FastAPI WebSocket for ingestion and broadcast (JSON schema; time alignment buffer).
  • Async pipeline (uvicorn + asyncio): KF updates at 20 Hz; optional DOMA on a lightweight worker; back-pressure via queues.
  • QuestDB for time-series persistence (raw measurements, filtered states, latency/accuracy telemetry).
  • Telemetry stream: position, covariance ellipsoid, per-sensor SNR, and health.

B. Runtime Envelope (Edge-Ready)

  • Latency: <30 ms p50, <50 ms p95 on low-power x86.
  • Memory: <50 MB with circular buffers.
  • CPU: <15% on a single core at 20 Hz with all three modalities enabled.

IV. Experimental Setup

  • Synthetic scene with occlusions, LOS/NLOS switches, and bursty noise.
  • Rates: Wi-Fi 10 Hz, BLE 5 Hz, UWB 20 Hz; random dropouts per modality.
  • Baselines: single-modality KF (Wi-Fi-only, BLE-only, UWB-only).
  • Variants: KF-only vs. KF+DOMA (α sweep).
  • Outputs: auto-generated figures (learning/latency curves, covariance ellipses) and JSON→TeX tables.

Headline outcome (synthetic): 15–25% ADE reduction for fused KF vs. best single-modality; additional 5–10% when enabling DOMA in high-curvature segments, with latency budget intact.


V. Reproducibility (one-command build)

# Ubuntu 22.04+ (edge box or laptop)
sudo apt-get update
sudo apt-get install -y python3-venv python3-pip

python3 -m venv rtfuse_env
source rtfuse_env/bin/activate
pip install -U pip

# App + deps
pip install fastapi uvicorn[standard] pydantic==2.* numpy scipy
pip install filterpy questdb

# (Optional) DOMA prior
pip install torch --index-url https://download.pytorch.org/whl/cpu

# Run QuestDB (local)
docker run -d --name questdb -p 9000:9000 -p 8812:8812 questdb/questdb:latest

# Launch server
export FUSE_RATE_HZ=20
export QUESTDB_URL=http://localhost:9000
uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 1

Artifacts: make all (or python tools/run_bench.py) emits figures/, metrics/, and tex/ with ADE/FDE tables, latency histograms, and per-sensor SNR traces. JSON→TeX is auto-rendered for drop-in IEEE submission.


VI. Limitations and Future Work

  • Opportunistic geometry can be ambiguous in sparse AP layouts; add floor-plan priors or radio-SLAM to tighten observability.
  • BLE variance estimator assumes stationary statistics over WWW; explore GARCH-style volatility for rapid dynamics.
  • UWB bias under NLOS needs robust gating; integrate RANSAC-EKF or heavy-tailed likelihoods.
  • DOMA currently single-agent; extend to multi-target JPDA and mmWave angle-doppler fusion.

Leave a Reply

Your email address will not be published. Required fields are marked *