Skip to content
Archived
Data Science
Tools
Aug 2025

qsensor-sim

A physics-based quantum sensor simulation API for GPS-denied navigation research — synthetic IMU data with quantum decoherence effects, processed through Kalman filtering and bias correction.

Private repo
GPS-denied nav
Domain
Kalman + complementary
Filters
Async, tracked
Jobs
Python 3.13
Runtime
qsensor-sim project visual

The constraint

Quantum inertial sensors are a serious answer to GPS-denied navigation, but the hardware is scarce and classified-adjacent. Anyone wanting to develop the signal processing that sits downstream of such a sensor has no data to develop against.

The approach

Simulate the sensor instead. Generate physics-based trajectories, apply realistic noise and quantum decoherence effects, then run the synthetic output through the same calibration and filtering stack real navigation data would face — Kalman filtering, complementary filtering, and bias correction — exposed as an async job API.

Architecture
Simulation runs are jobs, not requests — progress is queryable throughout.
High level
Job requestScenario configFastAPIREST gatewayCelery workerSciPy simulationRedisBroker + progressNavigation outputKalman-filteredsubmitenqueuedispatchresults
Process
  1. 1
    Model the physics, then the noise

    Generated clean trajectories first and layered noise and decoherence on top, so the ground truth stays available for evaluating the filters.

  2. 2
    Make long jobs first-class

    Pushed simulation onto Celery workers with Redis as the broker, since a physically meaningful run is not a request-response operation.

  3. 3
    Expose progress, not just results

    Added job status and progress endpoints so a caller can tell the difference between slow and stuck.

  4. 4
    Keep an HPC escape hatch

    Left an optional gRPC service alongside the REST gateway for cases where the numerical work outgrows the Python worker.

Outcomes

  • Physics-based trajectory generation with quantum decoherence modeling
  • Kalman and complementary filtering with bias correction on the processing side
  • Asynchronous job processing via Celery and Redis with progress tracking
  • FastAPI REST gateway with auto-generated docs, containerized for Docker and Kubernetes
What I'd do next
  • Validate the noise model against published characterizations of real cold-atom interferometers.
  • Add a benchmark suite comparing filter families on identical synthetic runs.
  • Ship reproducible scenario definitions so results can be cited and re-run.
Details

Built a quantum sensor simulation API for GPS-denied navigation research, generating synthetic IMU-like data with physics-based trajectories and quantum decoherence effects, then processing it through calibration and filtering to clean navigation outputs.

Implemented asynchronous job processing with Celery and Redis behind a FastAPI gateway, with progress tracking, auto-generated API docs, and Docker/Kubernetes deployment support.